Przewiń do głównej treści

Backup kontenerów LXD

·138 słów·1 min
Michał Kuzdzal
Autor
Michał Kuzdzal
SRE/DevOps. Dziennik pracy: Kubernetes, observability, infrastruktura jako kod i bazy rozproszone.

LXD to tak naprawdę nakładka (api) na kontenery LXC.
Backup kontenerów możemy robić na kilka sposobów.

Snapshot
#

Snapshot to tak naprawdę nic innego, jak rsync file systemu danego kontenera. Snapshot nie zapisuje konfiguracji kontenera!\

lxc snapshot nazwaKontenera nazwaSnapshotu
lxc restore nazwaKontenera nazwaSnapshotu

Export
#

Eksport kontenera zapisuje do pliku tarball cały file system kontenera, wraz ze wszystkimi snapshotami, oraz jego konfiguracją.

lxc export nazwaKontenera /sciezka/do/pliku.tar
lxc import /sciezka/do/pliku.tar

Copy
#

Można również skopiować dany kontener obok lokalnie lub na inny host LXD

lxd copy nazwaKontenera nowyKontener

Rsync
#

Możemy po prostu użyć starego dobrego rsynca do backupu kontenerów/snapshotów.

rsync -arhvP /var/lib/lxc /sciezka/do/backupu

Skrypt
#

Prosty skrypt backupujący wszystkie kontenery na danym hoscie

#!/bin/bash
for x in $(lxc list -c n --format csv); do
   lxc export "${x}" "/opt/backups/lxd/${i}-backup-$(date +'%d-%m-%Y').tar"
done

Linki
#

Projekt LXD,
Backup lxd by redhat.