Mdadm odbudowa raid po awarii dysku

Więc tak uszkodził nam się dysk /dev/sdb lub mamy podejrzenie uszkodzenia i chcemy wymienić dysk. Do dzieła:

 

1.1 Sprawdzamy stan macierzy

# cat /proc/mdstat

Opis:

UU – macierz ok

_U – dysk wyrzucony z macierzy
U_ – j.w

Potrzebujesz więcej informacji: # mdadm –detail /dev/md0

Jeśli dysk ulegnie awarii zostanie wyrzucony z macierzy lub jeżeli my to wykryjemy i mamy dysk na podmiankę to zrobimy to ręcznie:

1.2 Oznaczamy wadliwy dysk jako fail a następnie wyrzucamy go z macierzy:
# mdadm -f /dev/md0 /dev/sdb1
# mdadm -r /dev/md1 /dev/sdb1

Następnie

# mdadm -f /dev/md0 /dev/sdb2
# mdadm -r /dev/md1 /dev/sdb2

1.3 Wyłączamy serwer demontujemy uszkodzony dysk a w jego miejsce montujemy nowy sprawny i włączamy serwer 😉

1.4 Na nowym dysku musimy utworzyć partycje takie same jak na dysku /dev/sda

Zrzucamy układ partycji ze sprawnego dysku

# sfdisk -d /dev/sda > sda.part

Wrzucamy układ partycji z dysku /dev/sda do dysku /dev/sdb

# sfdisk /dev/sdb < sda.part

Następnie musimy poinformować kernela o wprowadzonych zmianach. W tym celu instalujemy pakiet parted (apt-get install parted).

Informujemy kernela o zmianach:

# partprobe

Jeśli z jakiegoś powodu nie posiadasz tego pakietu lub nie możesz go doinstalować, uruchom serwer ponownie.

Powyższe ma sens jeśli dodawany dysk jest o takiej samej pojemności. W przypadku dysków większych, utwórz partycje ręcznie.
Pozostałe miejsce możesz przeznaczyć na przechowywanie mniej wrażliwych danych.

1.5 Dodajemy dysk do macierzy

# mdadm /dev/md0 --add /dev/sdb1
# mdadm /dev/md1 --add /dev/sdb2
1.6 Po tych zabiegach macierz rozpocznie synchronizację (cat /proc/mdstat aby podejrzeć) 
1.7 W między czasie musimy jeszcze zainstalować gruba na nowym dysku aby system wstał jeżeli padnie dysk /dev/sda.
# grub-install /dev/sdb


Po tych zabiegach znowu mamy pełne bezpieczeństwo oraz poczucie spokoju ;) oczywiście do czasu kolejnej awarii ;)