Strona 1 z 2

Symulacja awarii programowego raidu

: 04 maja 2011, 10:50
autor: peter86
Próbuję zrobić programowy RAID10 podczas instalacji Debiana 6.0 Squeeze. Poniżej zrzuty ekranu:

Obrazek01 - Dyski przed partycjonowaniem.
Obrazek02 - Dyski po partycjonowaniu.
Obrazek03 - Po utworzeniu RAID10.

Poniżej przedstawiam obrazek z wyniku polecenia:

Kod: Zaznacz cały

cat /proc/mdstat

Obrazek04

Dla podsumowania:

Kod: Zaznacz cały

/dev/sdb1 (active)
/dev/sdc1 (active)
/dev/sdd1 (hot-spare)
/dev/sde1 (hot-spare)

Schemat macierzy: n2

Następnie próbuję symulować awarię. Odpinam kolejno dyski spod ustawień maszyny wirtualnej. "Uruchamiają się" dyski hot-spare, wszystko jest dobrze. Gdy wypnę dwa dyski HS i kolejny z RAIDu, nie dostaje żadnych ostrzeżeń.

Poniżej kilka komunikatów po odpięciu dysków:

Obrazek05 - Wpis z /proc/mdstat po odpięciu pierwszego dysku.
Obrazek06 - Wpis z /proc/mdstat po odpięciu drugiego dysku dysku.
Obrazek07 - Wpis przy starcie systemu po wypięciu trzeciego dysku.
Obrazek08 - Wpis z /proc/mdstat po odpięciu trzeciego dysku.

Odpięcie ostatniego dysku:
Obrazek09 - Wpis z /proc/mdstat po odpięciu czwartego dysku.

Gdzie mam jakieś namacalne dowody, że coś się sypie? Dlaczego nigdzie nic nie krzyczy?

: 04 maja 2011, 11:15
autor: Redhead

Kod: Zaznacz cały

vim /etc/mdadm/mdadm.conf
MAILADDR użytkownik@localhost
Wpisz także w tym pliku swoje macierze w odpowiednimi UUID.
Potem już tylko popatrz do mutta użytkownik

Na pewno też krzyczy w messages.

: 04 maja 2011, 11:42
autor: peter86
Wpisy w /var/log/messages faktycznie są ale jakoś nie ma tam żadnych wykrzykników itd. :) Może się tylko czepiam, myślałem, że będzie to rozwiązane inaczej.

www.winditup.ovh.org/vmware/messages.txt

: 04 maja 2011, 11:48
autor: Redhead

Kod: Zaznacz cały

mdadm --monitor --help

: 09 maja 2011, 14:46
autor: peter86
Czy w Debianie 6.0 Squeeze jest jakiś domyślny, przychodzący z minimalną instalacją systemu, klient pocztowy?

Dodane:
Chyba jednak średnio to działa ale z innego powodu. Gdy użyję polecenia:

Kod: Zaznacz cały

mdadm --detail /dev/md0
dostaję informacje odnośnie aktywnych dysków i dysków typu spare. Gdy odpinam z maszyny kolejno dyski, w:

Kod: Zaznacz cały

mdadm --detail  /dev/md0
pojawiają się informacje, że raid jest:

Kod: Zaznacz cały

clear
degrated
I, że dyski były wyjęte a nie uszkodzone. Stąd też brakuje wpisu, że któryś z dysków jest oznaczony jako uszkodzony. Może nie da się tego pod maszyną wirtualną symulować?

: 09 maja 2011, 14:59
autor: Redhead
No to dobrze działa. Dysk odpiąłeś, więc jest

Kod: Zaznacz cały

removed
a jak chcesz:

Kod: Zaznacz cały

failed
to:

Kod: Zaznacz cały

mdadm --manage DEVICE --fail DEVICE

: 09 maja 2011, 15:19
autor: peter86
Wiadomo, ale chodziło o sprowokowanie sytuacji, w której system sam ustawi urządzenie jako:

Kod: Zaznacz cały

