Fampitomboana ny hatevin'ny kaontenera amin'ny node mampiasa teknolojia PFCACHE

Fampitomboana ny hatevin'ny kaontenera amin'ny node mampiasa teknolojia PFCACHE

Ny iray amin'ireo tanjon'ny mpamatsy fampiantranoana dia ny hampitombo ny fampiasana ny fitaovana efa misy mba hanomezana serivisy avo lenta ho an'ny mpampiasa farany. Ny loharanon'ny mpizara farany dia voafetra foana, fa ny isan'ny serivisy mpanjifa fampiantranoana, ary amin'ny tranga misy antsika dia miresaka momba ny VPS isika, dia mety tsy mitovy. Vakio ny fomba hianika ny hazo sy hihinana burger eo ambanin'ny tapaka.

Ny fampifanarahana ny VPS amin'ny node amin'ny fomba izay tsy tsapan'ny mpanjifa dia manampy betsaka amin'ny fampitomboana ny fahombiazan'ny mpanome fampiantranoana rehetra. Mazava ho azy fa tsy tokony ho vaky amin'ny seam ny node iray raha feno kaontenera feno kaontenera, ary ny firongatry ny entana dia tsapa avy hatrany ny mpanjifa rehetra.

Ny isan'ny VPS azo apetraka amin'ny node iray dia miankina amin'ny lafin-javatra maro, toy ny hoe:

1. Toetran'ny fitaovana amin'ny node
2. Haben'ny VPS
3. Toetran'ny entana amin'ny VPS
4. Teknolojia rindrambaiko izay manampy amin'ny fanatsarana ny hakitroky

Amin'ity tranga ity, hizara ny traikefanay amin'ny fampiasana ny teknolojia Pfcache ho an'ny Virtuozzo izahay.
Ampiasainay ny sampana faha-6, fa izay rehetra voalaza dia marina ihany koa amin'ny faha-7.

Pfcache - mekanika Virtuozzo izay manampy amin'ny fanesorana IOPS sy RAM ao anaty kaontenera, mizara rakitra mitovy amin'ny kaontenera ho faritra iraisana.

Raha ny marina dia misy:
1. Kaody kernel
2. Devoly mpampiasa-space
3. Fampiasam-bolan'ny mpampiasa

Eo amin'ny lafiny node, dia manome fizarana iray manontolo izay hamoronana rakitra izay hampiasain'ny VPS mivantana rehetra amin'ny node. Misy fitaovana block ploop napetraka amin'ity fizarana ity. Avy eo, rehefa manomboka ny kaontenera, dia mahazo reference ho an'ity fizarana ity:

[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
...

Ireto misy antontan'isa eo ho eo amin'ny isan'ny rakitra amin'ny iray amin'ireo nodesy:

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

Ny fitsipiky ny pfcache dia toy izao manaraka izao:
β€’ Ny daemon mpampiasa-space Pfcached dia manoratra ny hash sha-1 an'ny rakitra amin'ny toetra xattr an'ity rakitra ity. Tsy ny rakitra rehetra no voahodina, fa ao amin'ny lahatahiry / usr, / bin, / usr / sbin, / sbin, / lib, / lib64 ihany.

β€’ Azo inoana fa ny rakitra ao amin'ireo lahatahiry ireo dia "zaraina" ary hampiasain'ny kaontenera maromaro;

β€’ Manangona tsindraindray ny antontan'isa momba ny famakiana rakitra avy amin'ny kernel ny Pfcached, manadihady izany ary manampy rakitra ao amin'ny cache raha ampiasaina matetika;

β€’ Ireo lahatahiry ireo dia mety ho hafa ary amboarina amin'ny fichier configuration.

β€’ Rehefa mamaky rakitra iray, dia hojerena raha misy ny hash voatondro ao amin'ny xattr extended attributes. Raha misy izany dia misokatra ny rakitra "general" fa tsy ny rakitra container. Ity fanoloana ity dia mitranga tsy voamariky ny code container ary miafina ao anaty kernel;

β€’ Rehefa manoratra amin'ny rakitra iray dia tsy manan-kery ny hash. Noho izany, amin'ny manaraka rehefa manokatra azy ianao, dia ny fichier container mihitsy no hosokafana, fa tsy ny cache.

Amin'ny fitazonana ny rakitra zaraina avy amin'ny /vz/pfcache ao amin'ny cache pejy, dia mahazo tahiry ao amin'io cache io mihitsy isika, ary koa ny tahiry ao amin'ny IOPS. Raha tokony hamaky rakitra folo avy amin'ny kapila isika, dia mamaky iray, izay mankany amin'ny cache pejy avy hatrany.

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

Ny lisitry ny VMA ho an'ny rakitra dia mijanona ho tokana (esorinay ny fitadidiana) ary vakiana matetika avy amin'ny kapila (mitahiry iops). Ny tahirim-bola iraisanay dia hita amin'ny SSD - tombony fanampiny amin'ny hafainganam-pandeha.

Ohatra amin'ny cache ny rakitra /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

Kajy ny fahombiazan'ny fampiasana script efa vonona.

Ity script ity dia mandalo amin'ny kaontenera rehetra amin'ny node, kajy ny rakitra voatahiry ao amin'ny container tsirairay.

[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

Noho izany, avy amin'ny fitadidiana dia mitahiry rakitra 40 gigabytes eo amin'ny kaontenera isika; ho entina avy amin'ny cache izy ireo.

Mba hahafahan'ity mekanika ity hiasa tsara kokoa, ilaina ny mametraka ny VPS "mitovy" indrindra amin'ny node. Ohatra, ireo izay tsy ananan'ny mpampiasa ny fidirana amin'ny fakany ary ny tontolo iainana avy amin'ny sary napetraka.

Azonao atao ny manitsy ny pfcache amin'ny alΓ lan'ny rakitra config
/etc/vz/pfcache.conf

MINSIZE, MAXSIZE - haben'ny rakitra faran'izay kely indrindra ho an'ny caching
TIMEOUT – fiatoana eo anelanelan'ny andrana cache

Azonao jerena ny lisitry ny mason-tsivana feno rohy.

Source: www.habr.com

Add a comment