Ukwandisa ukuxinana kwesikhongozeli kwi-node usebenzisa iteknoloji ye-PFCACHE

Ukwandisa ukuxinana kwesikhongozeli kwi-node usebenzisa iteknoloji ye-PFCACHE

Enye yeenjongo zomnikezeli wokubamba kukwandisa ukusetyenziswa kwezixhobo ezikhoyo ukwenzela ukubonelela ngenkonzo esemgangathweni kubasebenzisi bokugqibela. Izibonelelo zeeseva zokugqibela zihlala zilinganiselwe, kodwa inani leenkonzo zabaxhasi ababanjwe, kwaye kwimeko yethu sithetha ngeVPS, inokwahluka kakhulu. Funda malunga nendlela yokukhwela umthi kwaye utye i-burger phantsi kokusikwa.

I-Compacting VPS kwi-node ngendlela yokuba abathengi bangayiboni konke konke kunceda kakhulu ukunyusa ukusebenza kwezoqoqosho kunoma yimuphi umnikezeli wokubamba. Ewe kunjalo, i-node ayifanele igqabhuke kwi-seams ukuba igcwele izikhongozeli, kwaye nakuphi na ukunyuka komthwalo kuvakala kwangoko ngabo bonke abathengi.

Zingaphi iiVPS ezinokubanjwa kwindawo enye kuxhomekeke kwizinto ezininzi, ezicacileyo ezinje:

1. Iimpawu ze-hardware ye-node ngokwayo
2. Ubungakanani beVPS
3. Ubume bomthwalo kwiVPS
4. Itekhnoloji yesoftware enceda ukwandisa ukuxinana

Kule meko, siya kwabelana ngamava ethu okusebenzisa iteknoloji yePfcache yeVirtuozzo.
Sisebenzisa isebe le-6, kodwa yonke into ethethiweyo iyinyani nakwi-7.

Pfcache -Umatshini weVirtuozzo onceda ukuphinda i-IOPS kunye ne-RAM kwizikhongozeli, ukwaba iifayile ezifanayo kwizikhongozeli kwindawo eqhelekileyo eyahlukileyo.

Enyanisweni ibandakanya:
1. Ikhowudi ye-kernel
2. Idemon yendawo yomsebenzisi
3. Izinto eziluncedo kwisithuba somsebenzisi

Kwicala le-node, sinikezela icandelo elipheleleyo apho iifayile ziya kwenziwa eziya kusetyenziswa ngokuthe ngqo yi-VPS yonke kwi-node. Isixhobo sebhloko seploop sixhonywe kweli candelo. Ke, xa isikhongozeli siqala, sifumana ireferensi yeli candelo:

[root@pcs13 ~]# cat /proc/mounts
...
/dev/ploop62124p1 /vz/pfcache ext4 rw,relatime,barrier=1,data=ordered,balloon_ino=12 0 0
...
/dev/ploop22927p1 /vz/root/418 ext4 rw,relatime,barrier=1,data=ordered,balloon_ino=12,pfcache_csum,pfcache=/vz/pfcache 0 0
/dev/ploop29642p1 /vz/root/264 ext4 rw,relatime,barrier=1,data=ordered,balloon_ino=12,pfcache_csum,pfcache=/vz/pfcache 0 0
...

Nazi iinkcukacha-manani eziqikelelwayo kwinani leefayile kwenye yeendawo zethu zokuhlala:

[root@pcs13 ~]# find /vz/pfcache -type f | wc -l
45851
[root@pcs13 ~]# du -sck -h /vz/pfcache
2.4G    /vz/pfcache
2.4G    total

Umgaqo wepfcache umi ngolu hlobo lulandelayo:
β€’ I-daemon yendawo yomsebenzisi Pfcached ibhala i-hash ye-sha-1 yefayile kuphawu lwe-xattr lwale fayile. Ayizizo zonke iifayile eziqhutyelwa phambili, kodwa kuphela kwi / usr, / bin, / usr / sbin, / sbin, / lib, / lib64 abalawuli

β€’ Kusenokwenzeka ukuba iifayile ezikolu luhlu ziya β€œkwabelwana” kwaye ziya kusetyenziswa zizikhongozeli ezininzi;

