[ @smart @hdd ]
Узнать данные S.M.A.R.T.
в чистом виде нам поможет утилита под названием smartmontools.
sudo apt install smartmontools
Посмотреть, какие диски подключены
sudo fdisk -l
и определить название диска, который надо проверить, например, /dev/sdb.
Очень подробный гайд по «how best to use multiple disks and partitions for a Linux system» — https://tldp.org/HOWTO/Multi-Disk-HOWTO.html
Определить, какие тесты на моем диске вообще можно делать
Можно сделать три типа тестов:
- A short test, usually sufficient at detecting issues
- A longer test if you are more concerned that examines the entire disk surface
- A conveyance test which is used to test if damages occurred during transportation of the device from the manufacturer.
sudo smartctl -c /dev/sdb
Будет много букв.
- в разделе "Offline data collection capabilities" может быть указано "No Conveyance Self-test supported", тогда третий тип тестов для меня отваливается.
- в разделе "Short self-test routine" и "Extended self-test routine" указано предположительное время работы короткого теста (2) minutes в моем случае и длительного теста (232) minutes.
Вывести все данные S.M.A.R.T.
командой smartctl с опцией -a и указанием анализируемого диска:
sudo smartctl -a /dev/sda3
Сначала будет выведена информация о модели вашего HDD и SSD:
- Model Family: Western Digital Scorpio Blue Serial ATA
- Device Model: WDC WD1600BEVT-24A23T0
- Serial Number: WD-WXL1A30F0711
Немного ниже можно найти список с данными S.M.A.R.T. Количество атрибутов может отличаться в зависимости от модели диска.
Каждый атрибут имеет величину - Value. Value Изменяется в диапазоне от 0 до 255 (задается производителем). Низкое значение говорит о быстрой деградации диска или о возможном скором сбое. т.е. чем выше значение Value атрибута, тем лучше.
- Raw Value - это значение атрибута во внутреннем формате производителя значение малоинформативно для всех кроме сервисманов.
- Threshold - минимальное возможное значение атрибута, при котором гарантируется безотказная работа накопителя.
- Если VALUE стало меньше THRESH - Атрибут считается failed и отображается в столбце WHEN_FAILED. При значении атрибута меньше Threshold очень вероятен сбой в работе или полный отказ.
- WORST - минимальное нормализованное значение. Это минимальное значение которое достигалось с момента включения SMART на диске.
Атрибуты бывают критически важными (Pre-fail) и некритически важными (Old_age). Выход критически важного параметра за пределы Threshold фактический означает выход диска из строя, выход за переделы допустимых значений некритически важного параметра свидетельствует о наличии проблемы, но диск может сохранять свою работоспособность.
Критичные атрибуты
- Raw Read Error Rate - частота ошибок при чтении данных с диска, происхождение которых обусловлено аппаратной частью диска.
- Spin Up Time - время раскрутки пакета дисков из состояния покоя до рабочей скорости. При расчете нормализованного значения (Value) практическое время сравнивается с некоторой эталонной величиной, установленной на заводе. Не ухудшающееся немаксимальное значение при Spin Up Retry Count Value = max (Raw равном 0) не говорит ни о чем плохом. Отличие времени от эталонного может быть вызвано рядом причин, например просадка по вольтажу блока питания.
- Spin Up Retry Count - число повторных попыток раскрутки дисков до рабочей скорости, в случае если первая попытка была неудачной. Ненулевое значение Raw (соответственно немаксимальное Value) свидетельствует о проблемах в механической части накопителя.
- Seek Error Rate - частота ошибок при позиционировании блока головок. Высокое значение Raw свидетельствует о наличии проблем, которыми могут являться повреждение сервометок, чрезмерное термическое расширение дисков, механические проблемы в блоке позиционирования и др. Постоянное высокое значение Value говорит о том, что все хорошо.
- Reallocated Sector Count - число операций переназначения секторов. SMART в современных дисках способен произвести анализ сектора на стабильность работы "на лету" и в случае признания его сбойным, произвести его переназначение.
Некритичные атрибуты
- Start/Stop Count - полное число запусков/остановов шпинделя. Гарантировано мотор диска способен перенести лишь определенное число включений/выключений. Это значение выбирается в качестве Treshold. Первые модели дисков со скоростью вращения 7200 оборотов/мин имели ненадежный двигатель, могли перенести лишь небольшое их число и быстро выходили из строя.
- Power On Hours - число часов проведенных во включенном состоянии. В качестве порогового значения для него выбирается паспортное время наработки на отказ (MTBF). Обычно величина MTBF огромна, и маловероятно, что этот параметр достигнет критического порога. Но даже в этом случае выход из строя диска совершенно не обязателен.
- Drive Power Cycle Count - количество полных циклов включения-выключения диска. По этому и предыдущему атрибуту можно оценить, например, сколько использовался диск до покупки.
- Temperatue - Здесь хранятся показания встроенного термодатчика. Температура имеет огромное влияние на срок службы диска (даже если она находится в допустимых пределах). Вернее имеет влияние не на срок службы диска а на частоту возникновения некоторых типов ошибок, которые влияют на срок службы.
- Current Pending Sector Count - Число секторов, являющихся кандидатами на замену. Они не были еще определенны как плохие, но считывание их отличается от чтения стабильного сектора, так называемые подозрительные или нестабильные сектора.
- Uncorrectable Sector Count - число ошибок при обращении к сектору, которые не были скорректированы. Возможными причинами возникновения могут быть сбои механики или порча поверхности.
- UDMA CRC Error Rate - число ошибок, возникающих при передаче данных по внешнему интерфейсу. Могут быть вызваны некачественными кабелями, нештатными режимами работы.
- Write Error Rate - показывает частоту ошибок происходящих при записи на диск. Может служить показателем качества поверхности и механики накопителя.
В этой таблице нам нужно смотреть на значение поля RAW_VALUE для нужного атрибута. Именно оно показывает текущее значение атрибута.
Наиболее важные показатели
- Raw_Read_Error_Rate — количество ошибок чтения. Ненулевое значение должно сильно насторожить, а большие значение и вовсе говорят о скором выходе диска из строя. Известно, что на дисках Seagate, Samsung (семейства F1 и более новые) и Fujitsu 2,5? большое значение в этом поле является нормальным. Для остальных же дисков в идеале значение должно быть равно нулю;
- Spin_Up_Time — время раскрутки диска. Измеряется в миллисекундах т.е. в моём случае это 1.3 секунды. Чем меньше — тем лучше. Большие значения говорят о низкой отзывчивости;
- Start_Stop_Count — количество циклом запуска/остановки шпинделя;
- Reallocated_Sector_Ct — количество перераспределённых секторов. Большое значение говорит о большом количестве ошибок диска;
- Seek_Error_Rate — количество ошибок позиционирования. Большое значение говорит о плохом состоянии диска;
- Power_On_Hours — количество наработанных часов во включённом состоянии. По нему можно узнать сколько проработал диск во включённом состоянии. Довольно полезно, например, если покупать ноутбук с витрины и хочется узнать долго ли он там стоял;
- Power_Cycle_Count — количество включений/выключений диска;
- Spin_Retry_Count — количество попыток повторной раскрутки. Большое значение говорит о плохом состоянии диска;
- Temperature_Celsius — температура диска в градусах Цельсия. При слишком высокой температуре диски могут быстрее выйти из строя;
- Reallocated_Event_Count — количество операций перераспределения секторов;
- Offline_Uncorrectable — количество неисправных секторов. Большое значение говорит о повреждённой поверхности.
Запуск нужного теста
Команды запуска тестов:
- Short: sudo smartctl -t short /dev/sdb
- Long: sudo smartctl -t long /dev/sdb
- Conveyance: sudo smartctl -t conveyance /dev/sdb
После запуска словно ничего не происходит, только выводится сообщение Testing has begun. Please wait 2 minutes for test to complete. Test will complete after Sun Dec 16 07:35:55 2018
Заняться своими делами, и вернуться к консоли к указанному времени.
Прервать выполнение теста можно только так:
sudo smartctl -X /dev/sdb
Просмотр итогов
sudo smartctl -H /dev/sdb
Если всё хорошо:
= START OF READ SMART DATA SECTION =
SMART overall-health self-assessment test result: PASSED
Если всё плохо: забэкапиться и заменить диск.