- Žádné nadcházející události
Záloha pomocí ZFS mirror na druhý disk
Jestli máte laptop jako já, určitě nějakým způsobem řešíte zálohy dat (pokud neřešíte, tak byste měli začít). Do doby než jsem začal používat OpenSolaris jsem zálohoval pomocí Rsync na druhý disk. ZFS ale nabízí mnohem lepší řešení a to zálohu formou ZFS mirroru.
Funguje to tak, že připojíte disk (např přes USB), přidáte ho do svého poolu jako mirror raid, systém automaticky synchronizuje data (resilvering) a pak disk jen odeberete z poolu, fyzicky odpojíte a jedete dál. Případně pokud chcete, můžete ho nechat připojený a získat tím vyšší rychlost čtení.
Nejprve si zjistíme názvy disků příkazem
pfexec format
$ pfexec format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c7t0d0 <DEFAULT cyl 38910 alt 2 hd 255 sec 63>
/pci@0,0/pci17aa,20f1@1d,7/storage@2/disk@0,0
1. c9t0d0 <DEFAULT cyl 30398 alt 2 hd 255 sec 63>
/pci@0,0/pci17aa,20f8@1f,2/disk@0,0
Specify disk (enter its number):U mě je disk #1 (c9t0d0) disk v poolu a disk #0 (c7t0d0) zálohovací disk.
Pomocí nástroje format a podnástroje fdisk náš zálohovací disk vyčistíme a vytvoříme na něm 100% Solaris partition.
Pak přepíšeme formát disku na zálohovacím disku formátem z našeho stávajícího disku (nezapomeňte na s2).
$ pfexec prtvtoc /dev/rdsk/c9t0d0s2 | pfexec fmthard -s - /dev/rdsk/c7t0d0s2
A teď můžeme připojit zálohovací disk k poolu jako mirror. Po připojení začne synchronizace, která může trvat až několik hodin. Resilvering beží s nejnižší prioritou, takže při něm můžete normálně pokračovat v práci.
$ pfexec zpool attach -f rpool c9t0d0s0 c7t0d0s0
Ještě můžeme nainstalovat Grub na druhý disk, kdybysme z něj v budoucnu potřebovali nabootovat.
$ pfexec installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c7t0d0s0
Příkaz
zpool status
nám ukáže stav našeho raidu.
$ zpool status svazek: rpool stav: ONLINE status: Na alespoň jednom zařízení probíhá resilvering. Svazek bude pokračovat ve funkci, je však možné, že v omezeném rozsahu. akce: Počkejte než skončí resilvering. operace scrub: resilver in progress for 0h46m, 26,77% done, 2h7m to go nastavení: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror ONLINE 0 0 0 c9t0d0s0 ONLINE 0 0 0 c7t0d0s0 ONLINE 0 0 0 49,8G resilvered chyby: Žádné známé chyby dat
Až budeme chtít, můžeme druhý disk zase odebrat, tím náš raid zrušíme. Já osobně ho neruším, ale prostě vytáhnu zálohovací disk čímž se raid nezruší, ale pouze degraduje (více viz. poznámky pod čarou).
$ pfexec zfs detach -f rpool c7t0d0s0
Na závěr vám přeji, abyste svůj zálohovací disk nikdy nemuseli použít :-)
----------------------------------------------------------------
Poznámky pod čarou
- Při unplugnutí jednoho z disků systém označí raid za degradovaný a vypojený disk jako offline. Pokud disk znovu připojíte, systém automaticky provede resilvering a znovu ho začlení do raidu. To vše bez jediného příkazu.

