Tòrr de RAM an-asgaidh, NVMe Intel P4500 agus tha a h-uile dad gu math slaodach - an sgeulachd mu sgaradh iomlaid neo-shoirbheachail

San artaigil seo, bruidhnidh mi mu shuidheachadh a thachair o chionn ghoirid le aon de na frithealaichean anns an sgòth VPS againn, a dh ’fhàg mi air mo stad airson grunn uairean a thìde. Tha mi air a bhith a 'rèiteachadh agus a' fuasgladh luchd-frithealaidh Linux airson timcheall air 15 bliadhna, ach chan eil a 'chùis seo a' freagairt air mo chleachdadh idir - rinn mi grunn bharailean meallta agus fhuair mi beagan èiginn mus b 'urrainn dhomh adhbhar na duilgheadas a dhearbhadh gu ceart agus fuasgladh fhaighinn air. .

Preamble

Bidh sinn ag obrachadh sgòth meadhanach mòr, a bhios sinn a’ togail air frithealaichean àbhaisteach leis an rèiteachadh a leanas - 32 cores, 256 GB RAM agus draibhear 4500TB PCI-E Intel P4 NVMe. Is fìor thoil leinn an rèiteachadh seo oir tha e a’ cur às don fheum a bhith draghail mu IO os cionn le bhith a’ toirt seachad an cuingealachadh ceart aig ìre seòrsa eisimpleir VM. Air sgàth NVMe Intel P4500 le coileanadh iongantach, is urrainn dhuinn an dà chuid solar IOPS iomlan a thoirt do dh’ innealan agus stòradh cùl-taic gu frithealaiche cùl-taic le neoni IOWAIT.

Tha sinn mar aon de na seann chreidmhich sin nach bi a’ cleachdadh SDN hyperconverged agus rudan òigridh eireachdail, fasanta eile airson leabhraichean VM a stòradh, a’ creidsinn mar as sìmplidhe a bhios an siostam, is ann as fhasa a bhios e fuasgladh fhaighinn air fo chumhachan “tha am prìomh guru air falbh. dha na beanntan." Mar thoradh air an sin, bidh sinn a’ stòradh leabhraichean VM ann an cruth QCOW2 ann an XFS no EXT4, a tha air a chleachdadh air mullach LVM2.

Feumaidh sinn cuideachd QCOW2 a chleachdadh leis an toradh a bhios sinn a’ cleachdadh airson orcastra - Apache CloudStack.

Gus cùl-taic a dhèanamh, bidh sinn a’ toirt làn ìomhaigh den tomhas-lìonaidh mar dhealbh LVM2 (tha, tha fios againn gu bheil dealbhan LVM2 slaodach, ach tha an Intel P4500 gar cuideachadh a-muigh an seo cuideachd). Nì sinn lvmcreate -s .. agus le cuideachadh dd bidh sinn a’ cur an leth-bhreac cùl-taic gu frithealaiche iomallach le stòradh ZFS. An seo tha sinn fhathast beagan adhartach - às deidh a h-uile càil, faodaidh ZFS dàta a stòradh ann an cruth teann, agus is urrainn dhuinn a thoirt air ais gu sgiobalta le bhith a ’cleachdadh DD no faigh meudan VM fa leth a’ cleachdadh mount -o loop ....

Faodaidh tu, gu dearbh, chan e an ìomhaigh iomlan den tomhas-lìonaidh LVM2 a thoirt air falbh, ach cuir suas an siostam faidhle anns an fhaidhle RO agus dèan lethbhreac de na h-ìomhaighean QCOW2 iad fhèin, ge-tà, bha sinn an aghaidh an fhìrinn gun do dh'fhàs XFS dona bho seo, agus chan ann sa bhad, ach ann an dòigh nach gabh a thuigsinn. Cha toil leinn e gu mòr nuair a bhios hypervisor a’ cumail “maide” gu h-obann air deireadh-sheachdainean, air an oidhche no air saor-làithean air sgàth mhearachdan nach eil soilleir cuin a thachras iad. Mar sin, airson XFS cha bhith sinn a’ cleachdadh snapshot sreap a-steach RO gus leabhraichean a thoirt a-mach, bidh sinn dìreach a’ dèanamh lethbhreac den leabhar LVM2 gu lèir.