β€’ I-Pfcached ngamaxesha athile iqokelela iinkcukacha-manani kwiifayile zokufunda kwi-kernel, iyihlalutye, kwaye yongeze iifayile kwi-cache ukuba zisetyenziswa rhoqo;

β€’ Aba balawuli banokwahluka kwaye baqwalaselwe kwiifayile zoqwalaselo.

β€’ Xa ufunda ifayile, iyakhangelwa ukuba iqulethe i-hash ekhankanyiweyo kwi-xattr yeempawu ezongeziweyo. Ukuba iqulethe, ifayile "jikelele" ivuliwe endaweni yefayile yesikhongozeli. Olu tshintsho lwenzeka lungaqatshelwanga yikhowudi yesikhongozeli kwaye lufihlwe kwi-kernel;

β€’ Xa ubhalela ifayile, i-hash ayisebenzi. Ke, kwixesha elizayo xa uyivula, ifayile yesikhongozeli ngokwayo iya kuvulwa, hayi i-cache yayo.

Ngokugcina iifayile ezabelwana ngazo kwi-/vz/pfcache kwi-cache yekhasi, sifezekisa ukugcinwa kule cache ngokwayo, kunye nokugcinwa kwe-IOPS.Esikhundleni sokufunda iifayile ezilishumi kwidiski, sifunda enye, ngokukhawuleza iya kwi-cache yekhasi.

struct inode {
...
 struct file             *i_peer_file;
...
};
struct address_space {
...
 struct list_head        i_peer_list;
...
}

Uluhlu lwe-VMA lwefayile luhlala lungatshatanga (sikhupha inkumbulo) kwaye ifundwa kwidiski rhoqo (ukugcina i-iops). Ingxowa-mali yethu eqhelekileyo ifumaneka kwi-SSD - inzuzo eyongezelelweyo kwisantya.

Umzekelo wogcino lwefayile ye/bin/bash:

[root@pcs13 ~]# ls -li /vz/root/2388/bin/bash
524650 -rwxr-xr-x 1 root root 1021112 Oct  7  2018 /vz/root/2388/bin/bash
[root@pcs13 ~]# pfcache dump /vz/root/2388 | grep 524650
8e3aa19fdc42e87659746f6dc8ea3af74ab30362 i:524650      g:1357611108  f:CP
[root@pcs13 ~]# sha1sum /vz/root/2388/bin/bash
8e3aa19fdc42e87659746f6dc8ea3af74ab30362  /vz/root/2388/bin/bash
[root@pcs13 /]# getfattr -ntrusted.pfcache /vz/root/2388/bin/bash
# file: vz/root/2388/bin/bash
trusted.pfcache="8e3aa19fdc42e87659746f6dc8ea3af74ab30362"
[root@pcs13 ~]# sha1sum /vz/pfcache/8e/3aa19fdc42e87659746f6dc8ea3af74ab30362
8e3aa19fdc42e87659746f6dc8ea3af74ab30362  /vz/pfcache/8e/3aa19fdc42e87659746f6dc8ea3af74ab30362

Sibala ukusebenza kakuhle kokusetyenziswa iskripthi esenziwe eselenziwe.

Esi script sidlula kuzo zonke izikhongozeli kwi-node, sibala iifayile ezigciniweyo zesikhongozeli ngasinye.

[root@pcs16 ~]# /pcs/distr/pfcache-examine.pl
...
Pfcache cache uses 831 MB of memory
Total use of pfcached files in containers is 39837 MB of memory
Pfcache effectiveness: 39006 MB

Ke, kwimemori sigcina malunga ne-40 gigabytes yeefayile kwizikhongozeli; ziya kulayishwa kwi-cache.

Ukuze le ndlela isebenze ngakumbi, kuyimfuneko ukubeka eyona VPS "efanayo" kwi-node. Umzekelo, ezo umsebenzisi angenalo ufikelelo lweengcambu kunye nalapho imeko-bume esuka kumfanekiso osetyenzisiweyo iqwalaselwe.

Unokwenza ipfcache ngokusebenzisa ifayile yoqwalaselo
/etc/vz/pfcache.conf

MINSIZE, MAXSIZE - ubuncinane / ubukhulu befayile ye-caching
TIMEOUT – ixesha liphelile phakathi kwemizamo yecaching

Ungajonga uluhlu olupheleleyo lweeparamitha ikhonkco.

umthombo: www.habr.com

Yongeza izimvo