Prosty mdadm RAID 1 nie aktywuje zapasowego

24

Utworzyłem dwie partycje HDD 2 TB ( /dev/sdb1i /dev/sdc1) w macierzy RAID 1 o nazwie /dev/md0using mdadmna Ubuntu 12.04 LTS Precise Pangolin.

Polecenie sudo mdadm --detail /dev/md0wskazujące oba dyski jako aktywną synchronizację .

Następnie do testów nie udało mi się /dev/sdb1, usunąłem go, a następnie dodałem ponownie za pomocą poleceniasudo mdadm /dev/md0 --add /dev/sdb1

watch cat /proc/mdstat pokazał pasek postępu przebudowy macierzy, ale nie spędziłbym godzin na oglądaniu go, więc założyłem, że oprogramowanie wiedziało, co robi.

Po tym, jak pasek postępu nie był już wyświetlany, cat /proc/mdstatwyświetla się:

md0 : active raid1 sdb1[2](S) sdc1[1]
      1953511288 blocks super 1.2 [2/1] [U_]

I sudo mdadm --detail /dev/md0pokazuje:

/dev/md0:
        Version : 1.2
  Creation Time : Sun May 27 11:26:05 2012
     Raid Level : raid1
     Array Size : 1953511288 (1863.01 GiB 2000.40 GB)
  Used Dev Size : 1953511288 (1863.01 GiB 2000.40 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Mon May 28 11:16:49 2012
          State : clean, degraded 
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

           Name : Deltique:0  (local to host Deltique)
           UUID : 49733c26:dd5f67b5:13741fb7:c568bd04
         Events : 32365

    Number   Major   Minor   RaidDevice State
       1       8       33        0      active sync   /dev/sdc1
       1       0        0        1      removed

       2       8       17        -      spare   /dev/sdb1

Powiedziano mi, że mdadm automatycznie zastępuje usunięte dyski /dev/sdb1częściami zamiennymi, ale nie jest przenoszony do oczekiwanej pozycji, RaidDevice 1.


UPDATE (30 maja 2012):badblocks destrukcyjne testy odczytu i zapisu z całą /dev/sdbprzyniosły żadnych błędów zgodnie z oczekiwaniami; oba dyski twarde są nowe.

Od ostatniej edycji zestawiłem tablicę za pomocą tego polecenia:

sudo mdadm --assemble --force --no-degraded /dev/md0 /dev/sdb1 /dev/sdc1

Wynik był:

mdadm: /dev/md0 has been started with 1 drive (out of 2) and 1 rebuilding.

Odbudowa wygląda tak, jakby postępowała normalnie:

md0 : active raid1 sdc1[1] sdb1[2]
      1953511288 blocks super 1.2 [2/1] [U_]
      [>....................]  recovery =  0.6% (13261504/1953511288) finish=2299.7min speed=14060K/sec

unused devices: <none>

Teraz czekam na tę przebudowę, ale spodziewam /dev/sdb1się , że będę zapasowy, tak jak pięć czy sześć razy, kiedy próbowałem przebudować wcześniej.


AKTUALIZACJA (31 maja 2012 r.): Tak, wciąż jest zapasowy. Ugh!


AKTUALIZACJA (1 czerwca 2012 r.): Próbuję zasugerować polecenie Adriana Kelly'ego :

sudo mdadm --assemble --update=resync /dev/md0 /dev/sdb1 /dev/sdc1

Czekam na odbudowę teraz ...


AKTUALIZACJA (2 czerwca 2012 r.): Nie, wciąż zapasowy ...


AKTUALIZACJA (4 czerwca 2012 r.): PB poruszył problem, który przeoczyłem: być może /dev/sdc1napotykałem błędy We / Wy . Nie zadałem sobie trudu, aby sprawdzić, /dev/sdc1ponieważ wyglądało to dobrze i było zupełnie nowe, ale błędy we / wy pod koniec dysku są racjonalną możliwością.

Kupiłem te dyski twarde w sprzedaży, więc nie byłoby zaskoczeniem, że jeden z nich już zawodzi. Ponadto żadne z nich nie obsługuje SMART , więc nic dziwnego, że były tak tanie ...

Oto procedura odzyskiwania danych, którą właśnie wymyśliłam i wykonuję:

  1. sudo mdadm /dev/md0 --fail /dev/sdb1abym mógł wyjąć /dev/sdb1.
  2. sudo mdadm /dev/md0 --remove /dev/sdb1usunąć /dev/sdb1z tablicy.
  3. /dev/sdc1 jest zamontowany na /media/DtkBk
  4. Sformatuj /dev/sdb1jako ext4.
  5. Zamontuj /dev/sdb1do /media/DtkBkTemp.
  6. cd /media pracować w tym obszarze.
  7. sudo chown deltik DtkBkTempaby dać mi (nazwę użytkownika deltik) prawa do partycji.
  8. Wykonaj kopię wszystkich plików i katalogów: sudo rsync -avzHXShP DtkBk/* DtkBkTemp

AKTUALIZACJA (06 czerwca 2012): Zrobiłem badblocksniszczący test w trybie zapisu /dev/sdc, wykonując następujące procedury:

  1. sudo umount /media/DtkBk aby umożliwić zburzenie tablicy.
  2. sudo mdadm --stop /dev/md0 aby zatrzymać tablicę.
  3. sudo badblocks -w -p 1 /dev/sdc -s -vaby wyczyścić podejrzany dysk twardy, a następnie sprawdź błędy We / Wy. Jeśli występują błędy we / wy, nie jest to dobry znak. Mam nadzieję, że mogę uzyskać zwrot pieniędzy ...

Potwierdziłem teraz, że na żadnym dysku twardym nie występują problemy z wejściem / wyjściem .

Po tych wszystkich badaniach moje dwa oryginalne pytania wciąż pozostają bez odpowiedzi.


Moje pytania to:

  1. Dlaczego dysk zapasowy nie staje się aktywną synchronizacją?
  2. Jak mogę aktywować dysk zapasowy?
Deltik
źródło

Odpowiedzi:

14

W ten sposób po prostu wsuwa dysk do tablicy, nie robiąc nic, tzn. Jest on członkiem tablicy, ale nie jest w niej aktywny. Domyślnie zamienia to w zapasowy:

sudo mdadm /dev/md0 --add /dev/sdb1

Jeśli masz zapasowy, możesz go wyhodować, zmuszając liczbę aktywnych dysków do powiększenia tablicy. Przy 3 dyskach i 2, które mają być aktywne, musisz zwiększyć liczbę aktywnych do 3.

mdadm --grow /dev/md0 --raid-devices=3

Sterownik macierzy RAID zauważy, że jesteś „krótki”, a następnie poszuka zapasowego. Znajdując zapasowe, zintegruje go z macierzą jako aktywny dysk. Otwórz zapasowy terminal i pozwól, aby uruchomił się w nim dość prymitywny wiersz poleceń, aby mieć kontrolę nad postępem ponownej synchronizacji. Pamiętaj, aby wpisać go jako jedną linię lub użyć znaku podziału linii (\), a gdy zakończy się przebudowa, po prostu wpisz Ctrl-C w terminalu.

while true; do sleep 60; clear; sudo mdadm --detail /dev/md0; echo; cat /proc/mdstat; done

Twoja tablica będzie teraz miała dwa aktywne dyski, które są zsynchronizowane, ale ponieważ nie ma 3 dysków, nie będzie w 100% czysta. Usuń uszkodzony dysk, a następnie zmień rozmiar tablicy. Pamiętaj, że --growflaga jest nieco myląca - może oznaczać albo wzrost, albo zmniejszenie:

sudo mdadm /dev/md0 --fail /dev/{failed drive}
sudo mdadm /dev/md0 --remove /dev/{failed drive}
sudo mdadm --grow /dev/md0 --raid-devices=2

Jeśli chodzi o błędy, problem z łączem z napędem (tj. Portem PATA / SATA, kablem lub złączem napędu) nie wystarcza do uruchomienia przełączenia awaryjnego hot spare, ponieważ jądro zwykle przełącza się na użycie innego „dobrego” podczas resetowania łącza do „złego” dysku. Wiem o tym, ponieważ korzystam z macierzy z 3 dyskami, 2 z gorącymi, 1 z wolnymi dyskami, a jeden z dysków niedawno postanowił trochę odciąć się w logach. Kiedy przetestowałem wszystkie dyski w macierzy, wszystkie 3 przeszły „długą” wersję testu SMART, więc nie jest to problem z talerzami, komponentami mechanicznymi ani wbudowanym kontrolerem - który pozostawia niestabilny kabel łączący lub zły port SATA. Być może właśnie to widzisz. Spróbuj przełączyć dysk na inny port płyty głównej lub użyć innego kabla i sprawdź, czy to się poprawi.


Kontynuacja: ukończyłem rozszerzanie kopii lustrzanej na 3 dyski, nie udało mi się i usunąłem niestabilny dysk z macierzy MD, wymieniłem kabel na nowy (płyta główna to obsługuje) i ponownie dodałem dysk. Po ponownym dodaniu natychmiast rozpoczęła ponowną synchronizację dysku. Jak dotąd w dzienniku nie pojawił się ani jeden błąd, mimo że dysk jest intensywnie używany. Tak, tak, kable napędowe mogą się psuć.

Avery Payne
źródło
Niestabilny kabel łączący? Kupuję to wyjaśnienie, ale nie mogę go już przetestować, ponieważ kilka miesięcy temu ponownie zastosowałem oba dyski. Przyjmuję tę odpowiedź jako najlepszą odpowiedź na mój konkretny problem, ale inna świetna odpowiedź to ta .
Deltik
Jako aktualizacja, ta odpowiedź pozostaje najbardziej użyteczna dla większości ludzi, dlatego ją zaakceptowałem, ale tak naprawdę zdarzyło się, że jeden z dysków w mojej macierzy RAID 1 był zły, najprawdopodobniej /dev/sdc1w tym czasie, ponieważ /dev/sdc1był czytany podczas /dev/sdb1było pisane, a uszkodzone sektory /dev/sdb1zostałyby w przejrzysty sposób odwzorowane podczas pisania.
Deltik,
1
Aby mieć kontrolę nad procesem resynchronizacji, wykonaj, watch -n 60 cat /proc/mdstatgdzie 60jest liczba sekund między odświeżeniami.
Erk
8

Miałem dokładnie ten sam problem iw moim przypadku dowiedziałem się, że na aktywnym dysku RAID wystąpiły błędy odczytu podczas synchronizacji. Dlatego nowy dysk został zsynchronizowany nowszy i dlatego został oznaczony jako zapasowy.

Możesz sprawdzić swoje / var / log / messages i inne dzienniki systemowe pod kątem błędów. Ponadto dobrym pomysłem może być sprawdzenie stanu SMART dysku:
1) Uruchom krótki test:

„smartctl -t short / dev / sda”

2) Wyświetl wyniki testu:

„smartctl -l selftest / dev / sda”

W moim przypadku zwróciło to coś takiego:

=== ROZPOCZĘCIE ODCZYTU INTELIGENTNYCH SEKCJI DANYCH ===
SMART Numer wersji logu autotestu numer 1
Num Test_Description Status Pozostały czas życia (godziny) LBA_of_first_error
1 Rozszerzony offline Zakończony: błąd odczytu 90% 7564 27134728
2 Krótki offline Zakończony: błąd odczytu 90% 7467 1408449701

Musiałem uruchomić dystrybucję na żywo i ręcznie skopiować dane z uszkodzonego dysku na nowy (obecnie „zapasowy”).

PB
źródło
Aha! Nie sądziłem, że podejrzewam aktywny dysk pod kątem błędów we / wy. Z jakiegoś powodu SMART nie jest obsługiwany na tych dyskach twardych. To i możliwe błędy we / wy na dwóch zupełnie nowych dyskach twardych? Wydaje mi się, że dokonałem złego zakupu ... W każdym razie podejmuję teraz procedury odzyskiwania danych na dysk twardy, o którym wiem , że jest dobry. Niedługo zaktualizuję.
Deltik
+50 powtórzeń do ciebie PB . Nikt nie był w stanie odpowiedzieć poprawnie na moje pytania, ale pomyślałem, że zamiast marnować 50 punktów reputacji na nic, dam ci je jako prezent powitalny. Witamy w Stack Exchange!
Deltik
3

Miałem dokładnie ten sam problem i zawsze myślałem, że mój drugi dysk, który chciałem ponownie dodać do tablicy, zawierał błędy. Ale to był mój oryginalny dysk odczytał błędy.

Możesz to sprawdzić za pomocą smartctl -t short /dev/sdXi zobaczyć wyniki kilka minut później za pomocą smartctl -l selftest /dev/sdX. Dla mnie wyglądało to tak:

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed: read failure       20%     25151         734566647

Próbowałem je naprawić za pomocą tego podręcznika . To było zabawne :-). Wiem, że sprawdziłeś oba dyski pod kątem błędów, ale myślę, że twój problem polega na tym, że dysk, który wciąż znajduje się w tablicy md, ma błędy odczytu, więc dodanie drugiego dysku kończy się niepowodzeniem.

Aktualizacja

Powinieneś dodatkowo uruchomić a smartctl -a /dev/sdX Jeśli zobaczysz Current_Pending_Sector> 0 coś jest nie tak

197 Current_Pending_Sector 0x0012 098 098 000 Old_age Always - 69

Dla mnie zdecydowanie problemem był fakt, że usunąłem dysk z rajdu tylko w celu przetestowania i nie można było wykonać ponownej synchronizacji z powodu błędów odczytu. Synchronizacja została przerwana do połowy. Gdy sprawdziłem mój dysk, który wciąż był w macierzy RAID, smartctl zgłosił problemy.

Mógłbym je naprawić za pomocą powyższego podręcznika i zobaczyłem zmniejszenie liczby oczekujących sektorów. Ale było ich wielu i jest to długa i nudna procedura, więc użyłem kopii zapasowej i przywróciłem dane na innym serwerze.

Ponieważ nie miałeś okazji użyć SMART, wydaje mi się, że twój autotest nie pokazał tych uszkodzonych sektorów.

Dla mnie jest to wyciągnięta lekcja: sprawdź dyski, zanim je usuniesz z tablicy.

Janning
źródło
Do czasu odpowiedzi macierz RAID 1 przestała istnieć i stwierdzono, że na obu dyskach nie ma błędów we / wy. Czy możesz sprawdzić, czy Twoja odpowiedź ma zastosowanie?
Deltik
Wreszcie zaakceptowane. Ta odpowiedź najprawdopodobniej pomoże przyszłym użytkownikom. Ja zrezygnowałem z RAID w ogóle. To nie tak, że mam centrum danych.
Deltik
To nie jest już akceptowana odpowiedź, ale nadal jest dobrą odpowiedzią i może pomóc komuś innemu. Ta odpowiedź jest najbardziej odpowiednia dla mnie, ale ta odpowiedź jest prawdopodobnie najbardziej odpowiednia dla innych osób. Cofam też to, co powiedziałem o RAID w tym komentarzu .
Deltik,
3

Miałem podobny problem i naprawiłem go, zwiększając liczbę macierzy RAID z 1 do 2.

mdadm --grow --raid-devices=2 /dev/md1
Shaun
źródło
3

AKTUALIZACJA (24 maja 2015 r.): Po trzech latach zbadałem prawdziwą przyczynę degradacji macierzy RAID 1.

tl; dr: Jeden z dysków był zły i nie zauważyłem tego, ponieważ przeprowadziłem tylko test pełnej powierzchni na dobrym dysku.

Trzy lata temu nie pomyślałem o sprawdzaniu żadnych dzienników dotyczących problemów we / wy. Gdybym pomyślał o sprawdzeniu /var/log/syslog, zobaczyłbym coś takiego po mdadmzrezygnowaniu z przebudowy tablicy:

May 24 14:08:32 node51 kernel: [51887.853786] sd 8:0:0:0: [sdi] Unhandled sense code
May 24 14:08:32 node51 kernel: [51887.853794] sd 8:0:0:0: [sdi]
May 24 14:08:32 node51 kernel: [51887.853798] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
May 24 14:08:32 node51 kernel: [51887.853802] sd 8:0:0:0: [sdi]
May 24 14:08:32 node51 kernel: [51887.853805] Sense Key : Medium Error [current]
May 24 14:08:32 node51 kernel: [51887.853812] sd 8:0:0:0: [sdi]
May 24 14:08:32 node51 kernel: [51887.853815] Add. Sense: Unrecovered read error
May 24 14:08:32 node51 kernel: [51887.853819] sd 8:0:0:0: [sdi] CDB:
May 24 14:08:32 node51 kernel: [51887.853822] Read(10): 28 00 00 1b 6e 00 00 00 01 00
May 24 14:08:32 node51 kernel: [51887.853836] end_request: critical medium error, dev sdi, sector 14381056
May 24 14:08:32 node51 kernel: [51887.853849] Buffer I/O error on device sdi, logical block 1797632

Aby uzyskać ten wynik w dzienniku, szukałem pierwszego problematycznego LBA (w moim przypadku 14381058) za pomocą tego polecenia:

root@node51 [~]# dd if=/dev/sdi of=/dev/zero bs=512 count=1 skip=14381058
dd: error reading ‘/dev/sdi’: Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 7.49287 s, 0.0 kB/s

Nic dziwnego, że się mdpoddałem! Nie może odbudować tablicy z uszkodzonego dysku.

Nowa technologia (lepsza smartmontoolskompatybilność sprzętowa?) Pozwoliła mi uzyskać informacje SMART z napędu, w tym pięć ostatnich błędów (z 1393 błędów do tej pory):

root@node51 [~]# smartctl -a /dev/sdi
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-43-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Hitachi Deskstar 5K3000
Device Model:     Hitachi HDS5C3020ALA632
Serial Number:    ML2220FA040K9E
LU WWN Device Id: 5 000cca 36ac1d394
Firmware Version: ML6OA800
User Capacity:    2,000,398,934,016 bytes [2.00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    5940 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 2.6, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Sun May 24 14:13:35 2015 CDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART STATUS RETURN: incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.

General SMART Values:
Offline data collection status:  (0x84) Offline data collection activity
                                        was suspended by an interrupting command from host.
                                        Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.
Total time to complete Offline
data collection:                (21438) seconds.
Offline data collection
capabilities:                    (0x5b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   1) minutes.
Extended self-test routine
recommended polling time:        ( 358) minutes.
SCT capabilities:              (0x003d) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   016    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   136   136   054    Pre-fail  Offline      -       93
  3 Spin_Up_Time            0x0007   172   172   024    Pre-fail  Always       -       277 (Average 362)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       174
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       8
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   146   146   020    Pre-fail  Offline      -       29
  9 Power_On_Hours          0x0012   097   097   000    Old_age   Always       -       22419
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       161
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       900
193 Load_Cycle_Count        0x0012   100   100   000    Old_age   Always       -       900
194 Temperature_Celsius     0x0002   127   127   000    Old_age   Always       -       47 (Min/Max 19/60)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       8
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       30
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       2

SMART Error Log Version: 1
ATA Error Count: 1393 (device log contains only the most recent five errors)
        CR = Command Register [HEX]
        FR = Features Register [HEX]
        SC = Sector Count Register [HEX]
        SN = Sector Number Register [HEX]
        CL = Cylinder Low Register [HEX]
        CH = Cylinder High Register [HEX]
        DH = Device/Head Register [HEX]
        DC = Device Command Register [HEX]
        ER = Error register [HEX]
        ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 1393 occurred at disk power-on lifetime: 22419 hours (934 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 06 02 70 db 00  Error: UNC 6 sectors at LBA = 0x00db7002 = 14381058

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 70 db 40 00   1d+03:59:34.096  READ DMA EXT
  25 00 08 00 70 db 40 00   1d+03:59:30.334  READ DMA EXT
  b0 d5 01 09 4f c2 00 00   1d+03:57:59.057  SMART READ LOG
  b0 d5 01 06 4f c2 00 00   1d+03:57:58.766  SMART READ LOG
  b0 d5 01 01 4f c2 00 00   1d+03:57:58.476  SMART READ LOG

Error 1392 occurred at disk power-on lifetime: 22419 hours (934 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 06 02 70 db 00  Error: UNC 6 sectors at LBA = 0x00db7002 = 14381058

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 70 db 40 00   1d+03:59:30.334  READ DMA EXT
  b0 d5 01 09 4f c2 00 00   1d+03:57:59.057  SMART READ LOG
  b0 d5 01 06 4f c2 00 00   1d+03:57:58.766  SMART READ LOG
  b0 d5 01 01 4f c2 00 00   1d+03:57:58.476  SMART READ LOG
  b0 d5 01 00 4f c2 00 00   1d+03:57:58.475  SMART READ LOG

Error 1391 occurred at disk power-on lifetime: 22419 hours (934 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 06 02 70 db 00  Error: UNC 6 sectors at LBA = 0x00db7002 = 14381058

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 70 db 40 00   1d+03:56:28.228  READ DMA EXT
  25 00 08 00 70 db 40 00   1d+03:56:24.549  READ DMA EXT
  25 00 08 00 70 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 10 f0 71 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 f0 00 71 db 40 00   1d+03:56:06.710  READ DMA EXT

Error 1390 occurred at disk power-on lifetime: 22419 hours (934 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 06 02 70 db 00  Error: UNC 6 sectors at LBA = 0x00db7002 = 14381058

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 70 db 40 00   1d+03:56:24.549  READ DMA EXT
  25 00 08 00 70 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 10 f0 71 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 f0 00 71 db 40 00   1d+03:56:06.710  READ DMA EXT
  25 00 10 f0 70 db 40 00   1d+03:56:06.687  READ DMA EXT

Error 1389 occurred at disk power-on lifetime: 22419 hours (934 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 06 02 70 db 00  Error: UNC 6 sectors at LBA = 0x00db7002 = 14381058

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 70 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 10 f0 71 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 f0 00 71 db 40 00   1d+03:56:06.710  READ DMA EXT
  25 00 10 f0 70 db 40 00   1d+03:56:06.687  READ DMA EXT
  25 00 f0 00 70 db 40 00   1d+03:56:03.026  READ DMA EXT

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed: read failure       90%     21249         14381058

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Ahh… to by wystarczyło.

Teraz rozwiązałem to pytanie w trzech łatwych krokach:

  1. Zostań administratorem systemu za trzy lata.
  2. Sprawdź dzienniki.
  3. Wróć do Super User i śmiej się z mojego podejścia sprzed trzech lat .

AKTUALIZACJA (19 lipca 2015 r.): Dla każdego, kto jest ciekawy, w końcu zabrakło sektorów do mapowania:

root@node51 [~]# smartctl -a /dev/sdg
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-43-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Hitachi Deskstar 5K3000
Device Model:     Hitachi HDS5C3020ALA632
Serial Number:    ML2220FA040K9E
LU WWN Device Id: 5 000cca 36ac1d394
Firmware Version: ML6OA800
User Capacity:    2,000,398,934,016 bytes [2.00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    5940 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 2.6, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Sun Jul 19 14:00:33 2015 CDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART STATUS RETURN: incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: FAILED!
Drive failure expected in less than 24 hours. SAVE ALL DATA.
See vendor-specific Attribute list for failed Attributes.

General SMART Values:
Offline data collection status:  (0x85) Offline data collection activity
                                        was aborted by an interrupting command from host.
                                        Auto Offline Data Collection: Enabled.
Self-test execution status:      ( 117) The previous self-test completed having
                                        the read element of the test failed.
Total time to complete Offline
data collection:                (21438) seconds.
Offline data collection
capabilities:                    (0x5b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   1) minutes.
Extended self-test routine
recommended polling time:        ( 358) minutes.
SCT capabilities:              (0x003d) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   099   099   016    Pre-fail  Always       -       2
  2 Throughput_Performance  0x0005   136   136   054    Pre-fail  Offline      -       93
  3 Spin_Up_Time            0x0007   163   163   024    Pre-fail  Always       -       318 (Average 355)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       181
  5 Reallocated_Sector_Ct   0x0033   001   001   005    Pre-fail  Always   FAILING_NOW 1978
  7 Seek_Error_Rate         0x000b   086   086   067    Pre-fail  Always       -       1245192
  8 Seek_Time_Performance   0x0005   146   146   020    Pre-fail  Offline      -       29
  9 Power_On_Hours          0x0012   097   097   000    Old_age   Always       -       23763
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       167
192 Power-Off_Retract_Count 0x0032   092   092   000    Old_age   Always       -       10251
193 Load_Cycle_Count        0x0012   092   092   000    Old_age   Always       -       10251
194 Temperature_Celsius     0x0002   111   111   000    Old_age   Always       -       54 (Min/Max 19/63)
196 Reallocated_Event_Count 0x0032   001   001   000    Old_age   Always       -       2927
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       33
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       2

SMART Error Log Version: 1
ATA Error Count: 2240 (device log contains only the most recent five errors)
        CR = Command Register [HEX]
        FR = Features Register [HEX]
        SC = Sector Count Register [HEX]
        SN = Sector Number Register [HEX]
        CL = Cylinder Low Register [HEX]
        CH = Cylinder High Register [HEX]
        DH = Device/Head Register [HEX]
        DC = Device Command Register [HEX]
        ER = Error register [HEX]
        ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 2240 occurred at disk power-on lifetime: 23763 hours (990 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  10 51 f0 18 0f 2f 00  Error: IDNF 240 sectors at LBA = 0x002f0f18 = 3084056

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 f0 18 0f 2f 40 00      00:25:01.942  WRITE DMA EXT
  35 00 f0 28 0e 2f 40 00      00:25:01.168  WRITE DMA EXT
  35 00 f0 38 0d 2f 40 00      00:25:01.157  WRITE DMA EXT
  35 00 f0 48 0c 2f 40 00      00:25:01.147  WRITE DMA EXT
  35 00 f0 58 0b 2f 40 00      00:25:01.136  WRITE DMA EXT

Error 2239 occurred at disk power-on lifetime: 23763 hours (990 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  10 51 5a 4e f7 2e 00  Error: IDNF 90 sectors at LBA = 0x002ef74e = 3077966

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 f0 b8 f6 2e 40 00      00:24:57.967  WRITE DMA EXT
  35 00 f0 c8 f5 2e 40 00      00:24:57.956  WRITE DMA EXT
  35 00 f0 d8 f4 2e 40 00      00:24:57.945  WRITE DMA EXT
  35 00 f0 e8 f3 2e 40 00      00:24:57.934  WRITE DMA EXT
  35 00 f0 f8 f2 2e 40 00      00:24:57.924  WRITE DMA EXT

Error 2238 occurred at disk power-on lifetime: 23763 hours (990 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  10 51 40 a8 c6 2e 00  Error: IDNF 64 sectors at LBA = 0x002ec6a8 = 3065512

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 f0 f8 c5 2e 40 00      00:24:49.444  WRITE DMA EXT
  35 00 f0 08 c5 2e 40 00      00:24:49.433  WRITE DMA EXT
  35 00 f0 18 c4 2e 40 00      00:24:49.422  WRITE DMA EXT
  35 00 f0 28 c3 2e 40 00      00:24:49.412  WRITE DMA EXT
  35 00 f0 38 c2 2e 40 00      00:24:49.401  WRITE DMA EXT

Error 2237 occurred at disk power-on lifetime: 23763 hours (990 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  10 51 ea be ba 2e 00  Error: IDNF 234 sectors at LBA = 0x002ebabe = 3062462

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 f0 b8 ba 2e 40 00      00:24:39.263  WRITE DMA EXT
  35 00 f0 c8 b9 2e 40 00      00:24:38.885  WRITE DMA EXT
  35 00 f0 d8 b8 2e 40 00      00:24:38.874  WRITE DMA EXT
  35 00 f0 e8 b7 2e 40 00      00:24:38.862  WRITE DMA EXT
  35 00 f0 f8 b6 2e 40 00      00:24:38.852  WRITE DMA EXT

Error 2236 occurred at disk power-on lifetime: 23763 hours (990 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  10 51 86 c2 2a 2e 00  Error: IDNF 134 sectors at LBA = 0x002e2ac2 = 3025602

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 f0 58 2a 2e 40 00      00:24:25.605  WRITE DMA EXT
  35 00 f0 68 29 2e 40 00      00:24:25.594  WRITE DMA EXT
  35 00 f0 78 28 2e 40 00      00:24:25.583  WRITE DMA EXT
  35 00 f0 88 27 2e 40 00      00:24:25.572  WRITE DMA EXT
  35 00 f0 98 26 2e 40 00      00:24:25.561  WRITE DMA EXT

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short captive       Completed: read failure       50%     23763         869280
# 2  Extended offline    Completed without error       00%     22451         -
# 3  Short offline       Completed without error       00%     22439         -
# 4  Extended offline    Completed: read failure       90%     21249         14381058
1 of 2 failed self-tests are outdated by newer successful extended offline self-test # 2

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
Deltik
źródło
1
tak, dokładnie to, co właśnie stało się z moją macierzą RAID! To jest faktyczna odpowiedź na twoje pytanie! Dziękujemy za aktualizację !!!
Preexo,
1

W moim przypadku był to także zły dysk źródłowy. Chociaż wyglądało na to, że tak nie było (normalnie proces / proc / mdstat osiągnął poziom powyżej 99,9% - ale tak naprawdę nie powiódł się na poziomie 99,97%, co zbiegło się w czasie z zakończeniem regularnej synchronizacji). Musisz więc sprawdzić dmesg(1)dane wyjściowe - powie ci, czy są jakieś błędy odczytu.

Możesz zobaczyć szczegóły mojej sprawy w błędzie Debiana # 767243 . W końcu udało mi się dokończyć synchronizację poprzez wymuszenie nadpisania kilku uszkodzonych sektorów na dysku źródłowym (które na szczęście nie były w moim przypadku wykorzystane, w przeciwnym razie nastąpiłaby utrata danych)

Matija Nalis
źródło
0

Możesz spróbować

sudo mdadm --assemble --update=resync /dev/md0 /dev/sdb1 /dev/sdc1

zaktualizować dyski i zsynchronizować je.

orangeocelot
źródło
Próbuję tego teraz ... Zgłosię się, gdy odbudowa rzekomo się zakończy.
Deltik
Nie działało /dev/sdb1nadal nie staje się „aktywny” po przebudowaniu jako zapasowy.
Deltik
0

Nie jestem pewien, czy zadziała, ponieważ już --addedytujesz dysk, ale --re-addwydaje się, że jest to opcja, której potrzebujesz.

A może potrzebujesz --growurządzenia do 2 aktywnych dysków mdadm --grow -n 2? Nie testowane, więc bądź ostrożny.

Bram
źródło
sudo mdadm --grow -n 2była jedną z pierwszych rzeczy, które zrobiłem, dlatego właśnie sudo mdadm --detail /dev/md0pokazuje dwa automaty. Przepraszamy, to nie działa.
Deltik
0

Poleciłbym usunięcie sdc1, wyzerowanie super bloku na sdc1, a następnie ponowne dodanie.

mdadm /dev/md0 -r /dev/sdc1
mdadm --zero-superblock /dev/sdc1
mdadm /dev/md0 -a /dev/sdc1
Bruno9779
źródło
Przesunąłem swoje dane na każdy dysk twardy, podczas gdy zerowałem superblok na drugim dysku twardym. Problem, który mam, powtarza się nawet po całkowitym odtworzeniu macierzy RAID 1.
Deltik,