Maqaalkan, waxaan ku sharxi doonaa xaalad dhawaan ka dhacday mid ka mid ah adeegayaasha daruuraha VPS-ga, taasoo igu qasabtay saacado badan. Waxaan dejinayay oo aan xal u raadinayay adeegayaasha muddo 15 sano ah. Linux, laakiin kiiskani haba yaraatee kuma habboona shaqadayda - waxaan sameeyay dhowr mala-awaal oo been ah, waxaana xoogaa quus ahaa ka hor intaanan si sax ah u aqoonsan sababta dhibaatada oo aan xalliyo.
Horudhac
Waxaan ku shaqaynaa daruur dhexdhexaad ah, taas oo aan ku dhisno server-yada caadiga ah ee leh qaabka soo socda: 32 cores, 256 GB RAM, iyo 4 TB PCI-E Intel P4500 NVMe drive. Runtii aad ayaan u jecelnahay qaabeyntan sababtoo ah waxay meesha ka saaraysaa baahida IO iyadoo la hubinayo in si habboon loo leexiyo heerka tusaale ahaan VM. Tan iyo markii Intel NVMe Waxay leedahay waxqabad cajiib ah, waxaan isku mar ku siin karnaa labadaba bixinta IOPS buuxa ee mishiinada iyo kaydinta kaydinta serfarka kaydka ah ee eber IOWAIT.
Waxaan ka mid nahay kuwa hore ee aan isticmaalin SDN hyperconverged ama kuwa kale ee casriga ah, moodada, qalabyada dhalinyarada si ay u kaydiyaan qiyaasaha VM, iyaga oo aaminsan in nidaamka fudud, ay sahlan tahay in la xalliyo marka "gurugu uu tago buuraha." Natiijo ahaan, waxaanu ku kaydinay mugga VM qaabka QCOW2 ee XFS ama EXT4, kaas oo la dhigay dusha sare ee LVM2.
Waxa kale oo nalagu qasbay in aan u isticmaalno QCOW2 badeecada aan u isticmaalno abaabulka-Apache CloudStack.
Si aan u samayno gurmad, waxaanu u qaadanaa mug buuxa oo mug leh sidii sawir LVM2 ah (haa, waan ognahay in sawirada LVM2 ay gaabis yihiin, laakiin Intel P4500 ayaa sidoo kale naga caawinaysa halkan). Waxaan sameynaa lvmcreate -s .. iyo iyadoo la kaashanayo dd Waxaan u dirnaa kaydinta server fog oo leh kaydinta ZFS. Waxoogaa horumar ah ayaanu halkan ku soconaa—ZFS waxa ay ku kaydin kartaa xogta qaab la isku riixay, waxaanan si dhakhso ah u soo celin karnaa anagoo isticmaalayna DD ama soo saar mugga VM-ga gaarka ah adigoo isticmaalaya mount -o loop ....
Dabcan, ma qaadan kartid sawir buuxa oo ah mugga LVM2, laakiin ku dheji nidaamka faylka qaabka
ROoo koobiyi sawirada QCOW2 laftooda. Si kastaba ha ahaatee, waxaan la kulanay xaalado ay tani sababto in XFS ay xumaato, isla markiiba ma aha, laakiin si lama filaan ah. Runtii ma jecli marka ay martigeliyaha hypervisor-ku si lama filaan ah u qaboojiyaan maalmaha fasaxa ah, habeenkii, ama inta lagu jiro fasaxyada sababtoo ah khaladaadka dhacaya wakhti aan la garanayn. Sidaa darteed, uma isticmaalno kor u qaadista sawir-qaadista ee XFS.ROsi loo soo saaro mugga, laakiin si fudud u koobiyee dhammaan mugga LVM2.
Xaaladeena, xawaaraha kaydinta ee kaydka kaydka waxaa lagu go'aamiyaa waxqabadka server-ka kaydka ah, kaas oo qiyaastii ah 600-800 MB/s xogta aan la koobi karin. Xaddidaad dheeri ah waa kanaalka 10 Gbit/s ee isku xidha server-ka kaydinta iyo kutlada.
Isla mar ahaantaana, 8 nuqul oo kayd ah ayaa lagu soo shubayaa hal server oo kayd ah isla waqtigaas. adeegayaasha Hypervisors. Sidaa darteed, diskka iyo nidaamyada hoose ee server-ka kaydka ah, inkastoo ay gaabis yihiin, waxay ka hortagayaan in nidaamyada hoose ee disk-yada martigeliya hypervisor-ka ay culays badan saaraan, maadaama aysan si fudud u maarayn karin, tusaale ahaan, 8 GB/sec, oo martigeliya hypervisor-ku si fudud u maarayn karaan.
Habka nuqulka kore aad buu muhiim ugu yahay sheekada dheeriga ah, oo ay ku jirto faahfaahinta - iyadoo la adeegsanayo darawal degdeg ah Intel P4500, adoo isticmaalaya NFS iyo, malaha, isticmaalaya ZFS.
Taariikhda kaabta
Node kasta oo hypervisor ah waxaanu ku haynaa qayb yar oo SWAP ah oo ah 8 GB, waxaanan "la bixinaa" noodhka hypervisor laftiisa anagoo adeegsanayna DD Laga soo bilaabo sawir sare. Mugga nidaamka ee server-yada, waxaan u isticmaalnaa 2xSATA SSD RAID1 ama 2xSAS HDD RAID1 LSI ama kontaroolaha qalabka HP. Asal ahaan, ma daneyno waxa gudaha ku jira, maadaama mugga nidaamku uu ku shaqeeyo qaab "ku dhawaad wax-akhris-kaliya", marka laga reebo isdhaafsiga. Oo maadaama aan haysano RAM badan oo server-ka ah oo ay tahay 30-40% bilaash, kama werweeyno isdhaafsiga.
Habka abuurista nuqul kaabtaHawshani waxay u eegtahay sidatan:
#!/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-snapU fiirso ionice -c3, Dhab ahaantii, shaygani gabi ahaanba waa wax aan faa'iido lahayn aaladaha NVMe, maadaama jadwalka IO iyaga loo dejiyay sida:
cat /sys/block/nvme0n1/queue/scheduler
[none] Si kastaba ha ahaatee, waxaan haynaa tiro ka mid ah qanjidhada dhaxalka ah oo leh SSD RAID-yada caadiga ah, iyaga tani waa mid khuseysa, markaa waa la dhaqaajinayaa. SIDA UU YAHAY. Guud ahaan, waa uun gabal xiisa leh oo kood ah oo sharxaya wax aan waxba tarayn ionice haddii ay dhacdo qaabeynta noocaas ah.
U fiirso calanka iflag=direct si ay u DDWaxaan si toos ah u isticmaalnaa IO anagoo ka gudbayna khasnadda kaydka si aan uga fogaano beddelka kaydka IO ee aan loo baahnayn markaad wax akhrinayso. Si kastaba ha ahaatee, oflag=direct Ma samayno tan sababtoo ah waxaan la kulannay arrimo wax qabad xagga ZFS markii la isticmaalayo.
Waxaan si guul ah u isticmaalnay nidaamkan dhowr sano iyadoon wax dhibaato ah la kulmin.
Kadibna way bilaabatay…Waxaan ogaanay in kaydintu ay istaagtay mid ka mid ah noodhka, iyo kaydkii hore ay ku dhammaatay IOWAIT bahalnimo ah oo ku dhow 50%. Anagoo isku daynayna inaan ogaano sababta kaabisyadu aysan u dhacayn, waxaan la kulanay ifafaalaha soo socda:
Volume group "images" not foundWaxaan bilownay inaan u maleyno in Intel P4500 uu dhintay, laakiin ka hor inta aan la xirin server-ka si loo beddelo darawalka, waxaan wali u baahanahay inaan sameyno nuqul. Waxaan hagaajinay LVM2 anagoo dib u soo celinay xogta badan ee kaydka LVM2:
vgcfgrestore imagesWaxaan bilownay gurmad waxaana aragnay sawirkan:

