Jaroslav Luger: Partimage – bezpečné zálohování

Thursday, September 7, 2006 ·

Určitě jste se již setkali se situací, kdy došlo k havárii hardwaru, a tím i ke ztrátě všech nebo části dat. Po tomto zjištění obvykle následuje standardní otázka, někdy s lehce ironickým úsměvem, „máte zálohována data?“ a obvykle se dočkáte odpovědi „ne“, případně „ne, proč?“ Abychom se vyvarovali těchto tragikomických scén, představíme si software pro zálohování, který můžeme vzhledem jeho možnostem zařadit do skupiny zálohovacích systémů.

Partimage je linuxový/UNIXový nástroj určený k zálohování diskových oddílů různých formátů do souboru s obrazem. Výsledný obraz může být komprimován metodou GZIP/BZIP2 pro ušetření diskového prostoru a rozdělen na více částí pro případ kopírování na výměnná média, jako jsou disketa, ZIP, CD, DVD a další. Zálohy můžeme od verze 0.6.0 ukládat na vzdálený síťový disk. Spuštění zálohovacího serveru lze provést v prostředí chroot.

Jak to funguje

Data jsou pouze kopírována. Pro urychlení nejsou zapisovány volné bloky do zálohy, neprovádí tedy stejnou operaci jako příkaz dd, který načte vše i volné bloky. Výrobce doporučuje používat tento nástroj pro větší objemy dat, například 1GB oddíl může být komprimován pomocí GZIP až na výsledných 400 MB.

Podporované souborové systémy (FS)

Název Popis Verze
ext2fs/ext3fs standardní pro Linux stable
ReiserFS nový výkonný žurnálovací FS stable
FAT16/32 FS pro DOS a Windows stable
HPFS FS pro IBM OS/2 stable
JFS žurnálovací FS od IBM pro AIX stable
XFS žurnálovací FS od SGI pro Irix stable
UFS Unix File System beta
HFS MacOS beta
NTFS Windows NT, 2000 a XP experimental

Používat Partition Image můžeme dvěma způsoby, buď zadáme z příkazové řádky celý příkaz s množstvím voleb, nebo spustíme program bez voleb v režimu GUI. Spouštění musíme provádět jako uživatel root. Pokud zálohujeme oddíl, musíme zadat dvě důležité věci. První je oddíl, který budeme archivovat, musíme jej zadat v linuxové podobě /dev/xxx.

Druhá důležitá věc je soubor, do kterého budeme data ukládat, tento soubor se nazývá obraz (image). Pokud nevíme, jaké máme na disku (discích) oddíly a jakého jsou typu, můžeme to zjistit příkazem fdisk, nebo si můžeme zobrazit podobný výpis pomocí příkazu cat /proc/partitions, ale ten asi nebude pro všechny srozumitelný.

fdisk -l
Disk /dev/hda: 61.4 GB, 61492838400 bytes
255 heads, 63 sectors/track, 7476 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 Device Boot Start End Blocks Id systém
/dev/hda1 * 1 7476 60050938+ c W95 FAT32 (LBA)
Disk /dev/hdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 Device Boot Start End Blocks Id systém
/dev/hdb1 1 7295 58597056 83 Linux
/dev/hdb2 7296 19457 97691265 5 Extended
/dev/hdb5 7296 19331 96679138+ 83 Linux
/dev/hdb6 19332 19457 1012063+ 82 Linux swap / Solaris

Obrázek: partimage 1.jpg

V grafickém režimu uvidíme tabulku s možností výběru oddílu pro zálohování (save), nebo obnovu ze zálohy (restore). Čísla v pravé části nás informují o celkové velikosti oddílu. Pokud chceme zjistit obsazené bajty, můžeme to zjistit příkazem df -hT, v kolonce Used. Na stejné obrazovce dále zadáme jméno souboru obrazu s plnou cestou a akci, kterou budeme provádět:

  • zálohování, uložení oddílu do nového obrazu (Save partition into a new image file);
  • obnova dat ze zálohy obrazu (Restore partition from an image file);
  • obnova MBR (Restore an MBR from the image file).

