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
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í.
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.
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:
Post a Comment