přejít na obsah přejít na navigaci

Linux E X P R E S, BackupPC: Výkonný a komplexní nástroj pro snadné zálohování dat

BackupPC: Výkonný a komplexní nástroj pro snadné zálohování dat

backuppc.jpg

Zálohování není oblíbenou činností nikoho. Nejrůznější programy se nám proto snaží tuto činnost ulehčit, jak to jen jde. Každý z nich na to ale jde po svém. V tomto článku se podíváme na jeden méně známý program, který by si pravděpodobně zasloužil více pozornosti, než se mu dostává. 


Zálohování mnoha způsoby

Aplikace BackupPC je ideální na zálohování souborů/složek z jiných strojů na pevný disk. Se zálohovaným strojem se domluví prostřednictvím SSH, rsync, nebo SMB protokolu. V ostatních případech lze vzdálené médium připojit prostřednictvím např. FUSE. BackupPC pak samozřejmě nemá problémy se zálohováním lokálních souborů. Pro samotný přenos se aplikace pokouší využít protokol rsync, který snižuje nároky na síť i datová úložiště. Zálohy samotné lze iniciovat buď ručně, nebo prostřednictvím zálohovacího plánu. Deduplikace, komprese i odstranění přebytečných záloh je rovněž automatizováno poměrně sofistikovaným způsobem.

Deduplikací je v tomto případě míněno omezení výskytu totožných souborů napříč zálohami různých strojů z různých období na jediný výskyt.

Aplikace v Perlu s webovým ovládáním

Samotný backend je napsaný v Perlu. Tím je umožněno jej snadno rozšiřovat prostřednictvím dalších perlovských modulů. Pro ty z vás, kteří k tomuto jazyku chováte z jakéhokoliv důvodu antipatie, je k němu přibaleno plnohodnotné CGI webové rozhraní. Plnohodnotné v tomto případě znamená, že nemusíte nikdy otevřít konfigurační soubory, i když vaše požadavky nejsou úplně běžné.

Hlavní okno webového rozhraní se souhrnnými informacemi Hlavní okno webového rozhraní se souhrnnými informacemi

Instalace a konfigurace

Instalační balíček je obsažen v drtivé většině distribucí. Jeho součástí je rovnou i konfigurační soubor pro Apache a související webové rozhraní. Seznam závislostí pak krom Apache a Perlu doplňuje samba-client, a pár elementárních knihoven pro komprimaci. Poinstalační proces poté zajistí zadání hesla, které následně chrání přístup přes webové rozhraní. Tím je instalace hotová. Konfiguraci lze pohodlně provádět přes web z adresy http://localhost/backuppc, kde se po přihlášení (uživatel backuppc, zvolené heslo) objeví souhrnné info o stavu služby. Nyní je vhodné nastavit obecné volby, které se pak použijí jako výchozí pro každý zálohovaný stroj.

Obecná konfigurace

Základní nastavení najdete vlevo pod položkou Edit Config. V hlavní části je pak pro přehlednost rozdělena na jednotlivé záložky. Jsou jimi:

  • Hosts – Seznam zálohovaných strojů a uživatelů webového rozhraní s povoleným přístupem.

  • Xfer – Nastavení přenosu mezi zálohovaným a zálohovacím strojem, které soubory zálohovat a které ne.

  • Email – Nastavení kontaktních adres, četnosti informování a předloh jednotlivých zpráv.

  • CGI – Nastavení webového rozhraní, aktivace přídavných modulů.

  • Server – Cesty k programům, omezení zpracování ve více vláknech.

  • Backup Settings – Kde a jak hledat zálohované stroje.

  • Schedule – Plánování vytváření a mazání záloh.

Nastavení parametrů zálohování Nastavení parametrů zálohování

Vyčerpávající popis každé konfigurační volby lze najít v offline dokumentaci po kliknutí na její název, což považuji za geniální řešení.

Ukázka vestavěné nápovědy pro konfigurační volby Ukázka vestavěné nápovědy pro konfigurační volby

Přidání stroje a konkrétnější nastavení

Do správy strojů se dostanete z levého menu odkazem Edit Hosts. Zde lze připsat název stroje a seznam. Ve výchozím stavu bude tento stroj vyhledán prostřednictvím DNS, kterému bude jako dotaz zasláno jméno stroje. Toto lze však změnit zadáním adresy (IP nebo DNS) v konfiguraci hosta (Backup Settings | ClientNameAlias). Předvyplněné volby dávají najevo, že všechny konfigurační volby byly přejaty z nastavení serveru. Každou je ale možné změnit dle chuti.

Připojení k vzdálenému stroji

Připojení přes SMB je jednoduché na nastavení, ke konfiguraci a zprovoznění stačí pouze uvést jméno a heslo pro SMB přihlášení. Automatická komunikace přes SSH je ale o něco ošemetnější a vyžaduje práci s řádkou.

