Mirroring - software zrcadlení disků

Další možností pro zvýšení bezpečnosti (ve slova smyslu zajištění provozuschopnosti) je vytvoření hardware nebo software zrcadla systému, případně všech dat. Pro hardware je podmínkou podpora daného zařízení (viz. Hardware, zajímavé řadiče: http://www.dusatko.org/index.php?q=node/11), pro software verzi zrcadla je možné použít geom driver. V tomto postupu se jedná o dva ATA disky /dev/ad0 a /dev/ad1. Pro konfiguraci jsou zde připravena ukázka příkazů a postupu pro vytvoření zrcadla:

1) Zrušení partition table druhého disku
dd if=/dev/zero of=/dev/ad1 bs=512 count=79

2) Vytvoření označení pro software zrcadlo. Pokud se požívá více partitions, je nutné použít jejich device name, např. /dev/ad1s1. To platí i pro další kroky.
kldload geom_mirror
gmirror label -v -n -b round-robin gm0 /dev/ad1
gmirror load


3) Vytvoření nového virtuálního zařízení gm0 a zjištění aktuální konfigurace slice a zkopírování nastavení diskového prostoru
fdisk -v -B -I /dev/mirror/gm0
bsdlabel -w -B /dev/mirror/gm0s1
# inicializace
bsdlabel /dev/ad0s1 > /root/ad0slice
bsdlabel –R /dev/mirror/gm0s1 /root/ad0slice
bsdlabel -e /dev/mirror/gm0s1
# vytvoření a úprava slice

4) Vytvoření nového root device a zkopírování obsahu na zrcadlo
newfs -U –O2 –L root /dev/mirror/gm0s1a
mount /dev/mirror/gm0s1a /mnt
cd /mnt/
dump -L -0 -f- / | restore -r -v -f-


5) Vytvoření nového var device a zkopírování obsahu na zrcadlo
newfs -U –O2 –L var /dev/mirror/gm0s1d
mount /dev/mirror/gm0s1d /mnt/var
cd /mnt/var
dump -L -0 -f- /var | restore -r -v -f-


6) Vytvoření nového tmp device a zkopírování obsahu na zrcadlo
newfs -U –O2 –L tmp /dev/mirror/gm0s1e
mount /dev/mirror/gm0s1e /mnt/tmp
cd /mnt/tmp
dump -L -0 -f- /tmp | restore -r -v -f-


7) Vytvoření nového usr device a zkopírování obsahu na zrcadlo
newfs -U –O2 –L usr /dev/mirror/gm0s1f
mount /dev/mirror/gm0s1f /mnt/usr
cd /mnt/usr
dump -L -0 -f- /usr | restore -r -v -f-


8) Záloha a úprava souboru /etc/fstab.
Zde je nutné nahradit část cesty k zařízení /dev/adn za /dev/mirror/gmn
cp -p /mnt/etc/fstab /mnt/etc/fstab.orig
sed -e 's/dev\/ad0/dev\/mirror\/gm0/g' </etc/fstab >/mnt/etc/fstab
cat /etc/fstab
#kontrola nahrazeni

9) Úprava startovacích scriptů
echo 'swapoff="YES"' >>/mnt/etc/rc.conf
echo 'geom_mirror_load="YES"' >>/mnt/boot/loader.conf
echo "1:ad(1,a)/boot/loader" >/boot.config


10) Restart systému
shutdown -r now

11) Zrušení partition table prvního disku
dd if=/dev/zero of=/dev/ad0 bs=512 count=79

12) Konfigurace a vložení primárního disku do zrcadla
gmirror configure -a gm0
gmirror insert gm0 /dev/ad0


13) Po ukončení synchronizace restart systému
sh -c 'while [ ".`gmirror list | grep SYNCHRONIZING`" != . ]; do sleep 1; done'
shutdown -r now


V tomto okamžiku je po restartu zajištěn chod se zrcadlenými disky. Tím je zároveň zvýšena odolnost proti výpadku. Libovolný disk umožňuje běh systému, vadný disk lze nahradit (s použitím podobných postupů). Pozor, tento postup nelze použít pro zálohování ! Pouze zajišťuje vyšší provozní připravenost systému.

Powered by Drupal - Design by artinet