Рейтинг:2

Массив RAID говорит «критическая ошибка среды», но smartctl говорит, что диск исправен — что делать дальше?

флаг in

У меня есть массив SSD-накопителей RAID-1 (Samsung 970 EVO Plus), и в /var/журнал/системный журнал, но смартктл сообщает, что диск исправен. Я сделал кучу диагностики (ниже), и мне интересно, могу ли я что-нибудь еще сделать. Возникла проблема или нет, и если да, то как лучше поступить? (На Кубунту 18.04.6 LTS.)

Вот массив:

$ кошка /proc/mdstat
md1 : активный рейд1 nvme0n1p3[0] nvme1n1p3[2]
      1919724608 блоки супер 1.2 [2/2] [UU]
      растровое изображение: 5/15 страниц [20 КБ], фрагмент 65536 КБ

Выглядит здоровым, судя по мдадм:

$ sudo mdadm --detail /dev/md1
/dev/md1:
           Версия : 1.2
     Время создания : Сб 29 февраля 12:33:09 2020
        Уровень рейда: рейд1
        Размер массива: 1919724608 (1830,79 ГиБ 1965,80 ГБ)
     Используемый размер разработки: 1919724608 (1830,79 ГиБ 1965,80 ГБ)
      Рейдовые устройства: 2
     Всего устройств: 2
       Постоянство: суперблок постоянен

     Растровое изображение намерения: внутреннее

       Время обновления: пятница, 31 декабря, 14:04:55 2021 г.
             Состояние: чистое 
    Активные устройства: 2
   Рабочие устройства: 2
    Неудачные устройства: 0
     Запасные устройства : 0

Политика согласованности: растровое изображение

              Имя: Кубунту: 1
              UUID: 7c84adca:31e96bad:b1be03ae:d7d0349d
            События : 41087

    Номер Основной Младший RaidDevice State
       0 259 3 0 активная синхронизация /dev/nvme0n1p3
       2 259 7 1 активная синхронизация /dev/nvme1n1p3

Однако некоторые ошибки чтения начали появляться в /var/журнал/системный журнал, в тройках:

31 декабря, 12:32:56.
31 декабря 12:32:56 ядро: [662973.969222] md/raid1:md1: nvme1n1p3: перепланирование сектора 2702369024
31 декабря 12:32:56 ядро: [662973.978792] md/raid1:md1: перенаправление сектора 2702369024 на другое зеркало: nvme0n1p3

31 декабря, 12:43:11.
31 декабря 12:43:11 ядро: [663588.474943] md/raid1:md1: nvme0n1p3: перепланирование сектора 1747863296
31 декабря 12:43:11 ядро: [663588.499466] md/raid1:md1: перенаправление сектора 1747863296 на другое зеркало: nvme0n1p3

иногда следует:

ядро: [313519.337578] md/raid1:md1: исправлена ​​ошибка чтения (8 секторов по адресу 1367197592 на nvme1n1p3)

я побежал смартктл искать проблемы. Это указывает на то, что ошибки произошли в прошлом, но также говорит "Результат теста на самооценку общего состояния здоровья SMART: ПРОШЕЛ."

Для /dev/nvme0n1:

$ sudo smartctl -a /dev/nvme0n1
smartctl 6.6 31 мая 2016 г. r4324 [x86_64-linux-5.4.0-91-generic] (локальная сборка)
Copyright (C) 2002-16, Брюс Аллен, Кристиан Франке, www.smartmontools.org

=== НАЧАЛО ИНФОРМАЦИОННОГО РАЗДЕЛА ===
Номер модели: Samsung SSD 970 EVO 2 ТБ
Серийный номер: S464NB0M406242D
Версия прошивки: 2B2QEXE7
Идентификатор поставщика/подсистемы PCI: 0x144d
Идентификатор IEEE OUI: 0x002538
Общая емкость NVM: 2 000 398 934 016 [2,00 ТБ]
Нераспределенная емкость NVM: 0
Идентификатор контроллера: 4
Количество пространств имен: 1
Размер/емкость пространства имен 1: 2 000 398 934 016 [2,00 ТБ]
Использование пространства имен 1: 1 017 558 851 584 [1,01 ТБ]
Пространство имен 1 Размер LBA в формате: 512
Местное время: пятница, 31 декабря, 14:01:33 2021 EST.
Обновления прошивки (0x16): 3 слота, сброс не требуется
Дополнительные команды администратора (0x0017): Формат безопасности Frmw_DL *Другое*
Дополнительные команды NVM (0x005f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat *Другое*
Максимальный размер передаваемых данных: 512 страниц
Предупреждение комп. Темп. Порог: 82 по Цельсию
Критический комп. Темп. Порог: 82 по Цельсию

Поддерживаемые состояния питания
St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat
 0 + 6,20 Вт - - 0 0 0 0 0 0
 1 + 4,30 Вт - - 1 1 1 1 0 0
 2 + 2,10 Вт - - 2 2 2 2 0 0
 3 - 0,0400 Вт - - 3 3 3 3 210 1200
 4 - 0,0050 Вт - - 4 4 4 4 2000 8000

Поддерживаемые размеры LBA (NSID 0x1)
Id FMT Data Metadt Rel_Perf
 0 + 512 0 0

=== НАЧАЛО РАЗДЕЛА SMART DATA ===
Результат теста на самооценку общего состояния здоровья SMART: ПРОШЕЛ

Информация SMART/Health (журнал NVMe 0x02, NSID 0x1)
Критическое предупреждение: 0x00
Температура: 46 по Цельсию
Доступные запасные части: 73%
Доступный запасной порог: 10%
Процент использования: 0%
Прочитано единиц данных: 232 548 547 [119 ТБ]
Записано единиц данных: 58 761 625 [30,0 ТБ]
Команды чтения хоста: 1 144 416 417
Команд записи хоста: 1 551 430 546
Время занятости контроллера: 7250
Силовые циклы: 114
Время работы: 6365 часов
Небезопасные отключения: 73
Ошибки целостности носителей и данных: 694
Записи в журнале информации об ошибках: 926
Предупреждение комп. Температурное время: 0
Критический комп. Температурное время: 0
Датчик температуры 1: 46 по Цельсию
Датчик температуры 2: 50 по Цельсию

Информация об ошибке (журнал NVMe 0x01, макс. 64 записи)
Num ErrCount SQId CmdId Статус PELoc LBA NSID VS
  0 926 28 0x0370 0xc502 0x000 3738332404 1 -
  1 925 6 0x015b 0xc502 0x000 2503721366 1 -
  2 924 22 0x0000 0xc502 0x000 1963251598 1 -
  3 923 11 0x038a 0xc502 0x000 1862557082 1 -
  4 922 16 0x00d1 0xc502 0x000 1862557082 1 -
  5 921 6 0x0141 0xc502 0x000 1826459600 1 -
  6 920 20 0x03b5 0xc502 0x000 1815443442 1 -
  7 919 8 0x034d 0xc502 0x000 2588273810 1 -
  8 918 11 0x0315 0xc502 0x000 2583041964 1 -
  9 917 9 0x02e3 0xc502 0x000 2583041964 1 -
 10 916 11 0x030e 0xc502 0x000 2583023500 1 -
 11 915 11 0x0308 0xc502 0x000 2583023468 1 -
 12 914 11 0x033a 0xc502 0x000 2583023500 1 -
 13 913 9 0x02ec 0xc502 0x000 2583023468 1 -
 14 912 14 0x03d2 0xc502 0x000 2472005420 1 -
 15 911 23 0x00cd 0xc502 0x000 2444721868 1 -
... (32 записи не показаны)

/dev/nvme1n1:

$ sudo smartctl -a /dev/nvme1n1
smartctl 6.6 31 мая 2016 г. r4324 [x86_64-linux-5.4.0-91-generic] (локальная сборка)
Copyright (C) 2002-16, Брюс Аллен, Кристиан Франке, www.smartmontools.org

=== НАЧАЛО ИНФОРМАЦИОННОГО РАЗДЕЛА ===
Номер модели: Samsung SSD 970 EVO 2 ТБ
Серийный номер: S464NB0M403333H
Версия прошивки: 2B2QEXE7
Идентификатор поставщика/подсистемы PCI: 0x144d
Идентификатор IEEE OUI: 0x002538
Общая емкость NVM: 2 000 398 934 016 [2,00 ТБ]
Нераспределенная емкость NVM: 0
Идентификатор контроллера: 4
Количество пространств имен: 1
Размер/емкость пространства имен 1: 2 000 398 934 016 [2,00 ТБ]
Использование пространства имен 1: 1 044 938 612 736 [1,04 ТБ]
Пространство имен 1 Размер LBA в формате: 512
Местное время: пятница, 31 декабря, 14:03:07 2021 EST.
Обновления прошивки (0x16): 3 слота, сброс не требуется
Дополнительные команды администратора (0x0017): Формат безопасности Frmw_DL *Другое*
Дополнительные команды NVM (0x005f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat *Другое*
Максимальный размер передаваемых данных: 512 страниц
Предупреждение комп. Темп. Порог: 82 по Цельсию
Критический комп. Темп. Порог: 82 по Цельсию

Поддерживаемые состояния питания
St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat
 0 + 6,20 Вт - - 0 0 0 0 0 0
 1 + 4,30 Вт - - 1 1 1 1 0 0
 2 + 2,10 Вт - - 2 2 2 2 0 0
 3 - 0,0400 Вт - - 3 3 3 3 210 1200
 4 - 0,0050 Вт - - 4 4 4 4 2000 8000

Поддерживаемые размеры LBA (NSID 0x1)
Id FMT Data Metadt Rel_Perf
 0 + 512 0 0

=== НАЧАЛО РАЗДЕЛА SMART DATA ===
Результат теста на самооценку общего состояния здоровья SMART: ПРОШЕЛ

Информация SMART/Health (журнал NVMe 0x02, NSID 0x1)
Критическое предупреждение: 0x00
Температура: 45 по Цельсию
Доступные запасные части: 81%
Доступный запасной порог: 10%
Процент использования: 1%
Прочитанные единицы данных: 180 057 901 [92,1 ТБ]
Записано единиц данных: 77 700 415 [39,7 ТБ]
Команды чтения хоста: 801 630 346
Команд записи хоста: 1 566 190 001
Время занятости контроллера: 6925
Силовые циклы: 156
Время работы: 6260 часов
Небезопасные отключения: 86
Ошибки целостности носителей и данных: 721
Записи в журнале информации об ошибках: 1015
Предупреждение комп. Температурное время: 0
Критический комп. Температурное время: 0
Датчик температуры 1: 45 по Цельсию
Датчик температуры 2: 52 по Цельсию

Информация об ошибке (журнал NVMe 0x01, макс. 64 записи)
Num ErrCount SQId CmdId Статус PELoc LBA NSID VS
  0 1015 22 0x0178 0xc502 0x000 2395920012 1 -
  1 1014 31 0x02d6 0xc502 0x000 2065018576 1 -
  2 1013 10 0x004e 0xc502 0x000 1928508102 1 -
  3 1012 6 0x02aa 0xc502 0x000 2769949126 1 -
  4 1011 27 0x0204 0xc502 0x000 2180665946 1 -
  5 1010 27 0x023b 0xc502 0x000 2180598396 1 -
  6 1009 14 0x00ee 0xc502 0x000 2562333810 1 -
  7 1008 13 0x0075 0xc502 0x000 2423243572 1 -
  8 1007 30 0x03bb 0xc502 0x000 2326927278 1 -
  9 1006 24 0x03e6 0xc502 0x000 1775468746 1 -
 10 1005 16 0x0066 0xc502 0x000 1775468746 1 -
 11 1004 23 0x0148 0xc502 0x000 2813092280 1 -
 12 1003 26 0x02fa 0xc502 0x000 2452856518 1 -
 13 1002 5 0x03b1 0xc502 0x000 2119789206 1 -
 14 1001 27 0x009b 0xc502 0x000 3047371772 1 -
 15 1000 5 0x036c 0xc502 0x000 3047371772 1 -
... (5 записей не показаны)

Два диска не поддерживают самотестирование (смартктл -с вообще не перечисляет никаких самопроверок).

$ sudo smartctl -c /dev/nvme0n1
smartctl 6.6 31 мая 2016 г. r4324 [x86_64-linux-5.4.0-91-generic] (локальная сборка)
Copyright (C) 2002-16, Брюс Аллен, Кристиан Франке, www.smartmontools.org

=== НАЧАЛО ИНФОРМАЦИОННОГО РАЗДЕЛА ===
Обновления прошивки (0x16): 3 слота, сброс не требуется
Дополнительные команды администратора (0x0017): Формат безопасности Frmw_DL *Другое*
Дополнительные команды NVM (0x005f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat *Другое*
Максимальный размер передаваемых данных: 512 страниц
Предупреждение комп. Темп.Порог: 82 по Цельсию
Критический комп. Темп. Порог: 82 по Цельсию

Поддерживаемые состояния питания
St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat
 0 + 6,20 Вт - - 0 0 0 0 0 0
 1 + 4,30 Вт - - 1 1 1 1 0 0
 2 + 2,10 Вт - - 2 2 2 2 0 0
 3 - 0,0400 Вт - - 3 3 3 3 210 1200
 4 - 0,0050 Вт - - 4 4 4 4 2000 8000

Поддерживаемые размеры LBA (NSID 0x1)
Id FMT Data Metadt Rel_Perf
 0 + 512 0 0

Обновление моего вопроса:

Некоторые ошибки, по-видимому, связаны с скрипт контрольного массива который запускается раз в месяц, потому что ошибки начинаются «в первое воскресенье каждого месяца, в 01:06 утра». «Ман МД» добавляет:

[На] RAID1 проблемы с программным обеспечением могут вызвать сообщение о несоответствии [между двумя дисками]. Это не обязательно означает, что данные в массиве повреждены. Возможно, системе просто все равно, что хранится в этой части массива — это неиспользуемое пространство. Наиболее вероятная причина неожиданного несоответствия на RAID1 или RAID10 возникает, если в массиве хранится раздел подкачки или файл подкачки.

Что я должен делать дальше? Большое тебе спасибо.

Nmath avatar
флаг ng
Всегда доверяйте худшему отчету. Убедитесь, что резервные копии в порядке. Помните, что [RAID не является резервной копией](https://www.raidisnotabackup.com/). Планируйте замену неисправного диска рано или поздно.
DanB avatar
флаг in
Спасибо. Что означает внезапное появление ошибок на *обоих* SSD в массиве? (Некоторые сообщения помещают ошибку в `/dev/nvme0n1`, а другие в `/dev/nvme1n1`.
Nmath avatar
флаг ng
Если они зеркалированы, это может быть несоответствие между двумя дисками.
DanB avatar
флаг in
Они зеркальные. Есть ли команда для проверки или исправления ситуации, если диски несовместимы? PS: я только что обнаружил (путем поиска в старых архивных журналах), что эти ошибки происходят в течение многих месяцев на обоих дисках, обычно в одно и то же время суток, когда они резервируются с помощью rsync (на другой диск).
Nmath avatar
флаг ng
Ошибки, которые вы видите, уведомляют вас о вносимых исправлениях. Вот что подразумевается под «перепланированием» и «перенаправлением».
DanB avatar
флаг in
Спасибо! Последний вопрос: что означает, если за ошибкой *не* следует сообщение о планировании/исправлении, такое как это сообщение само по себе: "ядро: [905111.122813] blk_update_request: критическая ошибка среды, dev nvme1n1, сектор 34055424 op 0x0:( ЧИТАТЬ) ..."?
DanB avatar
флаг in
А, только что обнаружил кое-что в `/usr/share/doc/mdadm/README.checkarray`! «checkarray будет запускать проверки четности во всех ваших избыточных массивах. По умолчанию он настроен на запуск в первое воскресенье каждого месяца, в 01:06 утра». Этот период даты и времени точно соответствует большинству сообщений об ошибках в моих журналах. (Хотя не все сообщения об ошибках.)
Nmath avatar
флаг ng
Не уверен насчет ошибок, за которыми не следует исправление. Для меня имеет смысл, что большинство исправлений будет иметь место, когда система их проверяет.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.