failed

: 09 maja 2011, 15:30
autor: Redhead
peter86 pisze:Wiadomo, ale chodziło o sprowokowanie sytuacji, w której system sam ustawi urządzenie jako:

Kod: Zaznacz cały

failed
Odpięcie dysku nie ustawi na raidu jako uszkodzony, ale jak zrobisz np mdadm na konkretne partycje, to zmiana w fdisku jednego dysku powinna to spowodować.

: 10 maja 2011, 09:14
autor: peter86
Wszystko działa. Będę musiał jeszcze przetestować wysyłanie komunikatów o błędach gdy takie zaistnieją. Chciałem jeszcze zapytać o jedno. Mam pięć dysków oraz partycje:
[INDENT]/dev/sda1 (/boot)
/dev/sda2 (swap)
/dev/sda3 (/)
[/INDENT]
Na tych poniżej tworzę RAID1:
[INDENT]/dev/sdb1 (1 GB) active
/dev/sdc1 (2 GB) active
/dev/sdd1 (3 GB) spare
/dev/sde1 (4 GB) spare
[/INDENT]
RAID1 ustawia się pod dysk /dev/sdb1 (1 GB). Następnie formatuję /dev/md0 na ext3 i montuje zasoby do katalogu /media/partycja_md0. Zakładam w /media/partycja_md0 plik np. test01.txt.

Sytuacje, które zaistniały kolejno:
  1. Wypinam /dev/sdb1.

    Wpis z

    Kod: Zaznacz cały

    mdadm --detail /dev/md0
    mówią o takich stanach:

    Kod: Zaznacz cały

    Active 2
    Working 3
    Failed 1
    Spare 1
    
  2. Wypinam /dev/sdc1

    Wpis z

    Kod: Zaznacz cały

    mdadm --detail /dev/md0
    mówią o takich stanach:

    Kod: Zaznacz cały

    Active 2
    Working 2
    Failed 2
    Spare 0
    
  3. Wypinam /dev/sdd1

    Wpis z:

    Kod: Zaznacz cały

    mdadm --detail /dev/md0
    mówią o takich stanach:

    Kod: Zaznacz cały

     Active 1
     Working 1
     Failed 3
     Spare 0
    (Zrzut ekranu)
I tu pytanie: do treści pliku mogę cały czas się dostać. Mogę go edytować, kopiować, tworzyć nowy plik itd. Czy w raidzie pierwszym w tym wypadku, po takich działaniach dopiero usunięcie ostatniej partycji/dysku z macierzy (symulowanie jego upadku), spowoduje ustawienie systemu plików macierzy tylko do odczytu jednocześnie uniemożliwiając pełny dostęp do danych?

Zrzuty ekranu z informacjami, po usunięciu ostatniej partycji w rajdzie:
(Zrzut ekranu 01)
(Zrzut ekranu 02)
(Zrzut ekranu 03)

: 10 maja 2011, 09:39
autor: Redhead
Skoro zrobiłeś RAID1 z dwoma dyskami spare, to możesz dodawać dane non stop, nawet jeśli padły 3 dyski, bo wtedy macierz non stop działa, ale jest w stanie:

Kod: Zaznacz cały

degrated
Do macierzy stworzonej w RAID1 z dwóch dysków jest potrzebny przynajmniej jeden, rzecz jasna.
Inna sprawa trochę miałaby się do RAID5 stworzonego z powiedzmy 5 dysków, bez spare. Wszystko będzie działać jak padnie tylko 1 z nich. Jak dodasz opcję ,,spare'', to umożliwi to zabezpieczenie na wypadek padnięcia jeszcze jednego dysku.

Kolejna rzecz, to jak usuniesz wszystkie dyski z RAID1 to wiadomo, że padnie. W RAID5 usuniesz dwa i już masz kaplicę.

W twoich sytuacjach wszystko widać, że dobrze działa. Macierz mimo padów dysków SDB1 SDC1 dalej działa, bo masz 2 dyski spare.