[+] mdadm - nie mog

Tematy związane z oprogramowaniem, instalacją, konfiguracją
badas
Posty: 4
Rejestracja: 21 listopada 2008, 19:14

[+] mdadm - nie mogę dodać partycji do macierzy

Post autor: badas »

Po chwilowym braku napięcia komputer mi się wyłączył a gdy uruchamiał programową macierz raid, uruchomił jedną z dwóch partycji.

Kod: Zaznacz cały

# cat /proc/mdstatPersonalities : [raid1] 
md127 : active raid1 sdb8[0]
      364819968 blocks [2/1] [U_]
      
unused devices: <none>
Dysk, który stanowi drugą część tej macierzy jak najbardziej działa i ma się wyśmienicie. Trzeba go więc tylko ponownie dodać do macierzy. Ale jakoś nic z tego nie wychodzi.

Kod: Zaznacz cały

# sudo mdadm /dev/md127 --re-add /dev/sda8
mdadm: --re-add for /dev/sda8 to /dev/md127 is not possible
# sudo mdadm /dev/md127 --fail /dev/sda8 --remove /dev/sda8
mdadm: set device faulty failed for /dev/sda8:  No such device
# sudo mdadm /dev/md127 --add /dev/sda8
mdadm: /dev/sda8 reports being an active member for /dev/md127, but a --re-add fails.
mdadm: not performing --add as that would convert /dev/sda8 in to a spare.
mdadm: To make this a spare, use "mdadm --zero-superblock /dev/sda8" first.
No i tutaj problem, nie wiem o co mu chodzi, ten sposób zwykle działał w najlepsze. Albo samo re-add albo najpierw usunięcie a potem dodanie. Tym razem nie działa .fdisk, smartctl i inne wskazują, że zarówno z dyskiem jak i partycją wszystko jest w porządku.

Może przyda się jeszcze informacja z examine.

Ten dysk nie uruchamia się, a jak widać twierdzi, że jest częścią działającej macierzy.

Kod: Zaznacz cały

# sudo mdadm --examine /dev/sda8
/dev/sda8:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 306fc8ba:e6ea97e0:7a9e4e85:389936fa (local to host boruta)
  Creation Time : Fri May 21 16:38:55 2010
     Raid Level : raid1
  Used Dev Size : 364819968 (347.92 GiB 373.58 GB)
     Array Size : 364819968 (347.92 GiB 373.58 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 127


    Update Time : Mon Oct 17 21:19:38 2011
          State : active
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 240fe904 - correct
         Events : 57835




      Number   Major   Minor   RaidDevice State
this     1       8        8        1      active sync   /dev/sda8


   0     0       8       24        0      active sync   /dev/sdb8
   1     1       8        8        1      active sync   /dev/sda8
Ten natomiast przedstawia jak najbardziej poprawne informacje.

Kod: Zaznacz cały

# sudo mdadm --examine /dev/sdb8
/dev/sdb8:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 306fc8ba:e6ea97e0:7a9e4e85:389936fa (local to host boruta)
  Creation Time : Fri May 21 16:38:55 2010
     Raid Level : raid1
  Used Dev Size : 364819968 (347.92 GiB 373.58 GB)
     Array Size : 364819968 (347.92 GiB 373.58 GB)
   Raid Devices : 2
  Total Devices : 1
Preferred Minor : 127


    Update Time : Wed Oct 19 21:22:49 2011
          State : clean
 Active Devices : 1
Working Devices : 1
 Failed Devices : 1
  Spare Devices : 0
       Checksum : 24137030 - correct
         Events : 58028




      Number   Major   Minor   RaidDevice State
this     0       8       24        0      active sync   /dev/sdb8


   0     0       8       24        0      active sync   /dev/sdb8
   1     1       0        0        1      faulty removed
Na razie jedyne, co wyszukałem w temacie to sugerowane już przez

Kod: Zaznacz cały

 --add:--zero-superblock
jednak nie chcę używać tej niezrozumiałej dla mnie opcji szczególnie, że nie rozumiem jej opisu w podręczniku systemowym, a nie wygląda na bezpieczną.
fnmirk
Senior Member
Posty: 8295
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

Spróbuj sprawdzić dyski z poziomu jakiejś dystrybucji narzędziowej Linuksa.
http://debian.linux.pl/threads/9479-Dys ... #post61503

Dystrybucje: grml i SystemRescueCD będą do tego odpowiednie.
tomii
Junior Member
Posty: 687
Rejestracja: 21 października 2007, 13:27

Post autor: tomii »

Skoro włączyłeś w tym stanie komputer to przypuszczam, że macierz będzie wymagać synchronizacji (o ile uda się dodać tą sda8 do macierzy). A skoro tak, to, czy nie łatwiej skasować sda8, utworzyć na nowo i dodać do macierzy?
badas
Posty: 4
Rejestracja: 21 listopada 2008, 19:14

Post autor: badas »

Znalazłem rozwiązanie w wątku: http://www.spinics.net/lists/raid/msg35440.html
Tak jak sugeruje add należało wykonać następujące polecenia:

Kod: Zaznacz cały

sudo mdadm /dev/sda8 --zero-superblock
co wyczyściło wszelkie informacje o raid na tej partycji (były one błędne, macierz sądziła, że jest aktywna i zsynchronizowana, tymczasem nie była nawet montowana do macierzy). Efektem wywołania tego polecenia jest to, że partycja nim potraktowana jest "czysta" z punktu widzenia programu mdadm - nie ma na niej żadnej informacji co do tego, czy była kiedykolwiek częścią układu raid programowego.
Następnie można po prostu dodać partycję (dodać, nie ponownie dodać, gdyż wszelkie informacje o byciu częścią macierzy zostały z partycji usunięte)

Kod: Zaznacz cały

sudo mdadm /deb/md127 --add /dev/sda8
Po tym partycja została dodana i synchronizuje się (trochę dziwnie dodana, bo jako 3 partycja w macierzy i nadal w informacji mam brakującą partycję, ale to chyba już kwestia pogrzebania w konfiguracji, mogę mieć wpis o 3 partycji w macierzy, nie przeszkadza mi on).

Operacje add i re-add z tego co wyczytałem zostały celowo skomplikowane w niedawnej aktualizacji mdadm, bo wielu użytkowników omyłkowo dodawało do macierzy partycje, które aktualnie były ich aktywnymi częściami.

Myślę, że temat można zamknąć.
ODPOWIEDZ