Linux SW RAID 1 – upgrade disků a zvětšení oddílů

(CentOS 5)

Výměna SATA disků (250 za 500 GB)

Upozornění: Toto je popis kroků provedených na našem serveru. Budete-li podle nich postupovat, buďte obezřetní, činíte tak na vlastní riziko.

1) Zapsání zavaděče na disk

Zavaděč musí být na obou discích, aby z každého mohl systém nastartovat.

Tento krok je třeba pouze pokud zavaděč na disku schází. (X = písmeno disku)

grub
grub>device (hd0) /dev/sdX
grub>root (hd0,0)
grub>setup (hd0)
grub>quit

 2) Postupné odebrání všech sdb oddílů z polí

Nastavení oddílu jako fail: (X = číslo pole resp. oddílu - viz /proc/mdstat)

mdadm --manage /dev/mdX --fail /dev/sdbX

Následné odebrání fail oddílu z pole:

mdadm --manage /dev/mdX --remove /dev/sdbX

3) Shutdown, výměna disku sdb za nový (větší)

4) Nabootování v degradovaném režimu z disku sda

5) Vytvoření příslušných oddílů na novém disku (sdb)

Podle výpisů tabulek připravíme rozvržení oddílů.

Upozornění: Oddíly na novém disku musí mít minimálně stejnou velikost (počet cylindrů / bloků) jako na disku původním.

Tabulka oddílů původního disku:

fdisk -l /dev/sda

Tabulka oddílů (resp. počet cylindrů) nového disku:

fdisk -l /dev/sdb

Při vytváření oddílů nastavena oddílům sdb2, sdb7 větší velikost a ostatním stejná jako na disku sda.

Vytvoření primárních oddílů a rozšířeného oddílu:

fdisk /dev/sdb

# n = vytvořit nový oddíl, p = primární (e = rozšířený), číslo oddílu, první cylindr, poslední cylindr

# Hodnoty cylindrů je nutné nastavit dle parametrů disku a vlastního rozvržení!

n,p,1,1,13  (prim. oddíl sdb1)
n,p,2,14,49783  (prim. oddíl sdb2 )
n,p,3,49784,56310  (prim. oddíl sdb3)
n,e,4,56311,60801 (ext. oddíl sdb4 - box pro logické oddíly)

# a = nastavit oddílu příznak "startovací"
a,1

# t = nastavit typ (id) oddílu, číslo oddílu, typ oddílu
t,1,fd (Linux raid autodetect)
t,2,fd (Linux raid autodetect)
t,3,fd (Linux raid autodetect)
t,4,5 (Linux extended)

# w = uložit tabulku rozdělení disku a ukončit fdisk
w

Kontrola stavu:

fdisk -l /dev/sdb

Vytvoření logických oddílů v sdb4 (rozšířeném oddílu):

fdisk /dev/sdb

n,56311,58921 (log. oddíl sdb5)
n,58922,59501 (log. oddíl sdb6)
n,59502,60801 (log. oddíl sdb7)

# nastavení typu (id) logickým oddílům
t,5,fd (Linux raid autodetect)
t,6,fd (Linux raid autodetect)
t,7,fd (Linux raid autodetect)

# uložení a ukončení
w

Kontrola výsledku, zejména počtu bloků jednotlivých oddílů:

fdisk -l /dev/sdb

6) Postupné přidání všech sdb oddílů do polí

mdadm /dev/mdX --add /dev/sdbX

Průběžná kontrola synchronizace polí:

watch -n 10 'cat /proc/mdstat'

7) Instalace zavaděče na disk sdb (viz bod 1)

Nyní jsou na disku sdb identická data jako na sda. Aby bylo využito volné místo ve zvětšených oddílech sdb2 a sdb7, je třeba provést resize polí a FS (filesystému). V bodech 8, 9 odebereme disk sda a provedeme resize s odmountovaným FS v záchranném režimu.

8) Odebrání všech sda oddílů z polí (viz bod 2), shutdown, odebrání disku sda

9) Nabootování v záchranném režimu z CD/DVD pouze s novým diskem (sdb)

Upozornění: Při odpojení prvního disku (sda), se disk sdb na portu 2 bude hlásit jako sda.

Vytvoření polí, které je potřeba zvětšit (missing = druhý disk chybí):

mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda2 missing
mdadm --create /dev/md5 --level=1 --raid-devices=2 /dev/sda7 missing

Expanze polí (maximální dostupná velikost):

mdadm --grow /dev/md1 --size=max
mdadm --grow /dev/md5 --size=max

Kontrola, zvětšení a opětovná kontrola FS:

e2fsck -f /dev/md1
resize2fs /dev/md1
e2fsck -f /dev/md1

Zvětšení FS /dev/md5: (Protože se jedná o SWAP, nepoužijeme resize2fs, ale znovu ho vytvoříme.)

mkswap /dev/md5

10) Nabootování v degradovaném režimu (bez prvního disku) a kontrola výsledku

Vypsat velikosti oddílů (oddíly se budou hlásit jako sda):
 
df

11) Shutdown a přidání nového disku (sda)

12) Vytvoření oddílů, synchronizace polí a instalace zavaděče na novém disku

Překopírování tabulky oddílů z sdb na sda:

sfdisk -d /dev/sdb | sfdisk /dev/sda

Přidání všech oddílů disku sda do polí (viz bod 6).

Instalace zavaděče na disk sda (viz bod 1).

13) Editace konfiguračního souboru /etc/mdadm.conf

Pokud se liší aktuální definice polí od definic v konf. souboru, upravíme ho nebo znovu vytvoříme.

Výpis aktuálních definic:

mdadm --detail --scan

Zálohování konf. souboru:

cp /etc/mdadm.conf /etc/mdadm.conf.bak

Vytvoření nového konf. souboru včetně původních nastavení (DEVICE, MAILADDR):

echo "DEVICE partitions" > /etc/mdadm.conf
echo "MAILADDR e-mail_admina" >> /etc/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf

14) Po restartu kontrola stavu polí

cat /proc/mdstat

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *