ʻ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.
ʻ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
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
Source: www.habr.com