Archiwa tagu: mdadm

Wymiana dysku RAID 1

Założenia

Załóżmy że dysk w macierzy RAID już mamy wymieniony na nowy, chociaż przed wymianą wypadałoby odpiąć stary – ale o tym innym razem.

Dysk nowy / pusty -> /dev/sdb,

Dysk istniejący -> /dev/sda

Kopiowanie partycji

Na początku trzeba skopiować partycje. Jeśli nie wiemy jaką tablicę partycji posiadamy możemy użyć sfdisk -l. Jeśli rzuci błędem:

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util sfdisk doesn't support GPT. Use GNU Parted.

to znaczy że używamy GPT.

Tablica GPT

Dla tablicy GPT (czyli wszystko powyżej 2TB) należy użyć:

sgdisk -R=/dev/sdb /dev/sda

Spowoduje to skopiowanie partycji, następnie:

sgdisk -G /dev/sdb

aby zmienić identyfikatory GUID partycji, ponieważ powinny być jednoznaczne, a poprzednie polecenie skopiowało nam kompletną tablicę z wszystkimi identyfikatorami.

Tablica MBR

Dla MBR potrzebny jest następujący zestaw:

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

oraz opcjonalnie:

sfdisk -R /dev/sdb

jeśli system nie wczytał automatycznie tablicy partycji na nowym dysku.

GRUB

Następnie wypada zainstalować gruba na nowym dysku:

grub-install /dev/sdb

Podpinanie partycji do macierzy

Najpierw sprawdzimy listę partycji, wywołując:

cat /proc/mdstat

Powinniśmy zobaczyć coś podobnego:

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md1 : active raid1 sda2[2] 
 523968 blocks super 1.2 [2/1] [U_]
 
md0 : active raid1 sda1[2] 
 16768896 blocks super 1.2 [2/1] [U_]

....

Następnie dla każdej z partycji wykonujemy:

mdadm /dev/md1 -a /dev/sdb2

podmieniając nr partycji / urządzeń wyczytane z wyników cat /proc/mdstat.

Po wykonaniu powyższego cat /proc/mdstat powinien dać podobny wynik:

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md1 : active raid1 sda2[2] sdb2[1]
 523968 blocks super 1.2 [2/2] [UU]
 
md0 : active raid1 sda1[2] sdb1[1]
 16768896 blocks super 1.2 [2/2] [UU]
 
md3 : active raid1 sda4[2] sdb4[1]
 2879277312 blocks super 1.2 [2/1] [_U]
 [>....................] recovery = 4.2% (121450880/2879277312) finish=413.1min speed=111251K/sec
 
md2 : active raid1 sda3[2] sdb3[1]
 33537920 blocks super 1.2 [2/1] [_U]
 resync=DELAYED
 
unused devices: <none>

Oznacza to że poszczególne partycje są synchronizowane. Polecenie pokazuje też szacowany czas potrzebny na synchronizację poszczególnych partycji. Jest on oczywiście ściśle uzależniony od wielkości partycji i aktualnego obciążenia systemu.