PC Servis a prodej Vondra

Vondra Tomáš, s.r.o.

Návody

Přechod na softwarový RAID 1

Hodnocení uživatelů: 0 / 5

Neaktivní hodnoceníNeaktivní hodnoceníNeaktivní hodnoceníNeaktivní hodnoceníNeaktivní hodnocení
 

Postup vytvoření RAID 1 na běžícím systému Linux.

Situace:

Máme běžící systém s jedním diskem bez RAIDU a chceme se zabezpečit proti výpadku disku. Oproti vyšším úrovním RAIDu je vyšší redundace - stejná data se ukládájí na všechny disky v poli, pro jeho provozování je třeba minimálně dvou disků. Máme jeden malý disk se systémem a chceme ho převést na 2 větší zapojené do RAID 1.

Postup:

  1. Zkontrolujeme, zda je v jádře zakompilována podpora pro softwarový RAID a nainstalujeme si balíček mdadm.

  2. Zapojíme disk, který chceme použít a rozdělíme ho na oblasti buď ručně pomocí fdisk nebo automaticky.Přidaný disk musí být stejně velký nebo větší než disk původní.

    sfdisk -d /dev/sda | sfdisk /dev/sdb
  3. Vytvoříme náš oblíbený souborový systém (například mkreiser /dev/sdb2), swap oddíl (mkswap /dev/sdb3, swapon /dev/sdb3) přimountujeme nový filesystém (mount /dev/sdb2 /nejaky_adresar) a přeneseme data (stále za běhu systému):

    rsync -avx --delete /* /mnt/nejaky_adresar

    Následuje podobná operace pro všechny další partition, pokud jich máme víc.

  4. Nyní musíme nastavit bootloader. Já používám grub, pro něj bude záznam v /boot/grub/grub.conf vypadat zhruba takto - (hd1,0) musí odpovídat nově přidanému disku, později to změníme na (hd0,0), protože v případě havárie jednoho z disků bude bootloader ukazovat na  disk hd0. (Jiná možnost je použít volbu "e" při startu grubu a upravit hodnoty dočasně při startu ):

    root (hd1,0)
    kernel /vmlinuz root=/dev/sdb1 (chceme nabootovat už z nově přidaného disku)
    boot

    Zkontrolujeme nastavení v /boot/grub/device.map nového disku, kde bychom mělí mít

    (hd0) /dev/sdb

    Nainstalujeme GRUB do MBR bootovacího disku: grub-install --no-floppy --root-directory /boot /dev/sdb1 nebo :

    #grub

    grub> root (hd1,0)

    grub> setup (hd1,0)

    grub> quit

  5. Pro kontrolu bychom z nového disku měli být schopni nabootovat.

  6. Pokud jsem schopni z nového disku nabootovat, odpojíme původní disk a přidáme další (bude opět sdb) a opakujeme kroky 1-5.

  7. Změníme typ diskových partitions na fd na disku, z kterého jsme nebootovali a je tedy umounted. Já přidávám disk sdb a rozdělení vypadá např takto:


    Device           Boot    Start      End     Blocks       Id     System

    /dev/sdb1 * 1 16 128488+ fd Linux raid autodetect
    /dev/sdb2 17 140 996030 fd Linux raid autodetect
    /dev/sdb3 141 264 996030 fd Linux raid autodetect

  8. Vytvoříme pole md0, disk sdb musí být "umounted":

    mdadm --create /dev/md0 -c 128 -l 1 -n 2 /dev/sdb1 missing

    Parametr -c určuje velikost bloku (můžeme vynechat pro standardních 64
    kiB), -l (level)typ RAIDu (pro RAID 5 bychom zadali 5), -n počet zařízení
    v něm a slovem missing řekneme, že zařízení zatím chybí (a RAID tedy
    bude v degradovaném režimu).RAID 5 ze 4 disků bychom např. vytvořili takto:
    mdadm --create /dev/md3 -l 5 -n 4 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
    a následně vytvořili požadovaný filesystém např. mkfs.ext4 /dev/md3

  9. Stav vytvořeného pole můžeme ověřit takto:


    mdadm --detail  /dev/md0

  10. Do souboru mdadm.conf zapíšeme aktuální údaje o poli a vytvoříme zálohu konfigurace:

    cp /etc/mdadm.conf /etc/mdadm.conf_orig
    mdadm --examine --scan >> /etc/mdadm.conf

  11. Nyní nastavíme bootloader, abychom nabootovali už z degradovaného pole:

    root (hd1,0)
    kernel /vmlinuz root=/dev/md0 (chceme nabootovat už z nově přidaného disku)

    Upravíme fstab, aby root oddíl ukazoval na md0:

    fstab:
    /dev/md0     /boot     reiserfs     defaults         1 2

  12. Po rebootu zbývá jen dotvořit RAID na prvním disku:

    mdadm /dev/md0 -a /dev/sda1

    Kernel nyní začne synchronizovat disky, v /proc/mdstat můžeme sledovat průběh operace:

    md0 : active raid1 sdb1[0] sda1[1]
    128384 blocks [2/1] [U_]
    [=============>.......] recovery = 69.1% (88713/128384) \
    finish=3min speed=4773K/sec

  13. Opravit konfiguraci grubu, měl by ukazovat na  root (hd0,0)  nastavit správně fstab a zkontrolovat mdadm.conf:

    fstab:
    /dev/md0     /boot     reiserfs     defaults         1 2
    /dev/sda2     none            swap            sw              0 0
    /dev/sda3     /     reiserfs     defaults         0 1
    /dev/dvd     /media/dvd     auto     user,defaults         0 0
    none        /proc     proc    defaults          0 0
    none        /dev/shm  tmpfs   defaults          0 0

    Příklad mdadm.conf:

    DEVICE partitions
    ARRAY /dev/md1 level=raid1 num-devices=2 UUID=ed82a91b:c48fc2ba:3fa17ff1:df643a1c
    devices=/dev/sda2,/dev/sdb2
    ARRAY /dev/md0 level=raid1 num-devices=2 UUID=90981134:3625ace0:70fc083c:c11c5043
    devices=/dev/sda1,/dev/sdb1
    MAILADDR root

     

  14. Stejným postupem vytvoříme RAID i na ostatních částech disku, pokud to potřebujeme, včetně swapu.

  15. Pokud už doběhla synchronizace disků, máme vše hotovo a úspěšně za sebou. V souboru /proc/mdstat si nyní můžeme ověřit stav nového RAIDu:

    Personalities : [linear] [raid0] [raid1]

    md1 : active raid1 sda2[0] sdb2[1]

    995904 blocks [2/2] [UU]


    md2 : active raid1 sda3[0] sdb3[1]

    995904 blocks [2/2] [UU]


    md0 : active raid1 sdb1[0] sda1[1]

    128384 blocks [2/2] [UU]


  16.  

    Pokud chceme odstranit vadný disk z raid, tak je potřeba ho za vadný označit:

    mdadm  /dev/md0 -f  /dev/sdb1

    pak je potřeba vadný disk odebrat:

    hdadm /dev/md0 -r /dev/sdb1

    V této situaci se buď diskové pole nachází v degradovaném stavu (pokud jste neměli přidaný spare disk), nebo začala obnova dat na spare disk.

  17. Pro jistotu zkusíme ještě reboot za normální situace a po odpojení každého disku.

  18. Jako další kroky je vhodné nastavit monitorování disků pomocí S.M.A.R.T. (balíček smartmontools) a RAIDu pomocí mdadm -F.

A jak na připojení disku z RAID 1 v případě potřeby manipulace s daty na něm? Pokud se pokusíme disk připojit jako /dev/sda1 dostaneme se k hlášce "mount: neznámý systém souborů „mdraid“".

  1. Na druhém PC je zapotřebí nainstalovat podporu pro RAID do jádra, nainstalovat a spustit mdadm, zkontrolovat jaké pole máme vytvořeno :

    cat /proc/mdstat

    Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]

    md3 : active raid1 hdb1[0]
    521984 blocks [2/1] [U_]

    md4 : active raid1 hdb2[0]
    153701760 blocks [2/1] [U_]

    md5 : active raid1 hdb3[0]
    2064256 blocks [2/1] [U_]

    unused devices: <none>
  2. Připojit kýžený oddíl pomocí mount /dev/md4 /mnt/něco
Copyright © 2018 PC servis a prodej Vondra. Všechna práva vyhrazena.
Joomla! je svobodný software vydaný pod licencí GNU General Public License.