LINUX.ORG.RU

raid5 стабильно отваливается один диск в процессе синхронизации

 , ,


0

2

Было 2 диска в RAID1 и куча данных на них, место стало заканчиваться, я купил 3 диск и сделал:

  • отключил один из дисков в RAID1
  • собрал из 2 дисков RAID5 (--chunk=256 --bitmap=internal --bitmap-chunk=131072, данные параметры подбирал активными тестами fio)
  • перекопировал данные из RAID1 в RAID5
  • разобрал RAID1, добавил диск в RAID5

По итогу раз в несколько часов ловлю отвал одного диска с логами в dmesg

50-150 таких сообщений в течении одной секунды
[Вт сен 17 14:51:00 2024] mpt3sas_cm0: log_info(0x31110d00): originator(PL), code(0x11), sub_code(0x0d00)
далее отвал диска
[Вт сен 17 14:51:01 2024] sd 11:0:12:0: device_block, handle(0x000e)
[Вт сен 17 14:51:04 2024] sd 11:0:12:0: device_unblock and setting to running, handle(0x000e)
[Вт сен 17 14:51:04 2024] mpt3sas_cm0: remove hba_port entry: 00000000635f3795 port: 5 from hba_port list
[Вт сен 17 14:51:04 2024] raid5_end_read_request: 10073 callbacks suppressed
[Вт сен 17 14:51:04 2024] md/raid:md128: read error not correctable (sector 692063616 on sdg1).
[Вт сен 17 14:51:04 2024] md/raid:md128: read error not correctable (sector 692063624 on sdg1).
[Вт сен 17 14:51:04 2024] md/raid:md128: read error not correctable (sector 692063632 on sdg1).
[Вт сен 17 14:51:04 2024] md/raid:md128: read error not correctable (sector 692063640 on sdg1).
[Вт сен 17 14:51:04 2024] md/raid:md128: read error not correctable (sector 692063648 on sdg1).
[Вт сен 17 14:51:04 2024] md/raid:md128: read error not correctable (sector 692063656 on sdg1).
[Вт сен 17 14:51:04 2024] md/raid:md128: read error not correctable (sector 692063664 on sdg1).
[Вт сен 17 14:51:04 2024] md/raid:md128: read error not correctable (sector 692063672 on sdg1).
[Вт сен 17 14:51:04 2024] md/raid:md128: read error not correctable (sector 692063680 on sdg1).
[Вт сен 17 14:51:04 2024] md/raid:md128: read error not correctable (sector 692063688 on sdg1).
[Вт сен 17 14:51:04 2024] md: super_written gets error=-5
[Вт сен 17 14:51:04 2024] md/raid:md128: Disk failure on sdg1, disabling device.
[Вт сен 17 14:51:04 2024] md/raid:md128: Cannot continue operation (2/3 failed).
[Вт сен 17 14:51:04 2024] sd 11:0:12:0: [sdg] Synchronizing SCSI cache
[Вт сен 17 14:51:04 2024] sd 11:0:12:0: [sdg] Synchronize Cache(10) failed: Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
[Вт сен 17 14:51:04 2024] mpt3sas_cm0: mpt3sas_transport_port_remove: removed: sas_addr(0x300605b00de92804)
[Вт сен 17 14:51:04 2024] mpt3sas_cm0: removing handle(0x000e), sas_addr(0x300605b00de92804)
[Вт сен 17 14:51:04 2024] mpt3sas_cm0: enclosure logical id(0x500605b00de92800), slot(6)
[Вт сен 17 14:51:04 2024] mpt3sas_cm0: enclosure level(0x0000), connector name( C1  )
[Вт сен 17 14:51:04 2024] md: md128: recovery interrupted.
[Вт сен 17 14:51:04 2024] Buffer I/O error on dev md128, logical block 64, async page read
[Вт сен 17 14:51:04 2024] Buffer I/O error on dev md128, logical block 64, async page read
[Вт сен 17 14:51:04 2024] md128: detected capacity change from 46875004928 to 0
[Вт сен 17 14:51:04 2024] md: md128 stopped.
[Вт сен 17 14:51:12 2024] mpt3sas_cm0: hba_port entry: 00000000f61f8dea, port: 5 is added to hba_port list
[Вт сен 17 14:51:12 2024] mpt3sas_cm0: handle(0xe) sas_address(0x300605b00de92804) port_type(0x1)
[Вт сен 17 14:51:12 2024] scsi 11:0:13:0: Direct-Access     ATA      WDC WD120EFBX-68 0A85 PQ: 0 ANSI: 6
[Вт сен 17 14:51:12 2024] scsi 11:0:13:0: SATA: handle(0x000e), sas_addr(0x300605b00de92804), phy(4), device_name(0x0000000000000000)
[Вт сен 17 14:51:12 2024] scsi 11:0:13:0: enclosure logical id (0x500605b00de92800), slot(6) 
[Вт сен 17 14:51:12 2024] scsi 11:0:13:0: enclosure level(0x0000), connector name( C1  )
[Вт сен 17 14:51:12 2024] scsi 11:0:13:0: atapi(n), ncq(y), asyn_notify(n), smart(y), fua(y), sw_preserve(y)
[Вт сен 17 14:51:12 2024] scsi 11:0:13:0: qdepth(128), tagged(1), scsi_level(7), cmd_que(1)
[Вт сен 17 14:51:12 2024] mpt3sas_cm0: log_info(0x31200205): originator(PL), code(0x20), sub_code(0x0205)
[Вт сен 17 14:51:12 2024] sd 11:0:13:0: Attached scsi generic sg6 type 0
[Вт сен 17 14:51:12 2024]  end_device-11:13: add: handle(0x000e), sas_addr(0x300605b00de92804)
[Вт сен 17 14:51:12 2024] sd 11:0:13:0: Power-on or device reset occurred
[Вт сен 17 14:51:12 2024] sd 11:0:13:0: [sdg] 23437770752 512-byte logical blocks: (12.0 TB/10.9 TiB)
[Вт сен 17 14:51:12 2024] sd 11:0:13:0: [sdg] 4096-byte physical blocks
[Вт сен 17 14:51:12 2024] sd 11:0:13:0: [sdg] Write Protect is off
[Вт сен 17 14:51:12 2024] sd 11:0:13:0: [sdg] Mode Sense: 9b 00 10 08
[Вт сен 17 14:51:12 2024] sd 11:0:13:0: [sdg] Write cache: enabled, read cache: enabled, supports DPO and FUA
[Вт сен 17 14:51:12 2024]  sdg: sdg1
[Вт сен 17 14:51:12 2024] sd 11:0:13:0: [sdg] Attached SCSI disk

