mdadm puska

Tux

A nyuszi pingvin nem piros tojást, hanem mdadm puskát hozott így húsvét hétfőjére. Nem mellesleg előkészíti a folyamatban lévő, DRBD Kalandok 2 cikket is. :) Remélem hasznos lesz!

Az mdadm egy modern, a legtöbb Linux disztribúcióban megtalálható eszköz, mellyel a szoftveres RAID köteteket kezelhetjük. Ugyanerre szolgált elődje, a raidtools is. Ez a puska az mdadm leggyakoribb használatát mutatja be és feltételezi, hogy megértetted a szoftveres RAID-et és úgy általánosságban magát a Linuxot. Az itt lévő parancsok mindössze az mdadm használatát magyarázzák meg. Az alant lévő példák RAID1 használatához vannak igazítva, de könnyen átültethetők bármelyik más, a Linux kernel által támogatott RAID szintre is.

1. Új RAID tömb létrehozása

mdadm --create --verbose /dev/md0 --level=1 /dev/sda /dev/sdb

2. A /etc/mdadm.conf szerkesztése

A /etc[/mdadm]/mdadm.conf az mdadm fő konfigurációs állománya. Miután létrehoztuk a köteteinket, adjuk hozzá azokat a fájlhoz:

mdadm --detail --scan >> /etc/mdadm.conf

Debian alapú rendszerek alatt:

mdadm --detail --scan >> /etc/mdadm/mdadm.conf

3. Kötet eltávolítása a tömbből

Nem távolíthatunk el egy kötetet csak úgy a tömbből, előbb hibásnak kell azt jeleznünk a rendszer felé (kivéve, ha már eleve hibásnak van jelölve):

mdadm --fail /dev/md0 /dev/sda

Most már eltávolíthatjuk:

mdadm --remove /dev/md0 /dev/sda

A fenti két parancsot egybe vonva:

mdadm /dev/md0 --fail /dev/sda --remove /dev/sda

4. Új kötet hozzáadása a tömbhöz

Mert kicseréltük a hibásat.

mdadm --add /dev/md0 /dev/sdb

Ha a meglévő tömbünkhöz szeretnénk egy újabb kötetet hozzáadni, mondjuk tárhely gyarapítás céljából, akkor plusz egy parancsra van szükségünk:

mdadm --grow /dev/md0 --raid-devices=<jelenleg a tömbben lévő eszközök száma + új eszközök száma>

Amennyiben nem adjuk ki a fenti parancsot, akkor egy ép tömb esetén az új diszk az úgynevezett tartalék (spare) eszközök listájába kerül. Így csak akkor lesz aktiválva, ha a rendszer hibásnak érzékeli a tömb valamelyik elemét. Ilyenkor (jó esetben) automatikusan elindul az adatok szinkronizációja és a tartalék lemez beillesztése.

5. RAID tömbök állapotának ellenőrzése

Rendszerszinten:

cat /proc/mdstat

Kimenet (valami hasonló):

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md1 : active raid1 sdc3[0] md0[1]
      39060864 blocks super 1.2 [2/2] [UU]
 
md0 : active raid0 sda[0] sdb[1]
      50387968 blocks super 1.2 512k chunks

Jelmagyarázat: U – minden rendben, F – hibás kötet, hiányzó lemez miatt degradálódott tömb.

Tömb szinten:

mdadm --detail /dev/md0

Kimenet (szintén hasonló):

/dev/md0:
        Version : 1.2
  Creation Time : Tue Mar  3 21:25:58 2015
     Raid Level : raid0
     Array Size : 50387968 (48.05 GiB 51.60 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent
 
    Update Time : Tue Mar  3 21:25:58 2015
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0
 
     Chunk Size : 512K
 
           Name : drbd-3:1  (local to host drbd-3)
           UUID : c71dcd63:6a41223d:47121d11:8584f6f0
         Events : 0
 
    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1       8       16        1      active sync   /dev/sdb

6. Tömb leállítása és törlése

Ha teljesen le szeretnénk állítani a tömbünket, akkor előbb meg kell állítani, majd törölni:

mdadm --stop /dev/md0
mdadm --remove /dev/md0

Végül pedig az összes különálló lemezről törölni kell a szuper blokkokat. Hogy miért? Többek között azért, mert új kötet összeállításakor az mdadm panaszkodik, hogy szerinte ez a lemez már tartozik valahova.

mdadm --zero-superblock /dev/sda

Akár egyenként, akár a partíciós tábla másolásával is megoldhatjuk.

Fontos: A nullázott lemezen elvész minden partíciós tábla információ, azaz fizikailag az adataid a lemezen lesznek, gyakorlatilag hagyományos módon nem férhetsz hozzá. Ezért mindenképp gondold át a használatát!

További példákhoz nézd meg az mdadm kézikönyvét (man mdadm), a program segítségét (mdadm –help) vagy a Linux RAID Wikit.

A cikk alapját a http://www.ducea.com/2009/03/08/mdadm-cheat-sheet/ oldal adta. Köszönet érte!