Zrestartuj zdegradowaną macierz RAID po awarii

1

Musiałem (tymczasowo) zredukować macierz RAID5, aby były dostępne cztery z pięciu dysków. Sprawy pogarszają się, gdy mój system uległ awarii podczas procesu zapisu. Po ponownym uruchomieniu system chce uruchomić „Rekonstrukcję w tle”, tak jak zwykle w nienaruszonej macierzy, aby odtworzyć brakującą nadmiarowość. Ponieważ tablica ulega degradacji, ta rekonstrukcja nie rozpoczyna się (patrz https://raid.wiki.kernel.org/index.php/Tweaking,_tuning_and_troublesh#Autodetection ostatni akapit na temat tego, co robi Rekonstrukcja).

Chcę ponownie aktywować moją tablicę, ale a mdadm --run / dev / md127 generuje błąd wejścia / wyjścia (ten sam komunikat „rekonstrukcja tła” pod syslog). Wiem, że tracę trochę MB danych, ale jak mogę przywrócić tablicę do pracy?

/dev/md127:
        Version : 1.2
     Raid Level : raid5
  Used Dev Size : 1360148480 (1297.14 GiB 1392.79 GB)
   Raid Devices : 5
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Fri Jun 14 10:54:22 2013
          State : active, degraded, Not Started 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : mars:RA
           UUID : 05c6d9f1:87571dc6:ee0d9f6b:c0b0c320
         Events : 159201

    Number   Major   Minor   RaidDevice State
       7       8       18        0      active sync   /dev/sdb2
       8       8       66        1      active sync   /dev/sde2
       2       0        0        2      removed
       5       8       34        3      active sync   /dev/sdc2
       9       8       50        4      active sync   /dev/sdd2
Taraquedo
źródło
3
Wszelkie dane, których kopie zapasowe nie zostały utworzone, powinny być teraz archiwizowane, jeśli to możliwe. Następnie utwórz nową tablicę i przywróć dane z kopii zapasowej. Celem RAID jest umożliwienie „kontynuowania”, gdy coś zawiedzie. Jeśli nie będzie „po prostu kontynuować”, próba zepsucia po prostu zwiększa czas przestoju, pokonując punkt RAID. Im szybciej się poddasz, tym mniej przestojów będziesz miał.
David Schwartz
Pokaż dokładny błąd.
psusi

Odpowiedzi:

0

Znowu to działa (po dodatkowej adrenalinie)!

Zainstalowałem źródła jądra i przeczytałem dokumentację / md.txt. Tam znalazłem interesujące ustawienie w / sys / block / md127 / md / resync_start, który przechowuje pozycję procesu resyncowania. Ustawiono na „ 0 "co oznacza, że ​​resync powinien się rozpocząć, co nigdy nie nastąpi z powodu pogorszenia stanu tablicy. Sprawdziłem dwukrotnie, czy moje inne tablice mają wartość Żaden „tam (ponieważ wartości zmieniły się z niektórych wersji jądra na inne). Po prostu wykonałem echo„ Żaden „tam i zaskakująco wszystko działa znowu. Zacznę fsck i dzięki paranoi mam, mam sumy md5 i pliki par2 dla każdego pliku przechowywanego w systemie plików (stworzyłem je zanim zacząłem to krytyczne modyfikacja).

Uff ... to było blisko ;-)

Taraquedo
źródło