Сразу после этого смотрю SMART отвалившегося диска: идеальный, выросли только «Start_Stop_Count» и связанные счетчики

Пересобираю RAID с ключем --force, синхронизация начинается с начала, часа через 2-5 всё повторяется.

Ограничивать скорость синхронизации до 80Mb/s не помогает
В проблемы питания не верю т.к. эта вся куча дисков пережила и активные fio тесты и копирование данных на уровне fs

Странно, что отваливается всегда конкретно этот диск и никакие другие.

Контроллер у меня lsi 9300-8i в HBA режиме

23:00.0 Serial Attached SCSI controller: Broadcom / LSI SAS3408 Fusion-MPT Tri-Mode I/O Controller Chip (IOC) (rev 01)

На диски дует вентилятор, на контроллер тоже, температура дисков держится ~45 градусов, контроллер свою температуру не говорит или я не знаю как смотреть.


Вопросы:

На что ещё смотреть, что выходит из строя?
Раз-через несколько при пересборке RAID синхронизация продолжается, как бы сделать чтобы каждый раз так было?
Я не уверен продолжит ли диск также отваливаться даже если RAID успешно синхронизируется.

★★

На диски дует вентилятор, на контроллер тоже, температура дисков держится ~45 градусов, контроллер свою температуру не говорит или я не знаю как смотреть.

Дополню:

На момент до добавления диска в RAID5 на синхронизацию вентиляторы дули «слабо», диски сидели на ~53 градусах, после первого отвала выкрутил вентиляторы на полную т.к. не видел проблем и думал что что-то перегревается и уходит в защиту.
Температура дисков упала до ~45 под той-же нагрузкой, значит и для контроллера тоже должна была на сколько-то упасть. Но проблема осталась.

Flotsky ★★
() автор топика
Ответ на: комментарий от NiTr0

адреса всегда разные между отвалами

Думаю будь это бэды они были бы в smart, smart крайне хороший

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  0x0004   127   127   054    Old_age   Offline      -       112
  3 Spin_Up_Time            0x0007   195   195   024    Pre-fail  Always       -       266 (Average 410)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       83
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000a   100   100   067    Old_age   Always       -       0
  8 Seek_Time_Performance   0x0004   128   128   020    Old_age   Offline      -       18
  9 Power_On_Hours          0x0012   097   097   000    Old_age   Always       -       25260
 10 Spin_Retry_Count        0x0012   100   100   060    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       83
 22 Unknown_Attribute       0x0023   100   100   025    Pre-fail  Always       -       100
192 Power-Off_Retract_Count 0x0032   077   077   000    Old_age   Always       -       28420
193 Load_Cycle_Count        0x0012   077   077   000    Old_age   Always       -       28420
194 Temperature_Celsius     0x0002   147   147   000    Old_age   Always       -       44 (Min/Max 19/55)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       0
Flotsky ★★
() автор топика
Ответ на: комментарий от Dimez

Предлагайте.

Сразу скажу: raid6 не имеет смысла у меня будет максимум 4 диска и то планируется 3 на ближайшие года 3.

Менять более одного диска я сейчас в бюджет не влезу, но послушаю советов что выбирать для след покупки

Flotsky ★★
() автор топика
Ответ на: комментарий от Flotsky

Это не полный smart. Там ещё должен быть лог последних ошибок, и вобще можно smartctl -x почитать, там тоже какие-то новые параметры добавляются.

То есть, у накопителя в логе есть свежие ошибки чтения, про которые пишет ядро или вобще свежие события?

mky ★★★★★
()
Ответ на: комментарий от mky

Там ещё должен быть лог последних ошибок

не наблюдаю таких

SMART Extended Comprehensive Error Log Version: 1 (1 sectors)
No Errors Logged

полный выхлоп: https://pastebin.com/FSZVqVQJ

Flotsky ★★
() автор топика
Последнее исправление: Flotsky (всего исправлений: 1)
Ответ на: комментарий от Dimez

А на моём языке похожее наверное будет https://true-system.blogspot.com/2013/04/mtbf-afr-uer-raid.html

Почитал, думаю… (но почему отваливается всегда только один конкретный диск???)

Flotsky ★★
() автор топика
Ответ на: комментарий от mky

То есть, у накопителя в логе есть свежие ошибки чтения, про которые пишет ядро или вобще свежие события?

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

Flotsky ★★
() автор топика
Ответ на: комментарий от Flotsky

но почему отваливается всегда только один конкретный диск???

Это не связано со ссылкой. По ссылке твои проблемы в будущем, а текущие проблемы - с питанием, скорее всего. Многие БП имеют сильный перекос в одну из линий, а 3.5" надо и 5V и 12V одновременно.

Dimez ★★★★★
()
Ответ на: комментарий от Dimez

Точную модель не помню, 750Вт с Gold сертификатом, уверен, что его с запасом.

В проблемы питания не верю т.к. эта вся куча дисков пережила и активные fio тесты и копирование данных на уровне fs

Flotsky ★★
() автор топика
Ответ на: комментарий от Flotsky

вместо mdadm - встроенный raid из lvm или zfs

Они не будут реплицировать все блоки. Только те, что презентованы. С заданным числом копий

Т.е. пока эти 12 тб пустые - с ними ничего не далают. Создал новый логический том с зеркалированием - у него будет 2 копии. Или 3,4,сколько придумаешь

Захотел много места без гарантий - создал в том же пуле новый том без избыточности или вообще raid0 с чередованием страйпов

Т.е. все рейды в lvm и zfs будут работать на уровне логических томов. А свободное место не нужно синхронизировать

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от Flotsky

Ну, если в SMART ошибок нет, то это дейстивтельно, больше похоже на отвал контроллера, а не ошибки чтения. В том SMART'е, что вы выкладывали в посту, Start_Stop_Count 83, а pastebin.com уже 86. По идее, если вы не щёлкали питанием системника, то этот счётчик не должен расти, это не Load_Cycle_Count и всякие софтовые отключения/опознования НДМД на SATA интерфейсе не должны его увеличивать.

Ну, можете построчно, diff'ом сравнить два 'smartctl -x' до и после отвала, растёт там 'Number of Hardware Resets', 'Number of ASR Events'.

Не знаю, как у SATA, но у Molex бывало окисление штырей, сопротивление, как-бы нехватка питания. Ещё бывало, что самовосстанавливающиеся предохранители деградировали и давали сопротивление. В результате, НЖМД получает питание через резистор, при нагрузке и допустимом проседании питании на БП, на плате НЖМД уже недопустмо низкое напряжение. В теории это можно ловить осцилографом, но нужно знать на какой порог настроить триггер осцила...

mky ★★★★★
()

Все же, думаю проблема в физике, переставь в другой слот в корзине. Думаю проблема в кабеле питания или кабеле данных / слоте в корзине.

Меняй провода, если корзины нет, а диски в обычном корпусе.

kostik87 ★★★★★
()
Ответ на: комментарий от mky

Ну, можете построчно, diff’ом сравнить два ‘smartctl -x’ до и после отвала, растёт там ‘Number of Hardware Resets’, ‘Number of ASR Events’.

$ diff smart_before smart_after 
16c16
< Local Time is:    Tue Sep 17 19:41:41 2024 MSK
---
> Local Time is:    Tue Sep 17 20:19:31 2024 MSK
68c68
<   4 Start_Stop_Count        -O--C-   100   100   000    -    86
---
>   4 Start_Stop_Count        -O--C-   100   100   000    -    87
72c72
<   9 Power_On_Hours          -O--C-   097   097   000    -    25264
---
>   9 Power_On_Hours          -O--C-   097   097   000    -    25265
74c74
<  12 Power_Cycle_Count       -O--CK   100   100   000    -    86
---
>  12 Power_Cycle_Count       -O--CK   100   100   000    -    87
76,78c76,78
< 192 Power-Off_Retract_Count -O--CK   077   077   000    -    28424
< 193 Load_Cycle_Count        -O--C-   077   077   000    -    28424
< 194 Temperature_Celsius     -O----   171   171   000    -    38 (Min/Max 19/55)
---
> 192 Power-Off_Retract_Count -O--CK   077   077   000    -    28426
> 193 Load_Cycle_Count        -O--C-   077   077   000    -    28426
> 194 Temperature_Celsius     -O----   154   154   000    -    42 (Min/Max 19/55)
138,139c138,139
< Current Temperature:                    38 Celsius
< Power Cycle Min/Max Temperature:     37/44 Celsius
---
> Current Temperature:                    42 Celsius
> Power Cycle Min/Max Temperature:     42/43 Celsius
148c148
< Temperature History Size (Index):    128 (113)
---
> Temperature History Size (Index):    128 (122)
151,154c151,152
<  114    2024-09-17 17:34    39  ********************
<  ...    ..(  8 skipped).    ..  ********************
<  123    2024-09-17 17:43    39  ********************
<  124    2024-09-17 17:44    38  *******************
---
>  123    2024-09-17 18:12    39  ********************
>  124    2024-09-17 18:13    38  *******************
156,159c154,157
<   37    2024-09-17 18:25    38  *******************
<   38    2024-09-17 18:26    37  ******************
<   39    2024-09-17 18:27    38  *******************
<   40    2024-09-17 18:28    37  ******************
---
>   37    2024-09-17 18:54    38  *******************
>   38    2024-09-17 18:55    37  ******************
>   39    2024-09-17 18:56    38  *******************
>   40    2024-09-17 18:57    37  ******************
161,162c159,160
<   93    2024-09-17 19:21    37  ******************
<   94    2024-09-17 19:22    38  *******************
---
>   93    2024-09-17 19:50    37  ******************
>   94    2024-09-17 19:51    38  *******************
164,165c162,169
<  112    2024-09-17 19:40    38  *******************
<  113    2024-09-17 19:41    39  ********************
---
>  112    2024-09-17 20:09    38  *******************
>  113    2024-09-17 20:10    43  ************************
>  114    2024-09-17 20:11    43  ************************
>  115    2024-09-17 20:12    43  ************************
>  116    2024-09-17 20:13    42  ***********************
>  ...    ..(  4 skipped).    ..  ***********************
>  121    2024-09-17 20:18    42  ***********************
>  122    2024-09-17 20:19    39  ********************
174,175c178,179
< 0x01  0x008  4              86  ---  Lifetime Power-On Resets
< 0x01  0x010  4           25264  ---  Power-on Hours
---
> 0x01  0x008  4              87  ---  Lifetime Power-On Resets
> 0x01  0x010  4           25265  ---  Power-on Hours
178,180c182,184
< 0x01  0x028  6     16328963385  ---  Logical Sectors Read
< 0x01  0x030  6        70640189  ---  Number of Read Commands
< 0x01  0x038  6     90953512400  ---  Date and Time TimeStamp
---
> 0x01  0x028  6     16328965895  ---  Logical Sectors Read
> 0x01  0x030  6        70640302  ---  Number of Read Commands
> 0x01  0x038  6     90955781150  ---  Date and Time TimeStamp
184c188
< 0x03  0x018  4           28424  ---  Head Load Events
---
> 0x03  0x018  4           28426  ---  Head Load Events
192c196
< 0x05  0x008  1              38  ---  Current Temperature
---
> 0x05  0x008  1              42  ---  Current Temperature

