Proxmox Backup Server

Allikas: Imre kasutab arvutit
Redaktsioon seisuga 17. detsember 2022, kell 19:05 kasutajalt Imre (arutelu | kaastöö)
Mine navigeerimisribaleMine otsikasti

Sissejuhatus

TODO

Mõisted

  • PBS - Proxmox Backup Server
  • PVE - Proxmox Virtualization Environment
  • DS - datastore
  • NS - namespace
  • GC - garbage collect
  • Purne -

Tööpõhimõte

Väited

  • PBS vaikimisi pakib, st ei ole mõtet kasutada PBS storage juures pakkivat failisüsteemi vms (nt 'zfs create -o compression=lz4 ...' vms; tundub, et failisüstteemi pakkimise kasutmine ei muuda varundamiseks kuluvat aega ega mahtu, aga pbs serverile tekib natuke rohkem cpu koormust)
  • PBS tegleb ise pakkimisega ja paistab, et seda ei saagi välja lülitada (nt proxmox pve webgui haldusliideses backup käivitamise on 'Compression: ZSTD (fast and good)' greyed-out
  • mitu PSB serverit saab omavahel nö kokku aheldada, tulemusena tekib mitme etapiline varundus (varundus varundab varundust)

Kasutusalad

  • varundatud ja riknenud arvuti asendamine varundusest taastatud arvutiga
  • varundatud arvuti taastamine teisse proxmox klastrisse (nt kontrolli või uuringu eesmärgil)

Üks võimalik kasutusjuhtum

             pve-1           pve-2           pve-n
           _________       _________       _________      
          |         |     |         |     |         |
          | vm1,vm2 |     | vm3,vm4 |     | vm5,vm6 |
          |_________|     |_________|     |_________|
               |               |               |
               |               |               |
         ------|---------------|------|--------|-------------|-----------
                                      |                      |
                 |                    |                      |
                 |                ____|____              ____|____
                 '----------->   |         |            |         |
                                 |         |  <-------- |         |
                                 |_________|            |_________|
   
                                   pbs-1st                pbs-2nd

kus

  • pve-1, 2 ja 3 on proxmox virtual environment host arvutid
  • vm1, vm2 ... vm6 on pve peal töötavad virtuaalsed arvutid
  • pbs-1st on proxmox backup server abil realiseeritud esimese taseme varundus
  • pbs-2nd on proxmox backup server abil realiseeritud teise taseme varundus
  • pve-1 ... 3 peavad reeglina asuma samas subnetis
  • pbs-1st ja 2nd ei pea asuma samas subnetis pve arvutitega ega ise üksteisega

Varundamisega seotud võrguliiklus

  • andmeliikluse algamise mõttes pöörduvad nii vmN arvutid kui pbs-2nd arvuti pbs-1st arvuti poole

Paigaldamine

TODO

Kasutatamine - varundamine

TODO

Kasutatamine - taastamine

TODO

Haldamine

Tundub, et pbs tarkvara juhtimiseks on kaks käivitusskripti, seiskamiseks

# systemctl stop proxmox-backup-proxy
# systemctl stop proxmox-backup

käivitamiseks

# systemctl stop proxmox-backup
# systemctl stop proxmox-backup-proxy

proxmox-backup-proxy kuulab 8007 võrku, apt teenus jms

root@varundus-2nd:/srv# netstat -lnpt | grep backup
tcp        0      0 127.0.0.1:82            0.0.0.0:*               LISTEN      3461/proxmox-backup 
tcp6       0      0 :::8007                 :::*                    LISTEN      3476/proxmox-backup 

root@varundus-2nd:/srv# ps aux | grep 3476
backup    3476 16.6  1.6 844856 51096 ?        Ssl  21:59   0:32 /usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-backup-proxy

Andmesalvestuse asukohtade jms seadistused asuvad failis

root@pbs:~# cat /etc/proxmox-backup/datastore.cfg 
datastore: ds_zpool_wds_pbs
	comment 
	gc-schedule daily
	path /zpool_wdc/pbs
	prune-schedule daily
...

PBS schedule kasutamine

Väited

  • virtuaalsete arvutite regulaarsed varundamised seadistatakse Proxmox VE keskkonnas (nt proxmox hostide webgui haldusliidestes)
  • varundamine toimib proxmox host algatusel
  • varundatud varunduste regulaarne harvendamine toimub proxmox backup serveri webgui haldusliideses seadistatu alusel; ja pbs algatusel
  • Prune - tegeleb nö kataloogist vana varunduse eemaldamisega
  • GC (garbage collection) - tegeleb kataloogist kustatule vastavate andmete osa vabastamisega salvestusseadmelt

Regulaarsete varundamiste seadistamine - PVE

Virtuaalse arvuti regulaarse varundamise seadistamiseks sobib virtuaalse arvuti juures veenduda, et plokkseadmete juures ei ole märget

backup=0

Seejärel avada

Datacenter -> Backup -> Add (või Edit kui juba on olemas)

ning linnutada ära sobiv arvuti.

Regulaarsete kustutamise seadistamine - PBS

Logida sisse varundamise arvutisse ja valida

Datastore -> ds_nimi -> Prune & GC

ning seadistada Prune rutiin

  • Keep Last
  • Keep Hourly
  • ..
  • Keep Yearly

ning seadistada Prune ja CG alguse aeg.

Protected

Vaikimisi prunemine kustutab hiljem või varem kõik varundused ära. Kui soovitakse mõnda seisu (olgu see moodustunud automaatselt või käsitsi) säilitada lõpmatult kaua, siis sobib märkida ta Protected olekusse. Seda saab teha PVE 7.1 webgui liideses, ja PBS v. 2.1 webgui liidses

 Datastore -> ds_nimi -> Content -> Group -> snapshot
  • group - virtuaalne arvuti
  • snapshot - konkreetsele ajale vastav varundus

Kõigi toimunud varunduste protected olekusse seadistamiseks sobib öelda

# export PBS_PASSWORD="xxx"
# cat pbs-protected.sh
for i in `proxmox-backup-client list  --repository pm60-trt@pbs@192.168.99.199:ds_zpool_wds_pbs_coff | awk {'print $2'} | grep "^vm"`; do 
  for j in `proxmox-backup-client snapshot list ${i} --repository pm60-trt@pbs@192.168.99.199:ds_zpool_wds_pbs_coff | awk {'print $2'} | grep ^vm`; do 
    proxmox-backup-client snapshot protected update ${j} true --repository pm60-trt@pbs@192.168.99.199:ds_zpool_wds_pbs_coff;
  done; 
done

# sh pbs-protected.sh

Edukast tulemusest annab tunnistust varunduste Content vaates, et snaphost real on Protected pildike muutunud hallist roheliseks.

Prune simulator

Aadressil https://pbs.proxmox.com/docs/prune-simulator/ asub tore simulaator, mille abil illustreeritakse milliseid konkreetseid varundusi prunemine tabab.

Märkused

Varundamise kasutamine võib olla lihtsam ja varundus kvaliteetsem (kooskõlalisem) kui varundatavate arvutite failisüsteemid ei ole laiali määritud mitmele plokkseadmele (nt lvm volume group asub ühel virtio plokkseadmel).

Kasulikud lisamaterjalid

PVE integreeritud varunduse kasutamine proxmox-backup-client abil

PVE integreeritud varunduse kasutamiseks on vaja

  • varundatud andmeid PBS serveris
  • varunduse serverile üle nn api port 8007 liidese ligipääsu
  • teada datastore nime varunduse arvutis
  • nö klientarvutit kuhu on paigaldatud proxmox-backup-client tarkvara (see võiks olla nö kolmas arvuti, st mitte pbs ega varundatud arvuti ise)

Varundatud arvutite nimekirja küsimine (nn group'id)

# proxmox-backup-client list --repository pm60-trt@pbs@192.168.99.199:ds_zpool_wds_pbs_coff
Password for "pm60-trt@pbs":

Varundatud arvuti varunduste nimekirja küsimine (nn snapshot'id)

# proxmox-backup-client snapshot list vm/194 --output-format text  --repository pm60-trt@pbs@192.168.99.199:ds_zpool_wds_pbs_coff
┌─────────────────────────────┬────────┬────────────────────────────────────────────────────────────────────────────┐
│ snapshot                    │   size │ files                                                                      │
╞═════════════════════════════╪════════╪════════════════════════════════════════════════════════════════════════════╡
│ vm/194/2021-01-02T13:23:12Z │ 34 GiB │ client.log drive-virtio0.img drive-virtio1.img index.json qemu-server.conf │
├─────────────────────────────┼────────┼────────────────────────────────────────────────────────────────────────────┤
│ vm/194/2021-01-02T14:26:53Z │ 34 GiB │ client.log drive-virtio0.img drive-virtio1.img index.json qemu-server.conf │
├─────────────────────────────┼────────┼────────────────────────────────────────────────────────────────────────────┤
│ vm/194/2021-10-09T20:59:42Z │ 34 GiB │ client.log drive-virtio0.img drive-virtio1.img index.json qemu-server.conf │
└─────────────────────────────┴────────┴────────────────────────────────────────────────────────────────────────────┘

Protection muutmine

# proxmox-backup-client snapshot protected update vm/194/2021-01-02T13:23:12Z  true --repository pm60-trt@pbs@192.168.99.199:ds_zpool_wds_pbs_coff
# proxmox-backup-client snapshot protected update vm/194/2021-01-02T13:23:12Z  false --repository pm60-trt@pbs@192.168.99.199:ds_zpool_wds_pbs_coff

Tõmmise kasutamine

# proxmox-backup-client map vm/106/2021-02-20T21:27:29Z drive-virtio0.img --repository pm60-trt@pbs@192.168.99.199:ds_zpool_wds_pbs_coff
# proxmox-backup-client map vm/106/2021-02-20T21:27:29Z drive-virtio1.img --repository pm60-trt@pbs@192.168.99.199:ds_zpool_wds_pbs_coff
# proxmox-backup-client map vm/106/2021-02-20T21:27:29Z drive-virtio2.img --repository pm60-trt@pbs@192.168.99.199:ds_zpool_wds_pbs_coff

kui virtuaalses arvuti on moodustatud neile nt lvm, siis tuleks öelda

# vgchange -a y
# lvdisplay
# mount -o ro,norecovery /dev/sys/root /mnt/root

Seejärel saab /mnt/root alt kasutada varundatud seisu nii nagu tavalist read-only failisüsteemi. Kasutamise lõpetamiseks sobib öelda

# umount /mnt/root
# vgchange -a n
# proxmox-backup-client unmap drive-virtio0.img
# proxmox-backup-client unmap drive-virtio1.img
# proxmox-backup-client unmap drive-virtio2.img

ilma viimase argumendita esitatakse mapped ressursside nimekiri

# proxmox-backup-client unmap
/dev/loop26:	pm60-trt@pbs@192.168.99.199:8007:ds_zpool_wds_pbs_coff:vm/106/2021-02-20T21:27:29Z/drive-virtio2.img
/dev/loop25:	pm60-trt@pbs@192.168.99.199:8007:ds_zpool_wds_pbs_coff:vm/106/2021-02-20T21:27:29Z/drive-virtio1.img
/dev/loop24:	pm60-trt@pbs@192.168.99.199:8007:ds_zpool_wds_pbs_coff:vm/106/2021-02-20T21:27:29Z/drive-virtio0.img

proxmox-backup-client nn kolmanda arvuti ettevalmistamine

Esmalt paigaldada Ubuntu 20.04 või Debian v. 10 või v. 11 nö tavaliselt viisil. Seejärel lisada repo võti, nt Ubuntu 20.04 puhul

# wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg

Moodustada source fail

# cat /etc/apt/sources.list.d/pbs-client.list 
deb [arch=amd64] http://download.proxmox.com/debian/pbs-client buster main

Paigaldada tarkvara

# apt-get update
# apt-get proxmox-backup-client

Namespace kasutamine

TODO

root@tmp-pbs:~# proxmox-backup-client namespace list  --repository root@pam@tmp-pbs.sise.moraal.ee:ds_tmp_tmp
Password for "root@pam": ************
root@tmp-pbs:~# proxmox-backup-client namespace create tere  --repository root@pam@tmp-pbs.sise.moraal.ee:ds_tmp_tmp
root@tmp-pbs:~# proxmox-backup-client namespace list  --repository root@pam@tmp-pbs.sise.moraal.ee:ds_tmp_tmp
tere

Kasulikud lisamaterjalid