Budeme-li provádět obnovu nebo zálohovat na vzdálený server, musíme zadat IP adresu a port, na kterém je spuštěn zálohovací server partimaged. Pamatujte na to, že při obnově dojde k přepsání dat na cílovém oddílu, obvykle k nenávratnému. Chceme-li zálohovat namountovaný oddíl, budeme na tuto skutečnost upozorněni. Máme-li jistotu, že během zálohování nedojde k žádným změnám na tomto oddíle, přemluvíme partimage potvrzením stiskem Continue. Pokud máme program zkompilován s podporou SSL, můžeme ji využít pro bezpečný přenos dat po síti. Před použitím SSL musíme mít vygenerován certifikát, to nám zajistí openssl:

openssl req -new -x509 -outform PEM > partimaged.csr
openssl rsa -in privkey.pem -out partimaged.key 
openssl x509 -in partimaged.csr -out partimaged.cert -signkey partimaged.key

V případě neaktivní podpory SSL jsme o tom informováni na posledním řádku této obrazovky (SSL Disable at compile time), binární staticky kompilovaná distribuovaná verze je bez této podpory. Klávesou [F5] (Next) se posuneme na další krok, Abort násilně ukončí činnost a [F6] provede korektní ukončení.

Obrázek: partimage 2.jpg

Dalším krokem je nastavení voleb pro kompresi, rozdělení souboru s obrazem, akce po dokončení zálohování/obnovy a další. Čím větší komprese, tím trvá zpracování déle, ale máme menší výsledný soubor. V případě komprese bzip2 vzniká omezení v podobě nemožnosti obnovení MBR ze zálohy. Pokud archivujeme na výměnná média (např. ZIP) a zálohovaný objem dat přesahuje kapacitu média, použijeme volbu pro rozdělení.

Můžeme zvolit pevnou velikost části obrazu v kB (Into files whose size is:…), nebo automatickou kontrolu zaplnění volného místa (Automatic split when no space left). Možné akce po úspěšném ukončení jsou tyto: Wait, Halt, Reboot a Quit. Jsou zde další volby pro kontrolu oddílu před zálohováním (Check partition before save), vložení popisky (Enter description) a přepsání existující zálohy bez upozornění (Overwrite without prompt).

Pokud máme zatrženou volbu pro popisek, budeme v dalším kroku vyzváni k jeho zadání. Volbu pro upozornění bez přepsání doporučuji ponechat neaktivní. Nalezne-li partimage v cílovém adresáři stejné jméno souboru se zálohou, upozorní nás na to a nabídne zadání nového jména (Change), přepsání (Owerwrite), nebo ukončení (Cancel). Po stisku Change nebo Owerwrite se zobrazí okno se statistikou o zálohovaném oddíle, stiskem OK rozběhneme proces zálohování (kopírování). Během zálohování vidíme informace o času a zálohovaných bajtech.

Zálohovací server

Server je v tomto případě počítač, na kterém je spuštěn program partimaged a jsou na něm umístěny obrazy se zálohou. Server dokáže komunikovat současně s několika klienty současně. Zálohování na síť provádíme obvykle z těchto důvodů:

  • máme pouze jeden oddíl na počítači, který chceme zálohovat;
  • nemáme volné místo pro obraz na lokálním počítači;
  • pro zvýšení bezpečnosti. Data jsou ukládána na jiný stroj a v případě havárie disku nebo napadení virem nebudou zálohovaná data zničena;
  • když máme stejný obraz pro více počítačů se stejnými oddíly a hardwarem.

