Podczas wykonywania pełnych kopii zapasowych przy pomocy vzdump w ProxmoxVE, dobrym pomysłem jest używane kompresji gzip – pozwala to znacząco zaoszczędzić miejsce potrzebne na przechowywanie archiwów z backupem. Standardowy gzip podczas tworzenia archiwum używa jednego rdzenia CPU – między innymi dlatego nie obciąża on zbytnio serwera. W przypadku gdy dysponujemy wolną mocą obliczeniową, w celu przyspieszenia kompresji tworzonych kopii zapasowych można użyć programu pigz.
Pigz jest w pełni funkcjonalnym zamiennikiem gzip, który potrafi wykorzystać wiele procesorów / wiele rdzeni procesora jednocześnie podczas kompresji danych. Program pigz nie jest domyślnie zainstalowany w Proxmox VE, jednakże ze względu, że bazuje on na Debianie, nie stoi nic na przeszkodzie aby go doinstalować z repozytoriów tej dystrybucji.
root@pve8:~# apt-get install pigz
Aby włączyć pigz podczas wykonywania kopii zapasowych należy zmodyfikować plik /etc/vzdump.conf
# vzdump default settings #tmpdir: DIR #dumpdir: DIRe #storage: STORAGE_ID #mode: snapshot|suspend|stop #bwlimit: KBPS #ionice: PRI #lockwait: MINUTES #stopwait: MINUTES #size: MB #stdexcludes: BOOLEAN #mailto: ADDRESSLIST #maxfiles: N #script: FILENAME #exclude-path: PATHLIST #pigz: N: pigz: 1
Należy zmodyfikować opcję
pigz: N - gdzie N może jest liczbą
dla N=1 pigz użyje połowy dostępnych rdzeni procesora, dla N>1 utworzy zadaną liczbę wątków (wartość nie powinna być większa niż liczba rdzeni w serwerze)
Od tej chwili podczas tworzenia backupów z wykorzystaniem gzip do kompresji użyty zostanie program pigz. Aby sprawdzić czy wszystko funkcjonuje można zalogować się na serwer, na którym wykonywana jest kopia zapasowa. Po uruchomieniu programu top powinien ukazać się proces pigz, dokonujący kompresji z wykorzystaniem wielu rdzeni procesora. Wykorzystanie wielu rdzeni potrafi skrócić znacząco czas potrzeby do wykonania kopii zapasowej wybranej maszyny wirtualnej.
root@pve8:~# top top - 17:39:25 up 11 days, 22:59, 1 user, load average: 3.40, 1.89, 1.50 Tasks: 483 total, 4 running, 479 sleeping, 0 stopped, 0 zombie %Cpu(s): 26.0 us, 2.5 sy, 0.0 ni, 71.4 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st KiB Mem : 32885516 total, 1584432 free, 7549220 used, 23751864 buff/cache KiB Swap: 8388604 total, 8385008 free, 3596 used. 24670804 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 12526 root 20 0 1210388 15600 1756 S 791.1 0.0 3:54.51 pigz 13584 root 20 0 5003704 777212 10980 S 25.1 2.4 119:52.74 kvm 12424 root 20 0 2800960 29552 12096 S 24.4 0.1 0:06.51 kvm 2787 root 20 0 3015420 2.025g 11116 R 12.9 6.5 2209:07 kvm 24094 root 20 0 2945108 564684 11128 S 9.6 1.7 185:18.69 kvm 25381 root 20 0 2934324 485848 10928 S 9.2 1.5 175:24.80 kvm 9536 root 20 0 2889092 301928 11772 S 8.9 0.9 2:38.71 kvm 3921 root 20 0 2987748 701392 11228 S 8.6 2.1 1857:08 kvm 12289 root 20 0 2917884 463112 11148 S 8.6 1.4 180:49.35 kvm
Proxmox VE 6.2 i nowsze (kompresja ZSTD)
W nowszych wersjach Proxmox VE zamiast kompresji gzip można zastosować ZSTD (Zstandard), który według moich doświadczeń jest o wiele bardziej efektywny.
Dodaj komentarz