Npo iwuwo eiyan lori ipade kan nipa lilo imọ-ẹrọ PFCACHE

Npo iwuwo eiyan lori ipade kan nipa lilo imọ-ẹrọ PFCACHE

Ọkan ninu awọn ibi-afẹde ti olupese alejo gbigba ni lati mu iwọn lilo ohun elo ti o wa tẹlẹ pọ si lati le pese iṣẹ didara ga si awọn olumulo ipari. Awọn orisun ti awọn olupin ipari nigbagbogbo ni opin, ṣugbọn nọmba ti awọn iṣẹ alabara ti gbalejo, ati ninu ọran wa a n sọrọ nipa VPS, le yatọ ni pataki. Ka nipa bi o ṣe le gun igi naa ki o jẹ burger labẹ gige.

Compacting VPS lori ipade kan ni iru ọna ti awọn alabara ko ni rilara rẹ rara ṣe iranlọwọ pupọ lati mu iṣẹ-aje ti olupese alejo gbigba pọ si. Nitoribẹẹ, ipade kan ko yẹ ki o bu ni awọn okun ti o ba ti kun fun awọn apoti, ati pe eyikeyi ẹru ninu ẹru ni o ni rilara lẹsẹkẹsẹ nipasẹ gbogbo awọn alabara.

Awọn VPS melo ni o le gbalejo lori ipade kan da lori ọpọlọpọ awọn ifosiwewe, iru awọn ti o han bi:

1. Awọn abuda ti awọn hardware ti awọn ipade ara
2. VPS iwọn
3. Iseda ti fifuye lori VPS
4. Awọn imọ-ẹrọ sọfitiwia ti o ṣe iranlọwọ lati mu iwuwo pọ si

Ni idi eyi, a yoo pin iriri wa ti lilo imọ-ẹrọ Pfcache fun Virtuozzo.
A lo ẹka 6th, ṣugbọn ohun gbogbo ti a sọ tun jẹ otitọ fun 7th.

Pfcache - ẹrọ Virtuozzo kan ti o ṣe iranlọwọ lati yọkuro IOPS ati Ramu ninu awọn apoti, pinpin awọn faili kanna ni awọn apoti sinu agbegbe ti o wọpọ lọtọ.

Ni otitọ o ni:
1. Ekuro koodu
2. User-aaye eṣu
3. Olumulo-aaye igbesi aye

Ni apa ipade, a pin gbogbo apakan ninu eyiti awọn faili yoo ṣẹda ti yoo lo taara nipasẹ gbogbo VPS lori ipade. Ohun elo ploop Àkọsílẹ ti wa ni gbigbe ni apakan yii. Lẹhinna, nigbati eiyan ba bẹrẹ, o gba itọkasi fun apakan yii:

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

Eyi ni awọn iṣiro isunmọ lori nọmba awọn faili lori ọkan ninu awọn apa wa:

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

Ilana ti pfcache jẹ bi atẹle:
• Daemon Pfcached olumulo-aaye kọ hash sha-1 ti faili naa si ẹda xattr ti faili yii. Kii ṣe gbogbo awọn faili ti wa ni ilọsiwaju, ṣugbọn nikan ni / usr, / bin, / usr/sbin, / sbin, / lib, / lib64 awọn ilana

• O ṣeese julọ pe awọn faili ti o wa ninu awọn ilana wọnyi yoo jẹ "pin" ati pe yoo jẹ lilo nipasẹ awọn apoti pupọ;

• Pfcached lorekore n gba awọn iṣiro lori kika awọn faili lati ekuro, ṣe itupalẹ rẹ, ati ṣafikun awọn faili si kaṣe ti wọn ba lo nigbagbogbo;

• Awọn ilana wọnyi le yatọ ati pe a tunto ni awọn faili iṣeto ni.

• Nigbati o ba n ka faili kan, o ṣayẹwo boya o ni hash ti a sọ pato ninu awọn abuda ti o gbooro sii xattr. Ti o ba wa ninu rẹ, faili “gbogbo” wa ni ṣiṣi dipo faili eiyan naa. Iyipada yii waye laisi akiyesi nipasẹ koodu eiyan ati pe o farapamọ sinu ekuro;

Nigba kikọ si faili kan, hash naa di asan. Nitorinaa, nigbamii ti o ṣii, faili eiyan funrararẹ yoo ṣii, kii ṣe kaṣe rẹ.

Nipa titọju awọn faili pinpin lati / vz/pfcache ni kaṣe oju-iwe, a ṣe aṣeyọri awọn ifowopamọ ninu kaṣe yii funrararẹ, bakanna bi awọn ifowopamọ ni IOPS. Dipo kika awọn faili mẹwa lati disk, a ka ọkan, eyiti o lọ lẹsẹkẹsẹ si kaṣe oju-iwe naa.

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

Atokọ VMA fun faili naa wa ni ẹyọkan (a yọkuro iranti) ati pe a ka lati disiki kere si nigbagbogbo (fifipamọ awọn iops). Owo-owo ti o wọpọ wa lori SSD - ere afikun ni iyara.

Apẹẹrẹ fun fifipamọ faili / 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

A ṣe iṣiro ṣiṣe ti lilo setan-ṣe akosile.

Iwe afọwọkọ yii lọ nipasẹ gbogbo awọn apoti ti o wa lori ipade, ṣe iṣiro awọn faili ti a fi pamọ ti eiyan kọọkan.

[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

Nitorinaa, lati iranti a fipamọ nipa 40 gigabytes ti awọn faili ninu awọn apoti; wọn yoo kojọpọ lati kaṣe.

Fun ẹrọ yii lati ṣiṣẹ paapaa dara julọ, o jẹ dandan lati gbe VPS “aami” julọ julọ sori ipade. Fun apẹẹrẹ, awọn si eyiti olumulo ko ni iwọle root ati lori eyiti a ti tunto agbegbe lati aworan ti a fi ranṣẹ.

O le tune pfcache nipasẹ faili atunto
/etc/vz/pfcache.conf

MINSIZE, MAXSIZE – kere/o pọju iwọn faili fun caching
ÀKỌ́ – àkókò kúkúrú láàárín àwọn ìgbìyànjú caching

O le wo atokọ ni kikun ti awọn paramita asopọ.

orisun: www.habr.com

Fi ọrọìwòye kun