První věc, kterou uděláme před spuštěním serveru, je, že v rámci bezpečnosti vytvoříme speciálního uživatele partimag příkazem useradd -c "Partimaged User" -s /sbin/nologin partimag, nebudeme pro něj vytvářet domovský adresář -m a nepovolíme přihlášení do systému. Pod tímto uživatelem se bude spouštět server, nenastavujte SUID bit pro pardimaged. Server obvykle naslouchá na TCP portu 4025, zařízení eth0. Pokud používáte na své síti DHCP, dbejte na to, aby měl zálohovací stroj přidělovánu stále stejnou IP adresu – nastavte statickou. Také nezapomeňte na nastavení firewallu pro výše uvedený port.

Musíme mít na serveru vytvořeny uživatelské účty, v našem případě je to uživatel linus, pro přístup ze zálohovaných klientů. Seznam uživatelských jmen, kterým povolíme přístup na zálohovací server, zapíšeme do souboru /usr/etc/partimaged/partimagedusers. Práva k tomuto souboru nastavíme na 600 a bude patřit uživateli partimag. Vše můžeme provést příkazem

mkdir /usr/etc/partimaged && echo \ linus > /usr/etc/partimaged/partimagedusers\ && chmod 600 /usr/etc/partimaged/partimagedusers

Pokud tento soubor nebude existovat, server se nespustí a upozorní nás na chybějící soubor.


Příkazový řádek

Server

  • ./partimaged – spuštění serveru s GUI. Zobrazí se stavové okno informující o připojení klientů.
  • ./partimaged -D -p5555 spuštění serveru v režimu démona na nestandardním portu 5555.

Klient

./partimage -z1 -o -d save /dev/hdb7 /mnt/storage/test_hdb7.partimg.gz

Spustí zálohování oddílu hdb7 do souboru test_hdb7.partimg.gz s kompresí gzip, bez otázky přepíše starou zálohu a nebude požadovat popisek.

./partimage restore /dev/hdb7 /mnt/storage/test_hdb7.partimg.gz.000

Rychlé rozbalení zálohy. Partimage automaticky přidal příponu 000, to v případě, kdy máme obraz rozdělen na více částí.


Závěr

Program partimage je spolehlivý a dostatečně robustní zálohovací systém vhodný jak pro domácí použití, tak pro malé a střední firmy. Jeho popularitu a spolehlivost dokazuje to, že je součástí live distribucí pro záchranu systému, jako je například System Rescue CD. Pomocí partimage můžeme také provádět hromadnou instalaci (klonování) operačního systému, pokud máme na více strojích totožný hardware. Správce sítí potěší možnost logování, skriptování, spuštění a ovládání z příkazové řádky – jak serveru, tak klienta.

Obrázek: partimage 3.jpg

Odkazy:

 

Článek vznikl ve spolupráci s časopisem LinuxEXPRES. Článek je uveřejněn s GNU FDL licencí (anglicky, česky).



Jaroslav Luger

0 comments:

Články dle data



Učitelské listy

Nabídka práce

Česká škola - portál pro ZŠ a SŠ

Česká škola poskytuje svým čtenářům diskusní prostor k vyjádření názorů na školskou problematiku. Tyto příspěvky se nemusí shodovat se stanoviskem redakce České školy a jsou uveřejňovány jako podnět k dalším diskusím.

Obsah článků nemusí vyjadřovat stanovisko redakce nebo vydavatele Albatros Media, a.s.


Všechna práva vyhrazena.

Tento server dodržuje právní předpisy
o ochraně osobních údajů.

ISSN 1213-6018




Licence Creative Commons

Obsah podléhá licenci Creative Commons Uveďte autora-Neužívejte dílo komerčně-Nezasahujte do díla 3.0 Česká republika, pokud není uvedeno jinak nebo nejde-li o tiskové zprávy.



WebArchiv - archiv českého webu



Tyto webové stránky používají k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Informace o tom, jak tyto webové stránky používáte, jsou sdíleny se společností Google. Používáním těchto webových stránek souhlasíte s použitím souborů cookie.