Przyspieszanie backupu maszyn wirtualnych w Proxmox VE (kompresja przy pomocy pigz)

Avatar photo
  • Konrad Kowalski
  • 23/04/2018
  • Proxmox VE
  • 0 komentarzy
Proxmox VE

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.

Warto przeczytać

Brak powiązanych artykułów

Dodaj komentarz