Nejprve se přepněte na správného uživatele a do jeho domovského adresáře

su backuppc - && cd ~

Následně si vygenerujte klíč oblíbeného typu a délky (např. RSA, 4096 bitů) pro potřeby zálohování do výchozího umístění. Podotýkám, že je nutné jej vytvořit bez passphrase, nebo použít ssh-agenta, aby mohla aplikace fungovat bez zásahu uživatele. Pro ostatní hosty pak můžete používat ten samý klíč, nebo si do stejného umístění vygenerovat další, s jiným názvem.

ssh-keygen -t rsa -b 4096 -C "pro BackupPC server"

Nyní jeho jeho veřejnou část zkopírujte na vzdálený stroj.

ssh-copy-id -i ~/.ssh/odpovidajici_klic uzivatel@zalohovany-stroj. cz //před cz odstraňte mezeru

Ověříte tak správnou funkci ssh spojení a rovnou zabezpečíte zálohovaný stroj proti přihlášení stejným klíčem odjinud tak, že do souboru ~/.ssh/authorized_keys přidáte na začátek řádku se svým klíčem omezující direktivu. Na začátek původního řádku:

ssh-rsa ABwIALyjLzVFTrE9Zap5x/oqa8== pro BackupPC server

… pak přidejte toto:

from="zalohovaci-stroj.cz" ssh-rsa ABwIALyjLzVFTrE9Zap5x/oqa8== pro BackupPC server

Direktiva from akceptuje doménové jméno, IP adresy, i žolíkové znaky * a ?.

Přehled zálohovaných strojů Přehled zálohovaných strojů

Přehled jednotlivých záloh stroje Přehled jednotlivých záloh stroje

Plánování záloh

Kdy a jak zálohovat, lze přehledně nastavit na záložce Schedule. Zde určíte, po kolika dnech dělat plné zálohy, kolik jich uchovávat, minimální množství a maximální stáří zálohy. To tedy znamená, že pokud bude některá záloha starší než nastavený limit, a zároveň bude dostupné alespoň ono minimum záloh, bude ta stará vymazána. Obdobné volby se týkají inkrementálních záloh, kde je navíc možnost ovlivnit, zda budou inkrementální zálohy proti poslední plné záloze, nebo proti jiné inkrementální.

Inkrementální záloha zálohuje pouze soubory rozdílné oproti jiné (nikoli nezbytně poslední) záloze.

Další sekce se zabývá preferovaným časem pro zálohování. BackupPC během tzv. WakeUp okamžiků pinguje jednotlivé zálohované stroje. Pokud je několik posledních pokusů úspěšných, je stroj vyhodnocen jako místní a záloha je naplánována na preferovanou dobu. Pokud je naopak stroj vyhodnocen jako občasný návštěvník, zálohování započne při prvním možném WakeUpu.

Plánování záloh Plánování záloh

Obnovení dat

Po výběru vhodného hosta z roletkového menu vlevo se k jeho zálohám dostanete prostřednictvím položky Browse backups. Objeví se stromová struktura zálohy, ze které lze vybrat soubory k obnově. Pro volbu zálohy z jiného termínu lze využít roletkové menu v záhlaví stránky.

Výběr obnovovaných souborů Výběr obnovovaných souborů

Po potvrzení tlačítkem Restore selection dostanete na výběr, zda se mají vybrané soubory přímo obnovit prostřednictvím nastaveného komunikačního kanálu (SSH, SMB, …), nebo je chcete jen stáhnout v archívu pro vlastní potřebu.

Způsob obnovení Způsob obnovení

Porovnání s ostatními

BackupPC je plnohodnotné zálohovací řešení, které je díky svému dlouholetému vývoji už poměrně vyzrálé. Poradí si i s konkurenční platformou a je předpřipraveno v drtivé většině distribucí. Na rozdíl od rsnapshotu umí BackupPC komprimovat zálohy a také deduplikovat identické soubory. Oproti duplicity pak disponuje propracovaným systémem na odmazávání starých záloh. Když k tomu přičteme jednoduché nasazení, praktické webové rozhraní a přítomnost detailní dokumentace, zaslouží si tento program vaši pozornost při dalším zvažování, jak budete zálohovat.

Nahoru

Odkazy

Příspěvky

Petr Valach BackupPC: Výkonný a komplexní nástroj pro snadné zálohování dat
Petr Valach 24. 06. 2013, 00:09:14
Odpovědět  Odkaz 
Dík za upozornění na zdá se vcelku použitelný program, který určitě vyzkouším. I když - řekoná teto program slavný Cobian? :-)
Michal Halenka Re: BackupPC: Výkonný a komplexní nástroj pro snadné zálohování dat
Michal Halenka 26. 06. 2013, 18:22:11
Odpovědět  Odkaz 
Cobian se u mne nedostal do užšího výběru, protože není open source, a protože poslední oprava programu vyšla před rokem, autor jeho zdrojové kódy prodává, a tedy jeho další osud je neznámý.