Tha astar cùl-taic don t-seirbheisiche cùl-taic air a dhearbhadh sa chùis againn le coileanadh an t-seirbheisiche cùl-taic, a tha timcheall air 600-800 MB / s airson dàta do-chreidsinneach; is e cuingealaiche eile an sianal 10Gbit / s leis a bheil an frithealaiche cùl-taic ceangailte ris a' chnuasaich.

Anns a ’chùis seo, thèid lethbhric cùl-taic de 8 frithealaichean hypervisor a luchdachadh suas aig an aon àm gu aon fhrithealaiche cùl-taic. Mar sin, chan eil na fo-shiostaman diosc agus lìonra den t-seirbheisiche cùl-taic, le bhith nas slaodaiche, a’ leigeil le fo-shiostaman diosc an luchd-aoigheachd hypervisor cus luchdachadh, leis nach urrainn dhaibh dìreach 8 GB / diog a phròiseasadh, a dh’ fhaodas an hypervisor a chumail gu furasta. toradh.

Tha am pròiseas copaidh gu h-àrd glè chudromach airson an sgeulachd eile, a’ toirt a-steach mion-fhiosrachadh - a’ cleachdadh draibhear Intel P4500 luath, a’ cleachdadh NFS agus, is dòcha, a’ cleachdadh ZFS.

Sgeulachd cùl-taic

Air gach nód hypervisor tha sgaradh beag SWAP againn de 8 GB ann am meud, agus bidh sinn “a’ sgaoileadh a-mach ”an nód hypervisor fhèin a’ cleachdadh DD bhon ìomhaigh iomraidh. Airson meud an t-siostaim air frithealaichean, bidh sinn a’ cleachdadh 2xSATA SSD RAID1 no 2xSAS HDD RAID1 air rianadair bathar-cruaidh LSI no HP. San fharsaingeachd, chan eil dragh sam bith oirnn dè a tha a-staigh, leis gu bheil meud an t-siostaim againn ag obair ann am modh “cha mhòr leughadh a-mhàin”, ach a-mhàin SWAP. Agus leis gu bheil tòrr RAM againn air an fhrithealaiche agus gu bheil e 30-40% an-asgaidh, chan eil sinn a’ smaoineachadh air SWAP.

Pròiseas cùl-taic. Tha an obair seo a’ coimhead rudeigin mar seo:

#!/bin/bash

mkdir -p /mnt/backups/volumes

DIR=/mnt/images-snap
VOL=images/volume
DATE=$(date "+%d")
HOSTNAME=$(hostname)

lvcreate -s -n $VOL-snap -l100%FREE $VOL
ionice -c3 dd iflag=direct if=/dev/$VOL-snap bs=1M of=/mnt/backups/volumes/$HOSTNAME-$DATE.raw
lvremove -f $VOL-snap

Thoir aire dha ionice -c3, gu dearbh, tha an rud seo gu tur gun fheum airson innealan NVMe, leis gu bheil an clàr-ama IO dhaibh air a shuidheachadh mar:

cat /sys/block/nvme0n1/queue/scheduler
[none] 

Ach, tha grunn nodan dìleab againn le SSD RAID àbhaisteach, dhaibhsan tha seo buntainneach, agus mar sin tha iad a’ gluasad MAR A THA. Gu h-iomlan, is e dìreach pìos còd inntinneach a tha seo a tha a’ mìneachadh an àm ri teachd ionice ann an cùis a leithid de rèiteachadh.

Thoir aire don bhratach iflag=direct airson DD. Bidh sinn a’ cleachdadh IO dìreach a’ dol seachad air an tasgadan bufair gus bufairs IO a sheachnadh nuair a bhios iad a’ leughadh. Ach, oflag=direct chan eil sinn a chionn 's gun do thachair sinn ri cùisean coileanaidh ZFS nuair a bhios sinn ga chleachdadh.

Tha sinn air a bhith a’ cleachdadh an sgeama seo gu soirbheachail airson grunn bhliadhnaichean gun duilgheadasan.

