RAID (vytvoření nového pole)
Pro vytvoření nového RAID pole se používá režim --create
(lze použít i zkrácenou verzi parametru -C
). Tento režim se nikdy nesmí použít, pokud pracujeme s disky již existujícího pole! Tj. pokud chceme do nového pole přidat blokové zařízení, které již bylo součástí nějakého RAID pole, je nezbytné provést nejprve u tohoto zařízení vynulování superbloku ( viz část Vyhození disku z pole )
Bloková zařízení a RAID
RAID pole lze sestavit rovnou z celých disků, většinou je však lepší RAID pole sestavit z logických oddílů. A to z následujících důvodů:
- v případě že má být nad RAID polem umístěn i systémový disk, umožní tabulka rozdělení disku (ve které jsou adresovány logické oddíly) umístit zavaděč. Viz tabulka
- když je RAID pole sestaveno z logických disků, lze použít disky rozdílné velikosti
S - spare disk
Disk, který je součástí RAID zařízení, ale není používaný dokud z něj některý disk nevypadne. Pak přestane být označen [S] a začnou se na něj replikovat data.
V případě že zhavaruje disk na kterém byly uloženy informace potřebné pro replikaci, dojde ke ztrátě dat. To je důvod proč upřednostnit RAID-6 před RAID-5. |
F - faulty disk
Když nějaké blokové zařízení, které je součástí RAID pole zkolabuje, zůstane dále jeho součástí, ale je označeno jako faulty [F]. V poli je takový disk nahrazen prvním dostupným spare diskem, na který se automaticky začne pole rekonstruovat. Pokud není spare disk k dispozici, může pole fungovat dál, pokud mu to dovolí jeho typ, ovšem v degradovaném režimu.
Pokud chceme nějaké diskové zařízení z RAID pole vyjmout, musíme ho nejprve označit jako faulty (přestože je v pořádku), jinak nám ho nedovolí mdadm odstranit, protože s ním bude stále pracovat. |
Vytvoření RAID pole typu 0 z blokových zařízení /dev/hda3
a /dev/sda3
Vytvoření pojmenovaného RAID pole
Stav RAID pole
Linuxový RAID vytváří zařízení v rámci MD subsystému, proto systém tato zařízení vidí pod jejich pořadovými čísly v rámcio adresáře /dev/md
. Informace o aktuálním stavu MD subsystému udržuje jádro v souboru /proc/mdstat
, ze kterého lze získat podrobnosti o aktuálně spuštěných RAID polích pouhým výpisem:
user@stroj:~$ cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda1[0] hda1[1]
19542976 blocks [2/2] [UU]
unused devices: <none>
|
Výše uvedený příklad poskytuje informaci o tom že v systému běží jedno spuštěné RAID pole typu 1 (mirror), které je dostupné jako blokové zařízení /dev/raid1
. Je složené ze dvou diskových oddílů - /dev/sda1
, který je na SATA disku a /dev/hda1
, který je na IDE disku. Pole je plně funkční - má příznak [UU], který signalizuje že oba z disků jsou ve stavu U (z angl. up - nahozené).
Neúplné ( degradované) RAID pole
V případě že by některý z disků vypadnul, běželo by RAID pole dál, ovšem v degradovaném stavu. Data by nadále zůstala dostupná, ovšem pouze z jednoho disku. Ovšem v případě selhání i tohoto druhého disku by mohla být ztracena, proto by bylo zapotřebí do RAID pole urychleně přidat náhradní disk.
U běžícího pole, kterému vypadlo či selhalo některé z blokových zařízení by příznak vypadal buď [U_] nebo [_U], v závislosti na tom, který z disků nelze použít.}}
S výjimkou RAID 0 se nové pole vždy vytvoří v degradovaném stavu, s tím, že pokud je přítomen plný počet blokových zařízení, začne automaticky proces synchronizace. Znamená to, že se ukládaná data primárně ukládají na jeden z disků a teprve z něj se postupně rozhazují na další disky v RAID poli. Tento proces synchronizace - nazývaný také "rekonstrukce" - raidového pole je poměrně zdlouhavý. Pokud na nově vytvořený RAID, který se teprve synchronizuje, začnete ihned sypat data, může trvat ještě déle. Proto máte několik možností
- Nechat dojet synchronizaci a teprve pak začít RAID používat
- Manuálně zastavit synchronizaci, dokud neskončí všechny ostatní operace s polem (ovšem pak ji nesmíte zapomenout spustit)
- Nové pole vytvářet rovnou s parametrem
--assume-clean
, a synchronizaci spustit manuálně až po nakopírování dat. - Nové pole vytvořit jako degradované, nasypat do něj data a teprve poté do něj přidat další disky, které se začnou automaticky synchronizovat.Tato možnost se hodí obzvlášť tehdy, když nemůžeme nebo nechceme použít rovnou všechny diskové oddíly.