Vzhledem k mému zklamání včera s backuppc jsem se rozhodl, že to musím napravit.
To řešení se nazývá urbackup a na linuxu nemusíte ani mít LVM, aby šlo live backupovat pomocí dattobd modulu kernelu, který snapshotting umožní.
Zde je odkaz na instalaci na OpenSuse, RHEL/CentOS,Fedora, Suse Linux Enterprise, Debian/Ubuntu.
Pár řádků vám stáhne a nainstaluje modul, nebo zdrojáky a vykompiluje. V mém případě to buildovalo, všechna jádra jela chvíli na maximum.
Pro Debian/Ubuntu takto na klientském stroji, který chceme backupovat:
sudo apt-key adv --fetch-keys https://cpkg.datto.com/DATTO-PKGS-GPG-KEY
echo "deb [arch=amd64] https://cpkg.datto.com/datto-deb/public/$(lsb_release -sc) $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/datto-linux-agent.list
sudo apt-get update
sudo apt-get install dattobd-dkms dattobd-utils
Máme nainstalováno:
dpkg -l |grep dattobd
ii dattobd-dkms 0.11.2-1.1ubuntu22.04 all Kernel module source for dattobd managed by DKMS
ii dattobd-utils 0.11.2-1.1ubuntu22.04 amd64 Utilities for using dattobd kernel module
ii libdattobd1 0.11.2-1.1ubuntu22.04 amd64 Library for communicating with dattobd kernel module
Instalace urbackup klienta
Klient je k dispozici na všechna možná distra linuxu, na MacOS je betaclient, Windows klient na windows 10/11 x86/x64 jak server, tak klient. Je k dispozici i docker.
Je to prakticky jednořádkový skript, který se o vše postará za vás a dokonce po sobě uklidí:
TF=$(mktemp) && wget "https://hndl.urbackup.org/Client/2.5.24/UrBackup%20Client%20Linux%202.5.24.sh" -O $TF && sudo sh $TF; rm -f $TF
Ale výsledek vypadá takto:
--2023-09-12 18:13:50-- https://hndl.urbackup.org/Client/2.5.24/UrBackup%20Clie nt%20Linux%202.5.24.sh
Resolving hndl.urbackup.org (hndl.urbackup.org)... 198.58.118.162, 2600:3c00::f0 3c:91ff:fec8:ecf6
Connecting to hndl.urbackup.org (hndl.urbackup.org)|198.58.118.162|:443... conne cted.
HTTP request sent, awaiting response... 200 OK
Length: 25458401 (24M) [text/x-sh]
Saving to: ‘/tmp/tmp.a0OsA2qDfo’
/tmp/tmp.a0OsA2qDfo 100%[===================================================================================================================================>] 24.28M 6.34MB/s in 3.8s
2023-09-12 18:13:54 (6.34 MB/s) - ‘/tmp/tmp.a0OsA2qDfo’ saved [25458401/25458401]
Verifying archive integrity... All good.
Uncompressing UrBackup Client Installer for Linux 100%
Installation of UrBackup Client 2.5.24 to /usr/local ... Proceed ? [Y/n]
y
Uncompressing install data...
Detected Debian \(derivative\) system
Detected systemd
Detected architecture x86_64-linux-glibc
Installed daemon configuration at /etc/default/urbackupclient...
Info: Restoring from web interface is disabled per default. Enable by modifying /etc/default/urbackupclient.
Installing systemd unit...
Created symlink /etc/systemd/system/multi-user.target.wants/urbackupclientbackend.service → /lib/systemd/system/urbackupclientbackend.service.
Starting UrBackup Client service...
Successfully started client service. Installation complete.
+Detected Debian stable. Dattobd supported
-Detected no btrfs filesystem
+Detected LVM volumes
+dmsetup present
Please select the snapshot mechanism to be used for backups:
1) dattobd volume snapshot kernel module from https://github.com/datto/dattobd (supports image backups and changed block tracking)
2) LVM - Logical Volume Manager snapshots
4) Linux device mapper based snapshots (supports image backups and changed block tracking)
5) Use no snapshot mechanism
1
Configured dattobd. Please install dattobd following the instructions at https://github.com/datto/dattobd
Configured snapshot mechanism via /usr/local/etc/urbackup/snapshot.cfg
Instalace serveru (Ubuntu-server/Debian)
mám v testovací síti stroj s dns názvem:
urbackup.local
Na jeho ssh terminálu zadáme tyto commandy:
sudo add-apt-repository ppa:uroni/urbackup
sudo apt update -y
sudo apt install urbackup-server -y
po instalaci zadáme do prohlížeče:
http://urbackup.local:55414/
Urbackup je naprosto blbuvzdorný, funkční od začátku, pár skriptů, rozběhaný rychle, přehledný, hezčí web interface než backuppc a nabízí přesně to, co od něho chceme. Ani jsem nikde nezadával možnost backupu, hned to začalo backupovat automaticky přidané VMko.
Jak obnovit zálohy (Disaster recovery)
Na webu jsou ke stažení instalovatelné image pro nabootování s obnovou zde.
Vyzkouším na virtualboxu. Mohl by to být technicky vzato velmi zajímavý nástroj, konkurující jednomu nástroji od vmwaru, který umožňoval fyzický stroj zvirtualizovat. Tady by to teoreticky mohlo jít úplně stejně.
Nabootuje klient:
První porodní bolesti.
Tak verze 2.0.2 úplně nevyšla, zkusme verzi 2.4.2
Věřím, že by se řešení dalo přepracovat do PXE serveru, ze kterého by se restore bootoval. Stroje pro disaster recovery by se tak následně mohly snadno nabootovat ze sítě pro „rychlou obnovu“. V tomto vláknu se někdo pro tyto účely rozběhat docker kontejner. Takže to jde.
Na dockerhubu jsem zatím našel jen urbackup-clienta, ale nikoliv pxe server s urbackup klientem. Asi to vypadá, že budu muset něco sám udělat a pomoci komunitě.
Závěr
Když dva dělají totéž, není to totéž. Urbackup řešení prakticky nemám co vytknout. Umí to live backupy, přehledné rozhraní, velmi snadná, automatizovatelná instalace (ještě musím přijít na to, jak odkliknout tu jedničku pro dattobd na ext4 souborových systémech) a dovedu si představit, že bych tohle řešení používal i na produkci. Intuitivní, spolehlivé, snadno rozběhané.
Obnovení zálohy příjemné, bez problémů, komunita si poradila a vytváří pxe servery s urbackup-restorem, který chci též rozběhat, akorát v prostředí, kde mohou mít servery např. 802.3ad protokol (LACP bonding) na všech síťových kartách, to bude trošku komplikovanější. Prakticky nemám co vytknout. Za jeden večer to máte rozběhané a můžete fungovat.