Aad ayaan u murugoonnay mar kale- way caddahay inaanan sidan ku noolaan karin, maadaama dhammaan VPS-yadu ay dhibi doonaan, taasna waxay la macno tahay inaan sidoo kale dhibtoon doono. Waxa dhacay gabi ahaanba ma cadda- iostat Waxay muujisay IOPS naxariis leh iyo IOWAIT-sare. Maan lahayn fikrado kale oo aan ahayn "aan beddelno NVMe," laakiin markaas waxaan lahaa waxyi.
Falanqaynta xaaladda tallaabo tallaabo
Joornaal taariikhi ahDhowr maalmood ka hor, VPS weyn oo leh 128 GB oo RAM ah ayaa loo baahan yahay in lagu sameeyo server-kan. Xusuustu waxay u muuqatay mid ku filan, laakiin sida cabbirka badbaadada, 32 GB oo dheeraad ah ayaa loo qoondeeyay isku beddelasho. VPS ayaa la abuuray, si guul leh u dhammaysay hawsheeda, dhacdadana waa la ilaaway, laakiin qaybta isdhaafsiga ayaa hadhay.
Astaamaha HabayntaDhammaan adeegayaasha daruuraha, cabbirka vm.swappiness waxaa loo dejiyay qiimaha caadiga ah 60Waxaana SWAP lagu abuuray SAS HDD RAID1.
Maxaa dhacay (sida ay qabaan tafatirayaasha)Marka dib loo celinayo DD waxay soo saartay xog badan oo lagu qoro, taas oo lagu dhejiyay kaydinta RAM ka hor inta aan loo qorin NFS. Kernelka nidaamka, oo ay hagayso siyaasaddu swappiness, waxay dhaqaajisay bogag badan oo xusuusta VPS ah si ay u beddesho booska, kaas oo ku yaal aayar HDD RAID1 mugga. Tani waxay sababtay IOWAIT inay si aad ah u korodho, ma aha NVMe IO awgeed, laakiin ay ugu wacan tahay HDD RAID1 IO.
Sida dhibka loo xaliyayQaybtii isdhaafsiga 32GB waa la joojiyay. Tani waxay qaadatay 16 saacadood. Waxaad ka akhrisan kartaa sida iyo sababta qaybta isdhaafsiga ay aad u gaabis tahay in si gooni ah loo joojiyo. Halbeegyada waa la bedelay. swappiness qiimo la mid ah 5 daruurtii oo dhan.
Sidee taasi u dhici wayday?Marka hore, haddii SWAP ay ku jirtay SSD RAID ama aaladda NVMe, iyo marka labaad, haddii aysan jirin aalad NVMe ah, laakiin aalad gaabis ah oo aan awoodi doonin inay xakameyso mugga xogtan oo kale — si la yaab leh, dhibaatadu waxay kacday sababtoo ah NVMe aad ayuu u dhakhso badan yahay.
Intaa ka dib, wax walbaa waxay bilaabeen inay u shaqeeyaan sidii hore - iyadoo eber IOWAIT ah.
Source: www.habr.com