BackupPC nepodporuje šifrování záloh, protože do těchto záloh potřebuje přistupovat kvůli rsyncu a deduplikaci. Samotný síťový přenos je však šifrován přes zvolený protokol (SSH, >=SAMBA-3.2), a díky rychlé instalaci na jednotlivé klienty (zprovoznění SSH prostřednictvím klíče) se mi jeví daleko vhodnější než Cobian.
Tomáš Crhonek BackupPC: Výkonný a komplexní nástroj pro snadné zálohování dat
Tomáš Crhonek 26. 06. 2013, 16:49:17
Odpovědět  Odkaz 
Pěkný článek. :-)

Trochu mi chybí popis nastavení uložení záloh (vzhledem k velikosti se to asi nebude ukládat do systémového adresáře s programem).

Jaký to má formát ukládaných dat? Předpokládám, že díky deduplikaci nějaký svůj. Umí to deduplikovat i data v rámci různých zálohovaných hostů?
Michal Halenka Re: BackupPC: Výkonný a komplexní nástroj pro snadné zálohování dat
Michal Halenka 26. 06. 2013, 17:55:18
Odpovědět  Odkaz 
Děkuji.

Zálohy se ukládají do /var/lib/backuppc, ale tento adresář lze samozřejmě změnit v konfiguraci (volba Conf{TopDir}).

Co se týče průběhu zálohy, data jsou nejprve nakopírována do Conf{TopDir}/pc/$host/new. Ještě před samotným zápisem každého souboru se zjistí, zda již není identický obsažen v poolu. Pokud ano, použije se hardlink. Protože tento proces může běžet ve více instancích, spouští se jednou za čas unikátní proces, který kontroluje duplikaci (opět napříč všemi zálohami a hosty), a případně nahrazuje hardlinky.
Více detailů najdete zde: http://backuppc.sourceforge.net/faq/BackupPC.html#BackupPC-operation

Struktura ukládaných dat je taktéž v dokumentaci:
http://backuppc.sourceforge.net/faq/BackupPC.html#Storage-layout
Konkrétně v Conf{TopDir}/pool jsou ještě nezkomprimované soubory pojmenované podle MD5 hashe jejich obsahu, případně se suffixem pokud dva soubory mají různý obsah ale stejný hash. Obdobně v Conf{TopDir}/cpool jsou ve stejné hierarchii komprimované soubory. Odstraňování záloh pak probíhá smazáním hardlinků dané zálohy, a následně detekce souborů s pouze jedním hardlinkem.

Nepříjemným důsledkem této struktury je, že prázdné soubory nejsou zálohovány.
Více detailů o struktuře zálohovaných dat zde: http://backuppc.sourceforge.net/faq/BackupPC.html#Storage-layout
Tomáš Crhonek Re: Re: BackupPC: Výkonný a komplexní nástroj pro snadné zálohování dat
Tomáš Crhonek 27. 06. 2013, 14:51:49
Odpovědět  Odkaz 
Díky za odpověď.

"Nepříjemným důsledkem této struktury je, že prázdné soubory nejsou zálohovány."

Právě jsem si vyzkoušel zálohu a obnovu pomocí BackupPC a prázdné soubory mi to bez problémů obnovilo. Z dokumentace jsem pochopil, že prázdné soubory sice nejsou ukládány do poolu, ale do nějaké struktury s atributy (kterou si stejně vede pro každý soubor). Takže i prázdné soubory i adresáře to umí uložit a obnovit.
Michal Halenka Re: Re: Re: BackupPC: Výkonný a komplexní nástroj pro snadné zálohování dat
Michal Halenka 27. 06. 2013, 21:08:16
Odpovědět  Odkaz 
Aha, to jsem přehlédnul. Ale je to vlastně logické, protože nemá obsah který by mohl md5hashovat, a tedy jej zařadit do poolu.

Každopádně jsem rád že Vás článek zaujal natolik, že jste se BackupPC rozhodl vyzkoušet.
BackupPC: Výkonný a komplexní nástroj pro snadné zálohování dat
petr 11. 04. 2014, 15:19:38
Odpovědět  Odkaz 
BackupPC se mi líbil, používal jsem to v zaměstnání.
Pracuje spolehlivě - vždycky udělá nějaké zálohy. Organizuje se samostatně. Z web adminu jde snadno poskládat inkrementální zálohy k určitému datu, dokonce to může nakopírovat přez sdílení na původní místo Ve windows používá přístup přez c$ a admin účet, což je teda otázka jestli je to nejlepší. Zálohování ze sítě je pomalejší, ale zase moc neobtěžuje při práci. Dříve byly problémy s češtinou, snad už je to ok.

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz