Простой mdadm RAID 1 не активирует запасной

24

Я создал два раздела 2TB HDD ( /dev/sdb1и /dev/sdc1) в RAID 1 массив называется /dev/md0использованием mdadmна Ubuntu 12.04 LTS Precise Pangolin.

Команда, sudo mdadm --detail /dev/md0используемая для обозначения обоих дисков в качестве активной синхронизации .

Затем, для тестирования, я потерпел неудачу /dev/sdb1, удалил его, затем снова добавил его с помощью командыsudo mdadm /dev/md0 --add /dev/sdb1

watch cat /proc/mdstat показывал индикатор перестройки массива, но я не стал бы часами наблюдать за ним, поэтому я предположил, что программное обеспечение знает, что оно делает.

После того, как индикатор выполнения больше не отображается, cat /proc/mdstatотображается:

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

И sudo mdadm --detail /dev/md0показывает:

/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

Мне сказали, что mdadm автоматически заменяет удаленные диски запасными, но /dev/sdb1не перемещается в ожидаемую позицию, RaidDevice 1.


UPDATE (30 мая 2012):badblocks разрушительный тест чтения-записи всего /dev/sdbне дали никаких ошибок , как и ожидалось; оба жестких диска являются новыми.

На момент последнего редактирования я собрал массив с помощью этой команды:

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

Выход был:

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

Восстановление выглядит так, как будто оно идет нормально:

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>

Я сейчас жду этого восстановления, но я ожидаю /dev/sdb1стать запасным, как пять или шесть раз, которые я пытался восстановить раньше.


ОБНОВЛЕНИЕ (31 мая 2012 года): Да, это все еще запасной. Тьфу!


ОБНОВЛЕНИЕ (1 июня 2012): я пытаюсь предложить команду Адриана Келли :

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

В ожидании восстановления сейчас ...


ОБНОВЛЕНИЕ (02 июня 2012): Нет, все еще запасной ...


ОБНОВЛЕНИЕ (04 июня 2012 г.): PB поднял вопрос, который я упустил из виду: возможно /dev/sdc1, возникают ошибки ввода-вывода . Я не удосужился проверить, /dev/sdc1потому что он работал нормально и был совершенно новым, но ошибки ввода-вывода в конце диска - рациональная возможность.

Я купил эти жесткие диски в продаже, поэтому неудивительно, что один из них уже выходит из строя. Плюс, ни у кого из них нет поддержки SMART , поэтому неудивительно, что они были такими дешевыми ...

Вот процедура восстановления данных, которую я только что составил, и я следую:

  1. sudo mdadm /dev/md0 --fail /dev/sdb1так что я могу вынуть /dev/sdb1.
  2. sudo mdadm /dev/md0 --remove /dev/sdb1удалить /dev/sdb1из массива.
  3. /dev/sdc1 установлен в /media/DtkBk
  4. Формат /dev/sdb1как ext4.
  5. Маунт /dev/sdb1к /media/DtkBkTemp.
  6. cd /media работать в этой области.
  7. sudo chown deltik DtkBkTempдать мне (логин deltik) права на раздел.
  8. Делаем копии всех файлов и каталогов: sudo rsync -avzHXShP DtkBk/* DtkBkTemp

ОБНОВЛЕНИЕ (6 июня 2012 г.): я провел badblocksразрушительный тест в режиме записи /dev/sdc, выполнив следующие процедуры:

  1. sudo umount /media/DtkBk разрешить снос массива.
  2. sudo mdadm --stop /dev/md0 остановить массив.
  3. sudo badblocks -w -p 1 /dev/sdc -s -vчтобы очистить подозрительный жесткий диск, и в процессе проверьте наличие ошибок ввода / вывода. Если есть ошибки ввода-вывода, это не очень хороший знак. Надеюсь, я смогу вернуть деньги ...

Теперь я подтвердил, что на любом жестком диске нет проблем с вводом / выводом .

Из всего этого расследования мои два оригинальных вопроса все еще стоят.


Мои вопросы:

  1. Почему запасной диск не становится активной синхронизацией?
  2. Как сделать активным запасной диск?
Deltik
источник

Ответы:

14

Это просто забивает диск в массив, фактически ничего с ним не делая, т.е. он является членом массива, но не активен в нем. По умолчанию это превращает его в запасной:

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

Если у вас есть запасной, вы можете увеличить его, увеличив число активных дисков для массива. Ожидается, что 3 диска и 2 будут активными, вам нужно увеличить количество активных до 3.

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

Драйвер raid-массива заметит, что у вас «короткий» диск, и затем будет искать запасной. Найдя запасной, он интегрирует его в массив в качестве активного диска. Откройте запасной терминал и дайте этой довольно сырой командной строке запустить его, чтобы следить за ходом повторной синхронизации. Обязательно наберите его одной строкой или используйте символ перевода строки (\), и после завершения перестройки просто нажмите Ctrl-C в терминале.

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

Теперь в вашем массиве будет два активных синхронизированных диска, но, поскольку нет трех дисков, он не будет очищен на 100%. Удалите неисправный диск, затем измените размер массива. Обратите внимание, что --growфлаг немного неправильный - он может означать либо увеличение, либо уменьшение:

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

Что касается ошибок, проблемы со связью с диском (т. Е. Портом PATA / SATA, кабелем или разъемом накопителя) недостаточно для запуска аварийного переключения горячего резерва, поскольку ядро ​​обычно переключается на использование другого «хорошего» диск пока он сбрасывает ссылку на "плохой" диск. Я знаю это, потому что у меня запущен массив из 3 дисков, 2 горячих, 1 резервный и один из дисков, который недавно решил немного поднять в журналах. Когда я проверил все диски в массиве, все 3 прошли «длинную» версию теста SMART, так что это не проблема с пластинами, механическими компонентами или встроенным контроллером - который оставляет кабель со слабой связью или плохой порт SATA. Возможно, это то, что вы видите. Попробуйте переключить диск на другой порт материнской платы или использовать другой кабель и посмотреть, улучшится ли он.


Последующее действие: я завершил расширение зеркала до 3 дисков, вышел из строя и удалил ненадежный диск из массива md, произвел горячую замену кабеля на новый (материнская плата поддерживает это) и снова добавил диск. После повторного добавления, он немедленно начал повторную синхронизацию диска. До сих пор в журнале не было обнаружено ни одной ошибки, несмотря на интенсивное использование диска. Так что, да, кабели приводов могут сломаться.

Эйвери Пэйн
источник
Flaky Link кабель? Я покупаю это объяснение, но больше не могу его проверить, потому что я пересмотрел оба диска несколько месяцев назад. Я принимаю этот ответ как лучший ответ для моей конкретной проблемы, но другой отличный ответ - этот .
Делтик
В качестве обновления этот ответ остается наиболее полезным для большинства людей, поэтому я принял его, но на самом деле произошло то, что один из дисков в моем массиве RAID 1 был неисправен, скорее всего, /dev/sdc1в то время, когда /dev/sdc1его читали /dev/sdb1было написано, и плохие сектора в /dev/sdb1были бы прозрачно переназначены во время записи.
Дельтик
1
Чтобы следить за процессом повторной синхронизации, укажите, watch -n 60 cat /proc/mdstatгде 60находится количество секунд между обновлениями.
Эрк
8

У меня была точно такая же проблема, и в моем случае я обнаружил, что активный raid-диск страдал от ошибок чтения во время синхронизации. Поэтому новый диск был более успешно синхронизирован и поэтому был помечен как запасной.

Возможно, вы захотите проверить ваши / var / log / messages и другие системные журналы на наличие ошибок. Кроме того, также может быть хорошей идеей проверить состояние SMART на вашем диске:
1) Запустите короткий тест:

"smartctl -t short / dev / sda"

2) Показать результаты теста:

"smartctl -l selftest / dev / sda"

В моем случае это вернуло что-то вроде этого:

=== НАЧАТЬ ЧТЕНИЕ РАЗДЕЛ SMART DATA ===
Номер версии журнала самотестирования SMART, номер редакции 1
Num Test_Description Status Оставшееся время жизни (часы) LBA_of_first_error
1 Расширенный автономный режим Завершено: ошибка чтения 90% 7564 27134728
2 Короткий офлайн Выполнено: ошибка чтения 90% 7467 1408449701

Мне пришлось загрузить живой дистрибутив и вручную скопировать данные с дефектного диска на новый (в настоящее время «запасной»).

PB
источник
Ага! Я не думал подозревать активный диск для ошибок ввода-вывода. По какой-то причине SMART не поддерживается на этих жестких дисках. Это и возможные ошибки ввода-вывода на двух новых жестких дисках? Я думаю, что сделал плохую покупку ... Во всяком случае, я сейчас беру процедуры восстановления данных на жесткий диск, который я знаю, это хорошо. Я скоро обновлю.
Дельтик
+50 репутации к вам, PB . Никто не смог ответить на мои вопросы правильно, но я решил, что вместо того, чтобы тратить 50 очков репутации на пустые места, я бы дал их вам в качестве приветственного подарка. Добро пожаловать в Stack Exchange!
Дельтик
3

У меня была точно такая же проблема, и я всегда думал, что на моем втором диске, который я хотел добавить в массив, были ошибки. Но это был мой оригинальный диск с ошибками чтения.

Вы можете проверить это smartctl -t short /dev/sdXи увидеть результаты через несколько минут smartctl -l selftest /dev/sdX. Для меня это выглядело так:

=== 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

Я пытался исправить их с помощью этого руководства . Это было весело :-). Я знаю, что вы проверили оба диска на наличие ошибок, но я думаю, что ваша проблема в том, что диск, который все еще находится в массиве md, имеет ошибки чтения, поэтому добавление второго диска завершается неудачно.

Обновить

Вы должны дополнительно запустить smartctl -a /dev/sdX Если вы видите Current_Pending_Sector> 0 что-то не так

197 Current_Pending_Sector 0x0012 098 098 000 Old_age Always - 69

Для меня определенно была проблема, что я удалил диск из рейда только для тестирования, и повторная синхронизация не могла быть выполнена из-за ошибок чтения. Синхронизация прервана на полпути. Когда я проверил мой диск, который все еще был в raid-массиве, smartctl сообщил о проблемах.

Я мог бы исправить их с помощью приведенного выше руководства и увидел, что число ожидающих секторов уменьшилось. Но их было много, и это долгая и скучная процедура, поэтому я использовал свою резервную копию и восстановил данные на другом сервере.

Поскольку у вас не было возможности использовать SMART, я полагаю, что в ходе вашего самопроверки не было обнаружено этих поврежденных секторов.

Для меня это урок: проверь свои диски перед тем, как удалить их из массива.

Janning
источник
К тому времени, как вы ответили, массив RAID 1 прекратил существование, и на обоих дисках не было ошибок ввода-вывода. Можете ли вы проверить, что ваш ответ применим?
Делтик
Наконец принято. Этот ответ, скорее всего, поможет будущим посетителям. Я отказался от RAID в целом. У меня нет центра обработки данных.
Дельтик
Это уже не принятый ответ, но это все еще хороший ответ и может помочь кому-то еще. Этот ответ наиболее применим ко мне, но этот ответ , вероятно, наиболее применим к другим людям. Кроме того, я забираю то, что я сказал о RAID в этом комментарии .
Дельтик
3

У меня была похожая проблема, и я исправил ее, увеличив количество дисков RAID от 1 до 2.

mdadm --grow --raid-devices=2 /dev/md1
Shaun
источник
3

ОБНОВЛЕНИЕ (24 мая 2015 г.): Через три года я выяснил истинную причину деградации массива RAID 1.

tl; dr: Один из дисков был неисправен, и я не заметил этого, потому что я только провел полное тестирование поверхности на хорошем диске.

Три года назад я не думал проверять какие-либо журналы о проблемах ввода-вывода. Если бы я подумал проверить /var/log/syslog, я бы увидел нечто подобное, если mdadmбы разочаровался в перестройке массива:

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

Чтобы получить этот вывод в журнале, я искал первый проблемный LBA (14381058, в моем случае) с этой командой:

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

Не зря mdсдался! Он не может восстановить массив с плохого диска.

Новая технология (улучшенная smartmontoolsсовместимость оборудования?) Позволила мне получить SMART- информацию с диска, включая последние пять ошибок (из 1393 ошибок на данный момент):

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.

Ааа ... это сделало бы это.

Теперь я решил этот вопрос в три простых шага:

  1. Станьте системным администратором через три года.
  2. Проверьте логи.
  3. Вернись в Super User и посмейся над моим подходом три года назад .

ОБНОВЛЕНИЕ (19 июля 2015 г.): Для всех, кому интересно, на диске, наконец, закончились секторы для переназначения:

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
источник
1
да, именно то, что только что случилось с моим RAID! Это актуальный ответ на ваш собственный вопрос! Спасибо за поддержание этого в курсе !!!
Preexo
1

В моем случае это был плохой исходный диск. Хотя в то время это выглядело так, как будто это было не так (/ proc / mdstat обычно превышал 99,9%, но на самом деле он терпел неудачу на уровне 99,97%, что соответствовало окончанию регулярной синхронизации). Так что вам нужно проверить dmesg(1)вывод - он скажет вам, есть ли какие-либо ошибки чтения.

Вы можете увидеть подробности моего случая в ошибке Debian # 767243 . Мне, наконец, удалось завершить синхронизацию путем принудительной перезаписи нескольких поврежденных секторов на исходном диске (которые, к счастью, не использовались в моем случае, в противном случае произошла бы потеря данных)

Матия Налис
источник
0

Вы могли бы попробовать

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

обновить диски и синхронизировать их.

orangeocelot
источник
Попробую это сейчас ... Я сообщу, когда восстановление, вероятно, завершится.
Deltik
Не сработало /dev/sdb1все еще не становится "активным" после того, как это восстановлено как запасной.
Deltik
0

Не уверен, что это сработает, так как вы уже --addредактировали диск, но, --re-addпохоже, вам нужна эта опция.

Или, может быть, вам нужно --growустройство на 2 активных диска mdadm --grow -n 2,? Не проверено, поэтому будьте осторожны.

Брэм
источник
sudo mdadm --grow -n 2был одним из первых, что я сделал, поэтому sudo mdadm --detail /dev/md0показывает два слота. Извините, это не работает.
Дельтик
0

Я бы порекомендовал удалить sdc1, обнулить суперблок на sdc1, а затем снова добавить его.

mdadm /dev/md0 -r /dev/sdc1
mdadm --zero-superblock /dev/sdc1
mdadm /dev/md0 -a /dev/sdc1
Bruno9779
источник
Я переместил свои данные на каждый жесткий диск, в то время как я обнулил суперблок на другом жестком диске. Проблема повторяется даже при полном воссоздании массива RAID 1.
Deltik