So. Pro 21st, 2024
backuppc screenshot hlavní stránky webu https://backuppc.github.io/backuppc/

Backuppc se zdá dle recenzí jako skvělý nástroj, na zálohování dat. Má to hezké webové rozhraní, které běží na serveru na apache2 webserveru. Instalace vám vygeneruje dokonce netriviální heslo.

Pro testování jsem si vzal prototyp virtuálku na virtualboxu, ubuntu-server 22.04 LTS se síťovým mostem (network bridge) na lokální síť a druhé VMko na debianu 11 na KVM.

Jak na instalaci na debianu/ubuntu-server:

apt-get install backuppc rsync-bpc -y

# No a pak vás post-instalační proces provede dalším nastavením:

Configuring backuppc

BackupPC supports any web server with CGI enabled, but this automatic
configuration process only supports Apache.

  1. apache2 2. none of the above

(Enter the items or ranges you want to select, separated by spaces.)

Which web server would you like to reconfigure automatically: 1

Web administration default user created

BackupPC can be managed through its web interface:
http://backuppc/backuppc/

For that purpose, a web user named ‚backuppc‘ with ‚NějakéVygenerovanéHesloNajdeteTady‘ as password has
been created. You can change this password by running ‚htpasswd
/etc/backuppc/htpasswd backuppc‘.

