Auka ílátsþéttleika á hnút með því að nota PFCACHE tækni

Auka ílátsþéttleika á hnút með því að nota PFCACHE tækni

Eitt af markmiðum hýsingaraðilans er að hámarka nýtingu núverandi búnaðar til að veita endanotendum hágæða þjónustu. Aðföng endaþjóna eru alltaf takmörkuð, en fjöldi hýstra viðskiptavinaþjónustu, og í okkar tilfelli erum við að tala um VPS, getur verið verulega mismunandi. Lestu um hvernig á að klifra í trénu og borða hamborgara undir skerinu.

Að þjappa VPS á hnút á þann hátt að viðskiptavinum finnst það alls ekki hjálpar til við að auka efnahagslega frammistöðu hvers hýsingaraðila. Auðvitað ætti hnútur ekki að springa í saumana ef hann er troðfullur af ílátum og allir viðskiptavinir finna strax fyrir hvers kyns aukningu á álagi.

Hversu mörg VPS er hægt að hýsa á einum hnút fer eftir mörgum þáttum, svo augljósum eins og:

1. Eiginleikar vélbúnaðar hnútsins sjálfs
2. VPS stærð
3. Eðli álags á VPS
4. Hugbúnaðartækni sem hjálpar til við að hámarka þéttleika

Í þessu tilviki munum við deila reynslu okkar af notkun Pfcache tækni fyrir Virtuozzo.
Við notum 6. grein, en allt sem sagt er á líka við um 7. grein.

Pfcache – Virtuozzo vélbúnaður sem hjálpar til við að afrita IOPS og vinnsluminni í gámum, úthluta eins skrám í gámum á sérstakt sameiginlegt svæði.

Í raun samanstendur það af:
1. Kjarnakóði
2. User-space púki
3. Notendarýmisveitur

Á hnúthliðinni úthlutum við heilum hluta þar sem skrár verða búnar til sem verða notaðar beint af öllum VPS á hnútnum. Block ploop tæki er fest í þessum hluta. Síðan, þegar ílátið byrjar, fær það tilvísun fyrir þennan hluta:

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

Hér eru áætluð tölfræði um fjölda skráa á einum af hnútunum okkar:

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

Meginreglan um pfcache er sem hér segir:
• Notendarýmispúkinn Pfcached skrifar sha-1 kjötkássa skráarinnar í xattr eiginleika þessarar skráar. Ekki eru allar skrár unnar, heldur aðeins í /usr, /bin, /usr/sbin, /sbin, /lib, /lib64 möppunum

• Líklegast er að skrárnar í þessum möppum verði "samnýtt" og verði notaðar af nokkrum gámum;

• Pfcached safnar reglulega tölfræði um lestur skráa úr kjarnanum, greinir hana og bætir skrám við skyndiminni ef þær eru notaðar oft;

• Þessar möppur geta verið mismunandi og eru stilltar í stillingarskrám.

• Þegar skrá er lesin er athugað hvort hún innihaldi tilgreint kjötkássa í xattr útvíkkuðu eigindunum. Ef hún inniheldur er „almenna“ skráin opnuð í stað gámaskrárinnar. Þessi skipting á sér stað án þess að gámakóðann tekur eftir og er falin í kjarnanum;

• Þegar skrifað er í skrá er hassið ógilt. Þannig næst þegar þú opnar hana verður gámaskráin sjálf opnuð en ekki skyndiminni hennar.

Með því að geyma samnýttar skrár frá /vz/pfcache í síðu skyndiminni náum við sparnaði í þessu skyndiminni sjálfu, sem og sparnaði í IOPS Í stað þess að lesa tíu skrár af diski lesum við eina sem fer strax í síðu skyndiminni.

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

VMA listinn fyrir skrána er einn (við aftöldum minni) og er lesinn af diski sjaldnar (sparar iops). Sameiginlegur sjóður okkar er staðsettur á SSD - auka hraðaaukning.

Dæmi um að vista /bin/bash skrána í skyndiminni:

[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

Við reiknum út hagkvæmni notkunar tilbúið handrit.

Þetta handrit fer í gegnum alla gáma á hnútnum og reiknar út skyndiminni skrár hvers gáms.

[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

Þannig vistum við úr minni um 40 gígabæta af skrám í gámum; þær verða hlaðnar úr skyndiminni.

Til að þetta vélbúnaður virki enn betur er nauðsynlegt að setja „samsömustu“ VPS á hnútinn. Til dæmis, þær sem notandinn hefur ekki rótaraðgang að og þar sem umhverfið frá uppsettu myndinni er stillt á.

Þú getur stillt pfcache í gegnum stillingarskrána
/etc/vz/pfcache.conf

MINSIZE, MAXSIZE – lágmarks-/hámarksskráarstærð fyrir skyndiminni
TIMEOUT – tími á milli tilrauna í skyndiminni

Þú getur skoðað allan lista yfir færibreytur по ссылке.

Heimild: www.habr.com

Bæta við athugasemd