Дойду завтра до этого сервера, поменяю что у меня найдётся, сомневаюсь, но зато отброшу эти варианты…

Flotsky ★★
() автор топика
  1. Проверь, а лучше поменяй кабели к диску – питания и данных.

  2. Посмотри на просадку питания по линии, возможно дело в этом.

  3. В какой момент отваливается? Что в логах системы в плане нагрузки? Может отваливается тогда, когда система сильно нагружена и жрет электричество как в последний раз…

  4. Модели дисков скажи, может они совсем непригодны для рейда, может в энергосбережение активно пытаются уйти, и соотв. отвал по времени отклика.

soomrack ★★★★★
()

У тебя точно мощности блока питания на всё хватает? Много раз наблюдал отваливание дисков в рейдах при недостатке мощности на блоке питания.

vtVitus ★★★★★
()
Ответ на: комментарий от Flotsky

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

  • Отключил все диски кроме этих трёх и системного nvme
  • Все кабели(в том числе питания) заменил на с отключенных дисков и продул

Запустил, пока шёл обратно уже 12% отсинхронизировалось, обычно падает где-то между 5-30%.

Теперь разве что в лог пишет

[ 2320.025346] md/raid:md128: read error corrected (8 sectors at 2355308384 on sdc1)
[ 2320.025356] md/raid:md128: read error corrected (8 sectors at 2355308392 on sdc1)
[ 2320.025360] md/raid:md128: read error corrected (8 sectors at 2355308400 on sdc1)
[ 2320.025363] md/raid:md128: read error corrected (8 sectors at 2355308408 on sdc1)
[ 2320.025367] md/raid:md128: read error corrected (8 sectors at 2355308416 on sdc1)

Планирую подождать 50% синхронизации и если отвалов не будет, то ещё полностью заменю все кабели на новые и БП заменю на запасной.

@Dimez

Точную модель не помню

