Skocz do zawartości

Raid 1 (mirror) + Działania Podczas Awarii


ebnowak

Rekomendowane odpowiedzi

Otrzymałem już kilka maili z pytaniami na temat raid-ów.

Postanowiłem więc napisać coś na forum - może się komuś jeszcze przyda ten opis :)

Wykorzystuję: Fedora Core 4: 2.6.12-1.1398 + aktualizacje.

 

Przykład tworzenia raid 1 (mirror) oraz działania podczas jego awarii:

 

Dla celów testowych wykorzystuje jeden dysk (/dev/sdd), ale w sytuacji gdy rozważamy zastosowanie raid-a 1 musimy brać pod uwagę 2 "niezależne" dyski. Jest to oczywiście związane z zapewnieniem redundancji już na poziomie hardware.

 

1. Załóżmy, że posiadamy podzielony dysk /dev/sdd w następujący sposób:

/dev/sdd1 1 13 104391 fd Linux raid autodetect

/dev/sdd2 14 26 104422+ fd Linux raid autodetect

/dev/sdd3 27 39 104422+ fd Linux raid autodetect

 

UWAGA: Ważne aby typ partycji (nadany np. za pomocą programu fdisk) był: "fd Linux raid autodetect".

Partycje nie posiadają systemu plików, ale muszą posiadać identyczną wielkość.

 

2. Tworzymy raid 1 (/dev/md7) na partycjach /dev/sdd1 oraz /dev/sdd2:

# mdadm --create /dev/md7 --level=1 --raid-devices=2 /dev/sdd1 /dev/sdd2

 

3. Tworzymy system plików:

# mkfs.ext3 /dev/md7

 

4. Sprawdzamy poprawność "utwarzenia" mirror:

# cat /proc/mdstat

md7 : active raid1 sdd2[1] sdd1[0]

104320 blocks [2/2] [uU]

 

UWAGA: Czas "uruchomienia" mirror-a:

Przykład: [============>........] recovery = 60.7% (63488/104320) finish=0.0min spe ed=7054K/sec

uzależniony jest od wielkości tworzonego zasobu.

Stanem docelowym jest stan: "active".

 

5. Montujemy mirror pod zasobem /mnt/test:

# mkdir /mnt/test

# mount /dev/md7 /mnt/test

 

6. Jeżeli chcemy go wykorzystywać na stałe musimy:

I) dodać odpowiedni wpis do /etc/fstab (proponuję zrobić backup modyfikowanego pliku):

# cp -p /etc/fstab /etc/fstab.ORG

# echo "/dev/md7 /mnt/test ext3 defaults 1 2" >> /etc/fstab

II) dodać odpowiednie wpisy do /etc/mdadm.conf (proponuję zrobić backup modyfikowanego pliku):

# cp /etc/mdadm.conf /etc/mdadm.conf.ORG

Należy sprawdzić czy poniższe wpisy nie wsytępują już w pliku /etc/mdadm.conf:

# cat /etc/mdadm.conf

# echo "DEVICE partitions" >> /etc/mdadm.conf

# echo "MAILADDR root@localhost" >> /etc/mdadm.conf

oraz dodać nowy wpis do w/w pliku:

# mdadm --detail --scan | grep ARRAY | grep '/dev/md7' >> /etc/mdadm.conf

 

7. Zakładamy, że awarii uległ /dev/sdd2, a zamierzamy go zastąpić partycją /dev/sdd3:

# mdadm /dev/md7 -f /dev/sdd2 -r /dev/sdd2 -a /dev/sdd3

Możemy oczywiście tą operację podzielić na dwie niezależne:

I) oznacznie dysk jako uszkodzony oraz usunięcie z mirror-a:

# mdadm /dev/md7 -f /dev/sdd2 -r /dev/sdd2

II) dodanie nowego dysku do mirror-a:

# mdadm /dev/md7 -a /dev/sdd3

 

8. Wyczyszczenie sperblock-a dla uszkodzonego urządzenia /dev/sdd2:

# mdadm --zero-superblock /dev/sdd2

 

UWAGI KONCOWE:

1. Do tego celu nie musimy odmontowywać zasobu /mnt/test lub zatrzymywać /dev/md7.

2. Całą operację wykonujemu na "pracującym" zasobie".

Ważne aby operacje wykonać w trakcie "małego" obciązenia zasobu: /dev/md7.

"Odbudowanie" mirror-a może być procesem "wymagającym" dla naszego systemu (przykład UWAGA w pkt. 4).

 

POZOSTAŁE WAŻNE POLECENIA:

mdadm --detail /dev/md? wyswietlenie informacji o podanym urządzeniu /dev/md?

mdadm --examine /dev/sda? wyswietlenie informacji o przypisaniu danej partycji do okreslonego raid (/dev/md?)

mdadm --stop /dev/md? zatrzymanie wskazanego md?

mdadm --assemble /dev/md? uruchomienie okreslonego raid

 

Pozdrawiam.

 

PS. Jeżeli będą jakieś osoby zainteresowane tematem RAID-ów - proszę o komentarz w tym wątku.

Dla zainteresowanych mogę poszerzyć temat o RAID 0 (stripe); RAID 5 oraz LVM2.

Odnośnik do komentarza
Udostępnij na innych stronach

Fajny opis :] Mógłbyś wrzucić to do wiki? Serwery obsługujące fedora.pl są teraz aktualizowane, więc niedługo ruszymy już oficjalnie :-)

 

Do jakiego by to tylko działu wrzucić...

Witam.

 

Oczywiście dodam to do WIKI - poszerzę o RAID 0; 5 + spare + mam swoje testy wydajnościowe oparte na bonie++.

 

Mam tylko małe pytanie: wcześniej napisałem 1 opis na www.wiki.stemar.com.pl w sekcji konfiguracja, na wiki.fedora.pl nie znajduję go ?

 

Pozdrawiam i z góry dzięki za odpowiedź :)

Odnośnik do komentarza
Udostępnij na innych stronach

No to by wiele tłumaczyło :)

http://wiki.fedora.pl jeszcze nie ruszyło :P Dopiero to konfiguruję. Na tym serwerze nie było php-mbstring, przez co nie można było stosować polskich znaków. Tymczasowo postawiliśmy to na serwerze _Pata. Niedługo wszystko będzie tak jak trzeba :-)

 

Nie przeszkadzałoby Ci też przeniesienie Twojego artykułu z działu porad na temat Neostrady? Jak wiki ruszy, to "Porady" zostaną usunięte. Zgodziłbyś się na licencję GNU FDL (taka sama jak w przypadku Wikipedii czy dokumentacji Fedory)?

Odnośnik do komentarza
Udostępnij na innych stronach

Nie przeszkadzałoby Ci też przeniesienie Twojego artykułu z działu porad na temat Neostrady? Jak wiki ruszy, to "Porady" zostaną usunięte. Zgodziłbyś się na licencję GNU FDL (taka sama jak w przypadku Wikipedii czy dokumentacji Fedory)?

 

Oczywiście.

 

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...