ααααα
αα½ααααα»αα
ααααααααα
ααααα’ααααααααααααΆαααα ααααΊααΎααααΈαααααΎαααΆαααααΎααααΆααα§ααααααααααΆαααααΆαααααα»αααααααααααααααααΆαααααα»αααΆαααααααααα’αααααααΎααααΆααα
α»ααααααα ααααΆααααααΆαααΈαααα
α»αααΊαααααααΆαααααα·α ααα»ααααα
ααα½αααααααΆααααα’αα·αα·αααααααΆααααα αα α αΎααααα»αααααΈααααααΎαααΎααααα»ααα·ααΆαα’αααΈ VPS α’αΆα
αα»αααααΆααααΆααα α’αΆαα’αααΈααααα‘αΎαααΎαααΎ αα·ααααΆααααΊα αααΊαα
αααααααΆαααΆααα
ααΆαααααα½α VPS αα ααΎααααΆααααΆααααααααα’αα·αα·αααα·αααΆαα’αΆααααααααΆααΆα’αΆα αα½ααααααΎαααααΎαααΆαααααααα·α αα ααααα’ααααααααααααΆαααα ααααΆαα½αα ααΆβααΆαβαα·αβααΆαα ααααΆααβαα·αβαα½αβαααα»αβαα βαααααβααβααααα·αβααΎβααΆβαααα»αβαααβαα»α α αΎαβααΆααβααΆαβααΎαβα‘αΎαβααβααΆαβαααα»αβααααΌαβααΆαβααΉαβααααΆααβαααβα’αα·αα·ααβααΆααα’ααα
ααΎ VPS ααα»ααααΆαα’αΆα ααααΌαααΆααααα αααα ααΎααααΆαααα½αα’αΆαααααααΎαααααΆααΆα αααΎα αααααΆαααααααααΌα ααΆα
1. αααααααααααααααΉαααααααααΆαααααα½αα―α
2. ααα α VPS
3. ααααααΆαα·ααααααα»ααα
ααΎ VPS
4. αα
αα
αααα·ααααΆαααααα·ααΈααααα½ααααααΎαααααα·αααααΆαααααααΈαα
αααα»αααααΈααα ααΎαααΉαα
ααααααααααα·αααααααααααΎααααα»αααΆαααααΎααααΆαααα
αα
αααα·ααααΆ Pfcache αααααΆαα Virtuozzo α
ααΎαααααΎααΆααΆααΈ 6 ααα»ααααα’αααΈααααααααΆαααααα·ααΆαααααΆααΆααα·ααααααΆααααΈ 7 α
ααΆααα·αααΆααΆαα
1. ααΌαααΊααα
2. αα·ααΆα
α’αααΆαα’αααααααΎααααΆαα
3. α§αααααααααΎααααΆααααα αα’αααααααΎααααΆαα
αα αααααααΆαααααΆαα ααΎααααα αααααααααΆααααΌααααα―αααΆαααΉαααααΌαααΆααααααΎααααααΉαααααΌαααΆαααααΎαααααααΆααααα VPS ααΆααα’αααα ααΎααααΆααα α§ααααααααα»α ploop ααααΌαααΆααααααα αααα»αααααααααα αααααΆαααα αα αααααααα»αααΊαααα αΆααααααΎα ααΆααα½αααΆαα―αααΆαααααααααΆααααααααααα
[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
...
αααααΊααΆαααα·αα·αααα αΆαααααα ααααα ααα½αα―αααΆααα ααΎααααΆαααα½αααααααΎαα
[root@pcs13 ~]# find /vz/pfcache -type f | wc -l
45851
[root@pcs13 ~]# du -sck -h /vz/pfcache
2.4G /vz/pfcache
2.4G total
αααααΆααααα pfcache ααΆαααΌα
ααΆααααααα
β’ user-space daemon Pfcached ααααα sha-1 hash ααα―αααΆααα
αα»ααααααα xattr ααα―αααΆααααα αα·ααααα―αααΆαααΆααα’ααααααΌαααΆαααααΎαααΆααα ααα»ααααααΆααααα
αααα»ααα /usr, /bin, /usr/sbin, /sbin, /lib, /lib64
β’ ααΆααααααΆααΆα―αααΆααα αααα»αααααΆαααααααΉαααααΌαααΆα "α ααααααα" α αΎαααΉαααααΌαααΆαααααΎααααα»αααΆα αααΎα;
β’ Pfcached ααΆαααααΆαααααααΌααααα·αα·ααΎααΆαα’αΆαα―αααΆαααΈααΊααα αα·ααΆαααΆ αα·αααααααα―αααΆααα ααααΆαααααααΆαα ααααα·αααΎαα½αααΆααααΌαααΆαααααΎααΉαααΆααα
β’ ααααΆαααααα’αΆα αα»αααααΆ αα·αααααΌαααΆαααααααα ααΆαααααααααααα»αα―αααΆαααααααα ααΆααααααααα
β’ αα αααα’αΆαα―αααΆα ααΆααααΌαααΆααα·αα·αααααΆααΎααΆααΆα hash αααααΆααααααΆαααα αααα»ααα»ααααααααααααα xattr αααα¬ααα ααααα·αααΎααΆααΆαα―αααΆα "ααΌαα " ααααΌαααΆαααΎααααα½αα±ααα―αααΆααα»αααΊαααα ααΆααααα½ααααααΎαα‘αΎαααααα·αααΆαααααααααΆαααααααΌααα»αααΊααα α αΎαααααΌαααΆαααΆαααα αααα»αααΊαααα
β’ αα αααααααααα α―αααΆα αααααΆααααΌαααΆααα»ααααΆαα ααΌα αααα αα ααααααα’αααααΎαααΆααΎαααααα α―αααΆααα»αααΊαααααΉαααΎαααααααα½αα―α αα·ααααααααΆαααααααΆααααααααΆααα
ααΆααααααΆααααααΆαα»αα―αααΆααααααΆαα αααααααααΈ /vz/pfcache αα αααα»αααααΆαααααααΆααααααα ααΎααααααα ααΆαααΌαααΆαααααααα αααα»αααααΆαααααααΆαααααααααΆαα ααααΌα ααΆααΆααααααΆαα»ααα αααα»α IOPS αααααα αααα½αα±ααααΆαα’αΆαα―αααΆαα ααα½ααααααΈααΆα ααΎαα’αΆααα½α αααααααΆαααα ααΆααααααΆαααααααΆαααααααα
struct inode {
...
struct file *i_peer_file;
...
};
struct address_space {
...
struct list_head i_peer_list;
...
}
αααααΈ VMA αααααΆααα―αααΆααα ααααΆααααα½α (ααΎαααα’αααα αα αΆααααα½α) α αΎαααααΌαααΆαα’αΆαααΈααΆαααΉαααΆαααα·α (αααααΆαα»α iops) α ααΌααα·αα·αα½αααααααΎαααΆαααΈααΆαααα ααΎ SSD αααααΆααΆαααΎαα‘αΎααααααααααα»αααααΏαα
α§ααΆα ααααααααΆααααΆααααααΆαα»αα―αααΆα /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
ααΎαααααΆααααα·αααααΆαααααΆαααααΎααααΆαα
ααααααΈααααααααααΆαααα»αααΊαααααΆααα’αααα ααΎααααΆαα αααααααΆα―αααΆααααααΆαααΆαααα»ααααα»αααΊαααααΈαα½ααα
[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
ααΌα ααααααΈα’αααα αα αΆαααΎααααααΆαα»αα―αααΆααααα αα 40 ααΈα αααΆαααα αααα»ααα»αααΊααα αα½αααΆααΉαααααΌαααΆααααα»αααΈααααΆαααααααΆααα
ααΎααααΈα±ααααααααΆααααααααΎαααΆαααΆααααααα’ ααΆα αΆαααΆα ααααα»αααΆαααΆαα VPS "ααΌα ααααΆααααα·α" αααα»ααα ααΎααααΆααα α§ααΆα ααα α’αααβααααΎβαα·αβααΆαβαα·αααα·βααΆ root αα·αβααα·ααααΆαβααΈβααΌαααΆαβαααβααΆαβααααΎβααααΌαβααΆαβαααααβαα ααΆααααααααα
α’αααα’αΆα
αααααααΌα pfcache ααΆααααα―αααΆαααααααα
ααΆαααααααα
/etc/vz/pfcache.conf
MINSIZE, MAXSIZE β ααα αα―αααΆαα’αααααααΆ/α’αα·ααααΆαααααΆααααααΆαααααααΆαα
TIMEOUT - α’ααααααααΆαααΆαααααΆααΆααααα»αααααΆαααααααΆαα
α’αααα’αΆα
ααΎααααααΈααααααααΆαααΆαααααα
ααααα: www.habr.com