Ну как вспомнишь - приходи :-)

Подвела меня память немного, сейчас стоит AeroCool KCAS-750M, в запасе AeroCool KCAS-750GM

Flotsky ★★
() автор топика
Ответ на: комментарий от Flotsky
Ответ на: комментарий от mky

[ 2320.025346] md/raid:md128: read error corrected (8 sectors at 2355308384 on sdc1)

Рядом никаких логов про IO Error конкретно диска/раздела нет, только это сообщение, что наверное странно.

В smartctl -a параметры Current_Pending_Sector, Reallocated_Event_Count, Seek_Error_Rate, Reallocated_Sector_Ct не менялись и все «по нулям».

Про smartctl -x не могу сказать, не с чем сравнить. Более эти ошибки пока не возникали, но если возникнут, то добавлю diff

Flotsky ★★
() автор топика
Ответ на: комментарий от Flotsky

Вроде ничего необычного, хотя

вот эти два показателя меня сильно смущают, в среднем диск раз в час это делал

192 Power-Off_Retract_Count -O--CK   077   077   000    -    28640
193 Load_Cycle_Count        -O--C-   077   077   000    -    28640

может у тебя действительно диск периодически в stand-by или типа того пытается уйти и соотв. рейд рассыпается?

PS: ну и RED диски не супер, лучше из Gold хранилище выстраивать.

soomrack ★★★★★
()
Ответ на: комментарий от soomrack

Я свои домашние старые (power on hours около 80000) wd red обрабатывал idle3ctl, отключал парковку, с тех пор счётчик не растёт.

ну и RED диски не супер

Недорогие, можно в массив, почему «не супер» то?

Dimez ★★★★★
()
Последнее исправление: Dimez (всего исправлений: 1)
Ответ на: комментарий от Dimez

Я свои домашние старые (power on hours около 80000) wd red обрабатывал idle3ctl, отключал парковку, с тех пор счётчик не растёт.

Видимо ТС нужно тоже самое сделать.

Недорогие, можно в массив, почему «не супер» то?

Если опыт позитивный, то почему бы и нет. У меня хороший опыт с Gold, да и гарантия на них существенно более долгая (к сожалению, сейчас она превратилась в тыкву). А для железных рейдов (сейчас не актуально) была серия Black RE, которая гарантировала время отклика диска (без этого рейды разваливались только так, особенно на Green серии).

soomrack ★★★★★
()
Ответ на: комментарий от mky

хм, давайте я буду оперировать SN дисков

Изначальная проблема была в отваливался диск с SN 5PKENJPF, его мы обсуждали в этой ветке до комментария raid5 стабильно отваливается один диск в процессе синхронизации (комментарий)

Далее я отключил все диски кроме участвующих в этом RAID и системного, выполнил перестановки кабелей питания/данных и перестал наблюдать отвалы диска.
read error corrected (8 sectors at 2355308384 on sdc1) относится уже к SN 5PKV32AF и с момента того комментария более не встречался

smartctl для 5PKENJPF приводил тут raid5 стабильно отваливается один диск в процессе синхронизации (комментарий)
smartctl для 5PKV32AF приводил тут raid5 стабильно отваливается один диск в процессе синхронизации (комментарий)

Flotsky ★★
() автор топика
Последнее исправление: Flotsky (всего исправлений: 1)
Ответ на: комментарий от Flotsky

У SN 5PKV32AF, вроде, всё хорошо, единственное:

4 --- Read Recovery Attempts

Но непонятно когда вырос этот параметр. И бывает, что НЖМД работает годами, этот параметр уходит в сотни тысяч и ничего.

mky ★★★★★
()

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

RAID синхронизировался, больше никаких ошибок не было.
Я под последние 10% синхронизации вернул штатную нагрузку в виде пары VM. И после синхронизации ещё немного fio тестов прогнал.

Спасибо откликнувшимся, сам бы я до питания/кабелей врятли бы додумался при имеющемся изначальном логе, больше склонялся к тому, что диск умирает.

Flotsky ★★
() автор топика