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