apache2_invoke: Enable configuration backuppc.conf
adduser: Warning: The home directory `/var/lib/backuppc‘ does not belong to the user you are currently creating.
Adding password for user backuppc
Considering dependency authn_core for auth_basic:
Module authn_core already enabled
Module auth_basic already enabled

Jednoduché nastavení v /etc/backuppc/hosts

do hosts přidáte

ipadresu 0 backuppc

to znamená, adresa stroje, 0 že stroji není přidělena DHCP adresa (1 pokud je přidělana DHCP IP adresa) a backuppc by měl být uživatel. Já tam zkoušel dávat jak backuppc, tak root pro účely testování.

Potom potřebujete buď vygenerovat rsa klíč pro ssh, anebo vezmete váš stávající ze stroje v /root/.ssh/id_rsa.pub a dostanete ho do vzdálené mašiny (třeba do roota) /root/.ssh/authorized_keys ve formátu

ssh-rsa klíč user@server

Ověříte, že je chmod 600 /root/.ssh/authorized_keys na vzdáleném serveru

Logneme na backuppc:

A nastavíme rsync jako primární nástroj backupování:

v /etc/backuppc/hosts to vypadá takto:

#
# The first non-comment non-empty line gives the field names and should
# not be edited!!
#
host        dhcp    user    moreUsers     # <--- do not edit this line
#farside    0       craig   jill,jeff     # <--- example static IP host entry
#larson     1       bill                  # <--- example DHCP host entry
localhost   0       backuppc
192.168.123.124   0       backuppc

Kdykoliv cokoliv změníte v konfiguraci, musíte to reloadnout tlačítkem zde:

Jdeme zálohovat

Vybereme hosta, kterého chceme zálohvat a klikneme na start Full backup:

Přehledně nám to ukáže logy:

Zabiják celého řešení

V error logu jsem se později dočetl tohle:

2023-09-11 20:53:51 Got fatal error during xfer (rsync error: error in rsync protocol data stream (code 12) at io.c(226) [Receiver=3.1.3.0])
2023-09-11 20:53:56 Backup aborted (rsync error: error in rsync protocol data stream (code 12) at io.c(226) [Receiver=3.1.3.0])

No a když jsem zkusil standardní rsync 3.2.7 balíček, tak to dopadlo takto:

Got fatal error during xfer (rsync error: syntax or usage error (code 1) at main.c(1795) [client=3.2.7])

Což je největší zabiják celého řešení. Buď si všude můžete nainstalovat backuppc-rsync balíček (aktuálně je ve verzi 3.1.3.0), nebo rsync balíček, který má momentálně všude verzi 3.2.7. Problém nastává v okamžiku, když navzájem 2 stroje nemají kompatibilní verzi rsyncu. Prostě to zhavaruje.
V domácím prostředí je to skvělý nástroj, můžete backupovat windows, mac, freebsd, linux, cokoliv se vám zamane. Věřím, že i ten android by šel backupnout.
Ale na prostředí s 20 a více servery, občas i rozličných distribucí, kde budou jiné verze rsyncu, se tohle řešení stává trošku sebevražedným, pokud kterýkoliv ze serverů, bude mít nekompatibilní verzi rsyncu po upgradu. Takový server pak vypadne ze zálohování a ano, sice si toho admin může všimnout v tomto „překrásném“ webovém rozhraní, ale to řešení je špatné už v samotném návrhu, když k tomu může dojít.

Zkoušeny i ostatní řešení a i tam byl problém. Zkoušel jsem i rsync 3.2.7 na obou strojích, zkoušel jsem backuppc-rsync balíček na obou strojích. Pozor, je nutné v takovém případě zadat správně i cestu k binárce rsyncu zde:

Závěr

Spolehlivé řešení na backupování si představuji trošku jinak. Když si něco nainstalujete, má to fungovat od začátku bez nutnosti úplně překopávat konfiguráky a nechat pak několik hodin nad debugováním, proč se nedokončí jediná záloha. Kdybych to řešení chtěl vylepšit, tak tam použiju sshfs (balíček sshfs je prakticky téměř v každé distribuci linuxu) a pomocí sshfs použiju jen lokální rsync balíček a mělo by to být naprosto v pořádku bez těchto chyb. Přestože v produkci obvykle dáváte upgrade např. ansiblem, jakákoliv změna verze v rsync balíčku bude vždy znamenat výpadky zálohování a tudy cesta prostě nevede, minimálně ne pro můj use case.

Co však hodnotím velmi pozitivně na řešení je webový interface, který je rychlý, vcelku přehledný, jednoduchý. Dále snadné a rychlé nastavení na straně backuppc serveru a snahu o minimalismus celého řešení. Problém je nedoladěnost, resp. nutnost si řešení složitě dolaďovat sám na koleni a potom se obávat, aby to příští upgrade zase nerozbil. Četl jsem nějaké mailing listy s autory a jejich rady mi nepomohly.

Přesto je dobře, že tu komunita takové nástroje vytváří, autorům moc fandím, aby rsync fungoval perfektně v defaultu a aby upgrade serverů, na kterých je prováděna záloha, nemělo vliv na to, jestli zálohování přestane fungovat kvůli nesouladu verzí rsyncu, či backuppc-rsyncu. Na Windows řešení nezkoušeno, čeká mě zkusit urBackup.

Pokud jste se setkali s úspěchem a backuppc vám fungoval na první dobrou bez nutnosti cokoliv dál přenastavovat či upravovat, dejte vědět v komentářích, třeba se k tomu časem vrátím, vše přehodnotím a sepíšu sem řešení, jak to celé uvést k vyšší spolehlivosti.

zdroj zdroj2

Avatar

By mirra

Hardwaru a počítačům se věnuji již od roku 2003. Za tu dobu jsem poskládal stovky počítačů, opravil tisíce počítačů a vyřešil nespočetně problémů, vad a chyb, se kterými se setkávali uživatelé. Od roku 2005 se zabývám servery, zejména těmi herními, v roce 2007 jsem se začal věnovat Valve Source SDK level designu, který šel od roku 2009 k ledu kvůli studiu Informatiky na univerzitě. Podílel jsem se chvíli i na provozu síťové laboratoře MENDELU, dnes spravuji v jedné osobě cca 100 serverů/diskových polí na univerzitě, řeším IT v malých a středních firmách tak, aby firmy ušetřily nemalé částky při zlepšení kvality a soustředím se na snižování nákladů na IT od licencí až po hardware, software, provádím konsolidace a audity platnosti licencí, které firmám šetří rovněž nemalé peníze. Z velkých firem jsem měl příležitost s dalšími kolegy řešit správu 8000 serverů po celé západní Evropě s vysokou mírou automatizace a poznávání nejrůznějších evropských pracovních mentalit. Dále jsem řešil hybridní cloud ve velké firmě, orientované na trhy střední a východní Evropy. Posledních několik let se věnuji Devops pro velké zákazníky v Azure cloudu, spravuji kubernetes (AKS), Gitlab.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *