E hoʻonui ana i ka nui o ka pahu ma ka node me ka ʻenehana PFCACHE

E hoʻonui ana i ka nui o ka pahu ma ka node me ka ʻenehana PFCACHE

ʻO kekahi o nā pahuhopu o ka mea hoʻolako kikowaena e hoʻonui i ka hoʻohana ʻana i nā mea hana i hiki ke hāʻawi i ka lawelawe kiʻekiʻe i nā mea hoʻohana hope. He palena mau nā kumuwaiwai o nā kikowaena hope, akā ʻo ka helu o nā lawelawe mea kūʻai aku i hoʻokipa ʻia, a i kā mākou hihia ke kamaʻilio nei mākou e pili ana iā VPS, hiki ke ʻokoʻa. E heluhelu e pili ana i ka piʻi ʻana i ka lāʻau a ʻai i ka burger ma lalo o ka ʻoki.

ʻO ka hoʻopili ʻana i ka VPS ma kahi node i ke ʻano o ka manaʻo ʻole o nā mea kūʻai aku e kōkua nui i ka hoʻonui ʻana i ka hana hoʻokele waiwai o kēlā me kēia mea hoʻolako kikowaena. ʻO kaʻoiaʻiʻo, ʻaʻole pono e pohā ka node i nā hili inā piha ia i nā ipu, a ʻike koke ʻia ka piʻi ʻana o ka ukana e nā mea kūʻai aku a pau.

ʻEhia ka nui o nā VPS e hiki ke hoʻokipa ʻia ma hoʻokahi node e pili ana i nā kumu he nui, e like me nā mea maopopo e like me:

1. Nā hi'ohi'ona o ka lako o ka node pono'ī
2. Nui VPS
3. Ke ano o ka ukana ma ka VPS
4. Nā ʻenehana lako polokalamu e kōkua i ka hoʻonui ʻana i ka nui

Ma kēia hihia, e kaʻana like mākou i kā mākou ʻike no ka hoʻohana ʻana i ka ʻenehana Pfcache no Virtuozzo.
Hoʻohana mākou i ka lālā 6, akā ʻoiaʻiʻo nā mea a pau i ʻōlelo ʻia no ka 7th.

Pfcache - kahi hana Virtuozzo e kōkua ana i ka wehe ʻana i ka IOPS a me ka RAM i loko o nā pahu, e hoʻokaʻawale i nā faila like i loko o nā pahu i kahi ʻāpana maʻamau.

ʻOiaʻiʻo, aia nā:
1. Code kernel
2. Mea hoʻohana-wahi daimonio
3. Mea hoʻohana-space pono

Ma ka ʻaoʻao node, hoʻokaʻawale mākou i kahi ʻāpana holoʻokoʻa e hana ʻia ai nā faila e hoʻohana pono ʻia e nā VPS āpau ma ka node. Hoʻokomo ʻia kahi hāmeʻa block ploop ma kēia ʻāpana. A laila, ke hoʻomaka ka pahu, loaʻa iā ia kahi kuhikuhi no kēia ʻāpana:

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

Eia nā ʻikepili pili i ka helu o nā faila ma kekahi o kā mākou node:

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

ʻO ke kumu o ka pfcache penei:
• Kākau ʻo Pfcached daemon mea hoʻohana i ka hash sha-1 o ka faila i ka ʻano xattr o kēia faila. ʻAʻole i hoʻoponopono ʻia nā faila a pau, akā aia wale nō ma nā papa kuhikuhi / usr, / bin, / usr / sbin, / sbin, / lib, / lib64.

• 'O ka mana'o paha e "ka'ana 'ia" nā faila ma kēia mau papa kuhikuhi a ho'ohana 'ia e kekahi mau pahu;

• ʻOhi ʻo Pfcached i kēlā me kēia manawa i nā helu helu no ka heluhelu ʻana i nā faila mai ka kernel, kānana ia, a hoʻohui i nā faila i ka huna huna inā hoʻohana pinepine ʻia;

• He ʻokoʻa paha kēia mau papa kuhikuhi a hoʻonohonoho ʻia i nā faila hoʻonohonoho.

• I ka heluhelu ʻana i kahi faila, nānā ʻia inā loaʻa ka hash i ʻōlelo ʻia ma nā ʻano hoʻonui xattr. Inā loaʻa iā ia, wehe ʻia ka faila "general" ma kahi o ka faila pahu. ʻAʻole ʻike ʻia kēia hoʻololi e ka code pahu a hūnā ʻia i loko o ka kernel;

• Ke kākau ʻana i kahi faila, ʻaʻole ʻae ʻia ka hash. No laila, i ka manawa aʻe e wehe ai ʻoe, e wehe ʻia ka faila pahu, ʻaʻole kāna huna.

Ma ka mālama ʻana i nā faila mai /vz/pfcache i loko o ka ʻaoʻao huna, loaʻa iā mākou ka mālama kālā ma kēia cache ponoʻī, a me ka mālama ʻana i IOPS.

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

Hoʻokahi wale nō ka papa inoa VMA no ka faila (hoʻokaʻawale mākou i ka hoʻomanaʻo) a heluhelu pinepine ʻia mai ka diski (mālama iops). Aia kā mākou kālā maʻamau ma kahi SSD - he loaʻa hou i ka wikiwiki.

Ka laʻana no ka mālama ʻana i ka faila /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

E helu mākou i ka pono o ka hoʻohana palapala i makaukau.

Hele kēia palapala i nā pahu a pau ma ka node, e helu ana i nā faila huna o kēlā me kēia pahu.

[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

No laila, mai ka hoʻomanaʻo ʻana mākou e mālama ai ma kahi o 40 gigabytes o nā faila i loko o nā pahu; e hoʻouka ʻia lākou mai ka cache.

No ka hana maikaʻi ʻana o kēia mīkini, pono e kau i ka VPS "like" loa ma ka node. No ka laʻana, ʻaʻole i loaʻa i ka mea hoʻohana ke kumu aʻa a kahi i hoʻonohonoho ʻia ai ke kaiapuni mai ke kiʻi i kau ʻia.

Hiki iā ʻoe ke hoʻolohe i ka pfcache ma o ka faila config
/etc/vz/pfcache.conf

MINSIZE, MAXSIZE - ka liʻiliʻi / ka nui o ka faila no ka caching
TIMEOUT – hoʻopau i ka manawa ma waena o nā hoʻāʻo ʻana i ka cache

Hiki iā ʻoe ke nānā i ka papa inoa piha o nā ʻāpana loulou.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka