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


24

Я створив два HDD-розділи 2 ТБ ( /dev/sdb1і /dev/sdc1) в масиві RAID 1, який називається /dev/md0за допомогою mdadmUbuntu 12.04 LTS Precision 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не дали ніяких помилок , як і очікувалося; обидва HDD є новими.

Станом на останнє редагування, я зібрав масив за допомогою цієї команди:

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 р.): Так, це все-таки запас. Тьфу!


ОНОВЛЕННЯ (01 червня 2012 р.): Я намагаюся запропонувати команду Адріана Келлі :

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

Чекаємо на перебудову зараз ...


ОНОВЛЕННЯ (02 червня 2012 р.): Ні, все ще запасні ...


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

Я купив ці HDD-диски у продажу, тому не дивно, що один з них вже виходить з ладу. Плюс, жоден з них не має підтримки для 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

ОНОВЛЕННЯ (06 червня 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. Як зробити так, щоб запасний привід став активним?

Відповіді:


14

Це просто притискає диск до масиву, фактично нічого не роблячи з ним, тобто він є членом масиву, але не активним в ньому. За замовчуванням це перетворює це на запасне:

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

Якщо у вас є запасний, ви можете виростити його, змусивши кількість активних дисків для збільшення масиву. Якщо очікується, що 3 диска та 2 будуть активними, вам слід збільшити кількість активних до 3.

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

Водій рейдового масиву помітить, що ви "нетривалий" диск, і тоді шукатиме запасний. Знайшовши запасний, він інтегрує його в масив як активний диск. Відкрийте запасний термінал і дозвольте в ньому працювати цей досить сирий командний рядок, щоб утримувати вкладки про повторну синхронізацію. Обов’язково введіть його як один рядок або використовуйте символ розриву рядка (\), і як тільки відбудова завершиться, просто введіть Ctrl-C у терміналі.

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

Тепер у вашому масиві будуть два активні диски, які синхронізуються, але оскільки немає 3 дисководів, він не буде на 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, перемкнув гарячий кабель на новий (материнська плата це підтримує) і знову додав накопичувач. Після повторного додавання він негайно розпочав повторну синхронізацію накопичувача. Поки в журналі не з’явилася жодна помилка, незважаючи на те, що диск активно використовується. Отже, так, кабелі приводу можуть вийти з ладу.


Нескінченний кабель зв'язку? Я купую це пояснення, але більше не можу його перевірити, тому що я повторно призначив обидва диски місяці тому. Я приймаю цю відповідь як найкращу відповідь на свою конкретну проблему, але ще одна чудова відповідь - це ця .
Делтік

Як оновлення, ця відповідь залишається найбільш корисною для більшості людей, тому я її прийняв, але те, що насправді сталося, було те, що один з накопичувачів у моєму масиві RAID 1 був поганим, швидше /dev/sdc1за все, в той час, оскільки /dev/sdc1його читали під час /dev/sdb1було написано, і погані сектори в /dev/sdb1було б прозоро перероблені під час написання.
Делтік

1
Щоб зберегти вкладки в процесі повторної синхронізації, зробіть, watch -n 60 cat /proc/mdstatде 60кількість секунд між оновленнями.
Ерк

8

У мене була точно така ж проблема, і в моєму випадку я дізнався, що активний рейдовий диск зазнав помилок читання під час синхронізації. Тому новий диск був новіше, успішно синхронізований, і тому він позначався як запасний.

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

"smartctl -t короткий / dev / sda"

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

"smartctl -l selftest / dev / sda"

У моєму випадку це повернуло щось подібне:

=== ЗАЧИТАННЯ ЧИТАННЯ РОЗДІЛУ СМАРТИХ ===
СМАРТ Ревізія структури журналу
самотестування № 1 Число Тест_Описання Статус Залишився Час життя (години) LBA_of_first_error
1 Розширений офлайн Завершено: помилка читання 90% 7564 27134728
2 Короткий офлайн Завершено: помилка читання 90% 7467 1408449701

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


Ага! Я не думав підозрювати активний диск на помилки вводу / виводу. Чомусь SMART не підтримується на цих жорстких дисках. Це та можливі помилки вводу / виводу на двох абсолютно нових жорстких дисках? Я думаю, що я зробив погану покупку ... У будь-якому випадку я зараз приймаю процедури відновлення даних на жорсткому диску, який я знаю, що це добре. Я скоро оновлю.
Deltik

+50 представників вам PB . Ніхто не зміг відповісти на мої запитання правильно, але я подумав, що замість того, щоб витрачати 50 балів репутації ні на що, я дарую їх вам як вітальний подарунок. Ласкаво просимо на обмін стеками!
Делтік

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, є помилки читання, тому додавання другого диска не вдається.

Оновлення

Вам слід додатково запустити a smartctl -a /dev/sdX Якщо ви бачите Current_Pending_Sector> 0 щось не так

197 Current_Pending_Sector 0x0012 098 098 000 Old_age Завжди - 69

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

Я міг виправити їх за допомогою посібника, наведеного вище, і зменшив кількість відкладених секторів. Але їх було багато, і це довга і нудна процедура, тому я використав резервну копію та відновив дані на іншому сервері.

Оскільки у вас не було можливості використовувати SMART, я думаю, що ваш тест не виявив цих зламаних секторів.

Для мене це урок, що засвоївся: Перевірте свої диски, перш ніж вилучити його з масиву.


На той момент, коли ви відповіли, масив RAID 1 перестав існувати, і в обох дисках було виявлено помилок вводу / виводу. Чи можете ви переконатися, що ваша відповідь застосовна?
Делтік

Нарешті прийнято. Ця відповідь, швидше за все, допоможе майбутнім відвідувачам. Мені я взагалі здався на RAID. Це не так, як у мене є центр обробки даних.
Делтік

Це вже не прийнята відповідь, але це все-таки хороша відповідь і може допомогти комусь іншому. Ця відповідь для мене найбільш застосовна, але ця відповідь , мабуть, є найбільш застосовною для інших людей. Крім того, я повертаю те, що я сказав про RAID в цьому коментарі .
Deltik

3

У мене виникла подібна проблема, і виправлено її, збільшивши кількість дисків масиву RAID з 1 до 2.

mdadm --grow --raid-devices=2 /dev/md1

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. Поверніться до Супер Користувача та посмійтесь над моїм підходом з трьох років тому .

ОНОВЛЕННЯ (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.

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

оновити накопичувачі та відновити їх повторно.


Спробую це зараз ... Я звітую про те, коли відбудується нібито відбудова.
Deltik

Не працювало. /dev/sdb1досі не стає "активним" після того, як його відбудували як запасний.
Делтік

0

Не впевнений, чи спрацює це вже з вас --add редагували диск, але, --re-addздається, це потрібний вам варіант.

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


sudo mdadm --grow -n 2було однією з перших речей, які я зробив, отже, тому sudo mdadm --detail /dev/md0показує два слоти. Вибачте, це не працює.
Deltik

0

Я рекомендую видалити sdc1, нулюючи суперблок на sdc1, а потім повторно додати його.

mdadm /dev/md0 -r /dev/sdc1
mdadm --zero-superblock /dev/sdc1
mdadm /dev/md0 -a /dev/sdc1

Я перемістив свої дані на кожен жорсткий диск, тоді як нульовий суперблок на іншому жорсткому диску. У мене виникає проблема навіть при повному відтворенні масиву RAID 1.
Делтік
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.