Comments 40
… Резко возрастает вероятность того, что что-то пойдёт не так. Например, будут повреждены данные в пользовательском буфере чтения или записи.
Вот по-этому и нужно постоянно проверять smart. Чтобы устройство сдохло и было забраковано до того, как насосётся juicy data.
Принцип "не трогайте, оно хрупкое, а от него всё зависит" — это очень плохой принцип. Правильный принцип — долбайте изо всех сил, и если вы его не сумели сломать, то и залётного дятла оно тоже не заметит.
Further reading: chaos monkey, storm, mangle, chaos engineering.
Обычный факап фирмвари. В серьёзных системах это не особая проблема, потому что система хранения данных считает crc и делает deep scrub периодически. Умершие данные будут просто помечены плохими и перезалиты. Если это будет происходить постоянно, то osd помрёт (что в этой ситуации, скорее, плюс). А predictive smart это дело запомнит и начнёт на такие устройства коситься. 10-20 устройств — и оно будет "красным" ещё до форматирования.
В домашних условиях (читай, на одиноком линуксе), у нас есть (для не-SAS устройств, т.к. на SAS сектора по 520 байт как раз для CRC):
1) файловые системы с чексуммами (ZoL, BTRFS).
2) блочный стек с чексуммами внутри dm-integrity.
Их достаточно, чтобы обнаружить bit rot.
Если фря игнорит dma errors, то на помойку такие драйвера.
Более того, для тривиального коррапта данных по факту записи (не bit rot), то можно поиграться с опцией -R
у hdparm (write-read-verify).
Вот по-этому и нужно постоянно проверять smart. Чтобы устройство сдохло
Дохнут с идеальным СМАРТом только так. Только резервирование.
Правильный принцип — долбайте изо всех сил,
Вы так всё вселенную разнесёте :) Если серьёзно, то вам тогда либо энтерпрайз только покупать нужно (и всё равно его тестировать), либо просеивать все выпускаемые лоу-энд диски, в поисках наиболее надёжных. Владельцы крупнейших хранилищ данных примерно так и поступают. На входе фильтруют все поступающие к ним жесткие диски, специально организовывают подобные процессы, отдельные люди за этим следят. Но это далеко не всегда рентабельно.
Ну, минимальное нагрузочное тестирование при принятии железа в продакшен — это прямо 102 системного администрирования. Когда мне аптаймы серверов ещё были не пофигу, я так всегда делал. Новый сервер минимум сутки стоял на мемтесте и ещё всеми возможными бенчмарками вжигался насколько можно. Пару раз за карьеру фигню ловило — либо память битая, либо система охлаждения криво приклеена.
SMART overall-health self-assessment test result: PASSED
наличие такой строчки вовсе не говорит о том, что диск в порядке и не выйдет из строя в ближайшее время (это время может быть и меньше суток)
Всё равно такие проверки панацеей от неожиданного выхода диска из строя не являются
Но наверное вы правы, стоило на это обратить внимание отдельно.
Раз в сутки — считаю вполне достаточным.
О, ещё один повод у меня поныть на Хабре про недавно сдохший жёсткий диск) Регулярно посматривал SMART вручную. За день до смерти SMART был идеальный, в пятницу днём нарисовались 48 нестабильных секторов, к вечеру образовались полторы тысячи переназначенных секторов, а ещё ближе к ночи диск окончательно перестал определяться системой. Сдох меньше чем за полдня, такие вот дела
\_(ツ)_/¯
«Люди не все умирают в старости. Утром бегал и улыбался, а вечером все что он знал и хотел сделать уже кануло в пустоту» — обычный ответ.
Вот теперь и не знаю что с ними делать, выкидывать жалко всё таки 2тб ссд, на работе использовать нельзя. А дома пока не придумал что с ними делать, учитывая их поведение. Продажу не рассматривал по этических причинам.
А вообще, отличный вариант для офлайновых резервных копий. Храните их на полочке и снимайте поочерёдно копии важных данных то на один, то на другой, чередуя диски.
Попробуйте посмотреть с помощью R.tester. Если не покажет, дайте точное название чипсета в его своей материнке или её модель, и точную версию драйвера, либо ссылку на страницу сайта производителя, где лежат этот драйвер и родная утилита. Я перешлю эти данные разработчику утилиты и он добавит поддержку, если только это вообще возможно.
Дамп можно снять либо кнопкой «Diag dump» в главном окне, либо «Save dump» в окне с результатом «Quick DIAG».
Извиняюсь может знаете в чем можут быть проблема, когда диск цел но скорость на всей поверхности диска 10мб?
Какого-то общего принципа интерпретации raw значений нет. Всё очень сильно моделезависимо. Как я писал, прошивка может не отражать реалокейты в СМАРТе, а у другого диска, при том же их количестве, будет показывать. Поэтому прямо опираться на SMART, если вам нужно оценивать состояние диска не очень хороший подход. Желательно, как минимум, SMART + тесты чтения-записи. В R.tester есть алгоритм быстрой диагностики состояния диска, там как раз используется SMART + тесты в совокупности. Но там только тесты чтения.
Специалисты для оценки состояний дисков используют тесты + данные, получаемые через технопротокол, в SMART даже не заглядывают.
ID Cur Wor Thr RawValues(6) Attribute Name
01 200 200 _51 000000000000 Read Error Rate
03 129 127 _21 00000000119C Spin-Up Time
04 _98 _98 __0 00000000082B Start/Stop Count
05 200 200 140 000000000000 Reallocated Sectors Count
07 200 200 __0 000000000000 Seek Error Rate
09 _97 _97 __0 000000000B13 Power-On Hours
Для Power-On Hours имеем B13, т.е. 2835 часов, но программа рисует какие-то 97 с колонке текущих… И так не только с этой прогораммой, со многими другими тоже.
А не подскажите, почему программы странно иногда переводят hex в десятичные числа? Например из
это не программы «переводят», а столбцы Cur Wor Thr содержат некие значения формируемые микропрограммой накопителя, которые обычно ничего не имеют общего с реальным счетчиком в RawValues. Это лишь некие значения, которые формируются по известному авторам конкретной фирмвари алгоритмам, которые при достижении в Cur значения Thr позволят вари посчитать, что SMART status BAD.
В свое время пробовал немного описать о том, как происходит взаимодействие ПК с накопителем и что накопитель может отдать в SMART Важный момент, что в старой заметке не указал интервал мониторинга, который не стоит делать каждую минуту.
Раньше пользовался SATA SSD Интел и Самсунг, и там это значение нормально показывалось, похоже на правду.
Год назад начал использовать NVME Самсунг и за год почти непрерывной работы, счётчик насчитал всего лишь:
Power On Hours: 1 022
Линуксовые утилиты smartctl и nvme показывают одно и то же.
Не понятно, то ли просто криво считается или накопитель часть времени находится как-то в спячке и это время не идёт в зачёт, там есть ещё счётчик:
Controller Busy Time: 281
Немного о SMART и утилитах для мониторинга