(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
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