Agus an uairsin thòisich e... Fhuair sinn a-mach nach robh taic aig aon de na nodan tuilleadh, agus bha am fear roimhe a’ ruith le IOWAIT monstrous de 50%. Nuair a bha sinn a’ feuchainn ri tuigsinn carson nach eil copaidh a’ tachairt, thachair sinn ris an iongantas a leanas:

Volume group "images" not found

Thòisich sinn a’ smaoineachadh mu dheidhinn “tha an deireadh air tighinn airson an Intel P4500,” ge-tà, mus do chuir sinn dheth an t-seirbheisiche an àite an draibhidh, bha e fhathast riatanach cùl-taic a dhèanamh. Shuidhich sinn LVM2 le bhith ag ath-nuadhachadh meata-dàta bho chùl-taic LVM2:

vgcfgrestore images

Chuir sinn cùl-taic air bhog agus chunnaic sinn an dealbh ola seo:
Tòrr de RAM an-asgaidh, NVMe Intel P4500 agus tha a h-uile dad gu math slaodach - an sgeulachd mu sgaradh iomlaid neo-shoirbheachail

A-rithist bha sinn gu math brònach - bha e soilleir nach b’ urrainn dhuinn a bhith beò mar seo, leis gum biodh na VPS gu lèir a’ fulang, agus tha sin a’ ciallachadh gum biodh sinn a’ fulang cuideachd. Tha na thachair gu tur neo-shoilleir - iostat sheall e IOPS truagh agus an IOWAIT as àirde. Cha robh beachdan sam bith ann ach “cuireamaid an àite NVMe,” ach thachair sealladh dìreach ann an tìde.

Mion-sgrùdadh air an t-suidheachadh ceum air cheum

Iris eachdraidheil. Beagan làithean roimhe sin, air an t-seirbheisiche seo bha e riatanach VPS mòr a chruthachadh le 128 GB RAM. Bha coltas gu robh cuimhne gu leòr ann, ach airson a bhith air an taobh shàbhailte, thug sinn seachad 32 GB eile airson an sgaradh suaip. Chaidh an VPS a chruthachadh, chrìochnaich e an obair gu soirbheachail agus chaidh an tachartas a dhìochuimhneachadh, ach dh'fhuirich an sgaradh SWAP.

Feartan rèiteachaidh. Airson a h-uile seirbheisiche sgòthan am paramadair vm.swappiness chaidh a shuidheachadh gu bunaiteach 60. Agus chaidh SWAP a chruthachadh air SAS HDD RAID1.

Dè thachair (a rèir an luchd-deasachaidh). Nuair a nì thu cùl-taic DD rinn sinn tòrr dàta sgrìobhaidh, a chaidh a chuir ann am bufairs RAM mus deach a sgrìobhadh gu NFS. Bun an t-siostaim, air a stiùireadh le poileasaidh swappiness, a’ gluasad mòran dhuilleagan de chuimhne VPS chun raon suaip, a bha suidhichte air tomhas slaodach HDD RAID1. Dh'adhbhraich seo gu robh IOWAIT a’ fàs gu làidir, ach chan ann air sgàth IO NVMe, ach air sgàth IO HDD RAID1.

Mar a chaidh an duilgheadas fhuasgladh. Chaidh an sgaradh suaip 32GB a chuir à comas. Thug seo 16 uairean; faodaidh tu leughadh air leth mu ciamar agus carson a tha SWAP a’ tionndadh dheth cho slaodach. Chaidh na roghainnean atharrachadh swappiness gu luach co-ionann 5 air feadh an neòil.

Ciamar nach b’ urrainn seo tachairt?. An toiseach, nam biodh SWAP air inneal SSD RAID no NVMe, agus san dàrna àite, mura robh inneal NVMe ann, ach inneal nas slaodaiche nach toireadh a leithid de dhàta a-mach - gu h-ìoranta, thachair an duilgheadas leis gu bheil an NVMe sin ro luath.

Às deidh sin, thòisich a h-uile càil ag obair mar roimhe - le neoni IOWAIT.

Source: www.habr.com

Cuir beachd ann