Проверка смарт-диска Linux

Обновлено: 21.11.2024

Smartmontools — это набор приложений, которые могут тестировать жесткие диски и считывать статистику SMART их оборудования. Примечание. Данные SMART могут неточно предсказать отказ диска в будущем, однако аномальная частота ошибок может свидетельствовать о возможном отказе оборудования или несогласованности данных.

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

Предпосылки

Установка

Вы можете установить пакет smartmontools из диспетчера пакетов Synaptic (см. SynapticHowto) или введя в терминал следующее:

Проверка диска на совместимость с SMART

Чтобы убедиться, что ваш диск поддерживает SMART, введите:

где /dev/sda — ваш жесткий диск. Это даст вам краткую информацию о вашем диске. Последние две строки могут выглядеть примерно так:

Включение SMART

В случае, если SMART не включен для вашего диска, вы можете включить его, набрав:

  1. Короткий
  2. Расширенный (длинный)
  3. Трансфер

Чтобы узнать приблизительное время, необходимое для проведения каждого теста, введите:

Самым полезным тестом является расширенный тест (длинный). Вы можете запустить тест, набрав:

Результаты

Вы можете просмотреть статистику тестирования диска, набрав:

Чтобы отобразить подробную информацию SMART для диска IDE, введите:

Чтобы отобразить подробную информацию SMART для диска SATA, введите:

Примечание. Это также работает для дисков IDE в новых ядрах, которые проходят через стек SCSI и отображаются как /dev/sdX

Предлагаемое приложение: GSmartControl

Посмотрите на GSmartControl. Это хороший графический интерфейс для smartctl; он показывает все значения SMART и выделяет те, которые указывают на устаревание или надвигающийся сбой, плюс вы можете запускать тесты по требованию:

Как обычно, вы можете установить его из Synaptic или запустить sudo apt-get install gsmartcontrol.

Вы можете запустить Smartmontools в фоновом режиме и проверить диски и электронную почту при возникновении проблем:

Откройте файл /etc/default/smartmontools в своем любимом текстовом редакторе. Например (используя vim): sudo vim /etc/default/smartmontools. Раскомментируйте строку start_smartd=yes.

Как smartd будет сканировать диски и что он будет делать в случае ошибок, управляется файлом конфигурации демона, /etc/smartd.conf. Опять же, используйте свой любимый текстовый редактор, чтобы открыть этот файл. Должна быть одна незакомментированная строка, похожая на:

/usr/share/smartmontools/smartd-runner — это скрипт, который в основном сохраняет отчет во временный файл, а затем запускает все, что находит в /etc/smartmontools/run. д/; загляните туда, чтобы понять, что у вас уже есть (должен быть скрипт, который отправляет отчет по почте).

Существует несколько директив -M, которые изменяют время и частоту отправки отчетов. Вам нужно указать (-m something), чтобы использовать их, даже если вы не отправляете почту.

Вы можете включить несколько полезных опций:

Вы также можете заменить DEVICESCAN на путь к устройству, которое вы хотите контролировать (например, /dev/sda), и демон будет контролировать только этот диск. Вам понадобится одна такая строка для каждого устройства.

Действия в случае возникновения проблем

Вы захотите настроить действия, которые smartd предпримет в случае возникновения проблем. Если вам нужно только уведомление на рабочем столе, перейдите к разделу "Персональный компьютер" ниже.

В большинстве случаев вам достаточно поместить скрипт в /etc/smartmontools/run.d/. Всякий раз, когда smartd хочет отправить отчет, он запускает smart-runner, а последний запускает ваш скрипт.

У вас есть несколько переменных, доступных для вашего скрипта (опять же, см. справочную страницу smartd). Они взяты из тестового запуска:

В вашем скрипте также есть временная копия отчета, доступная как "$1". Он будет удален после того, как вы закончите, но тот же контент будет записан в /var/log/syslog.

Персональный компьютер

Для визуального уведомления вы можете просто установить smart-notifier. Вы увидите большое всплывающее окно с отчетом:

Кроме того, вы можете создать собственное уведомление (пузырь), как в других программах GNOME.

Вам потребуется установить пакет libnotify-bin:

Теперь создайте текстовый файл с именем 60notify в /etc/smartmontools/run.d:

и добавьте в файл следующее:

(Часть DISPLAY=:0.0 — это назначение переменной, которое помогает программам находить ваш X-сервер. Оно уже задано для вашего терминала, но в сценарии его нет, так как он выполняется внутри другого сеанс).

Теперь дайте ему права на выполнение:

Это создаст красивое всплывающее окно libnotify со значком предупреждения:

Вы также можете поэкспериментировать с Zenity:

Примечание. Будьте очень осторожны с этими сценариями, поскольку они запускаются под учетной записью root.

Сервер

(Не добавляйте пробелы после "\")

Теперь мы создадим скрипт, который выключит компьютер *после* отправки письма администратору. Создайте текстовый файл с именем 99shutdown в папке /etc/smartmontools/run.d и добавьте в него следующее:

Число 99 в начале имени файла гарантирует, что он вызывается последним при запуске smartd-runner. Он подождет 40 секунд, а затем выключит компьютер. Конечно, вы можете настроить это по своему желанию; возможно, вы не захотите выключать сервер.

Теперь пришло время запустить демон:

Тестирование

Если вы хотите протестировать все эти действия, добавьте -M test после exec /usr/share/smartmontools/smartd-runner и перезапустите демон ( перезапуск службы sudo smartmontools). Когда демон появится, он немедленно выполнит сценарий с тестовым сообщением. Примечание. Если вы включили строку shutdown -h, сценарий выключит компьютер, как только запустится служба. Чтобы это исправить, вам нужно будет запустить компьютер в режиме восстановления и удалить параметр -M test из /etc/smartd.conf.

Перед запуском убедитесь, что у вас есть команда "mail", и сначала выполните проверку на свой адрес. На моей Fiesty по умолчанию:

Попробуйте: sudo apt-get install

Убедитесь, что у вас включен компонент "Вселенная"

bash: почта: команда не найдена

Примечание. Следуя Gentoo Wiki, я сделал измененный скрипт, который проверяет весь диск в /dev/disk/by-id/. Просто запустите приведенный ниже скрипт следующим образом:

Сценарий создает каталог с именем smart-logs и сохраняет в нем все файлы.

(Не забудьте предоставить права на выполнение скрипта с помощью chmod +x smart.sh).

Если /dev/sda является устройством MegaRAID, то прямое выполнение smartctl на нем неэффективно. Он просто возвращает пустой отчет для самого контроллера. Чтобы получить S.M.A.R.T. атрибуты диска за RAID-контроллером необходимо использовать следующую команду:

Посмотрите большую коллекцию отчетов smartctl для различных жестких дисков здесь.

Smartmontools (последний удаленный пользователь linuxhw 2019-12-24 11:07:49)

Материалы этой вики доступны по бесплатной лицензии, подробности см. в разделе Авторские права / Лицензия
Вы можете внести свой вклад в эту вики, подробности см. в Руководстве по вики

Как я могу проверить статус SMART диска до версии 14.04 и выше? Я видел проверку статуса HD SMART при новой установке, но, похоже, он не применяется в версии 14.04 и более поздних.

3 ответа 3

Запустите Дисковую утилиту (если у вас ее еще нет, вы можете установить Диски через Центр программного обеспечения или открыть терминал и ввести команду sudo apt-get install gnome-disk-utility .

Выберите интересующий диск, затем нажмите кнопку меню в правом верхнем углу и выберите SMART Data & self-tests

Обратите внимание, что где-то между 18 октября и 20 апреля пункт меню был перемещен из "гамбургер-меню" в меню с тремя вертикальными точками, как показано ниже.

Типы самопроверки

  • Кратко: проверяет электрические и механические характеристики, а также скорость чтения с диска. Электрические тесты могут включать тест буферной оперативной памяти, тест схемы чтения/записи или тест элементов головки чтения/записи. Механический тест включает поиск и сервопривод на дорожках данных. Сканирует небольшие участки поверхности накопителя (область зависит от производителя, а тест ограничен по времени). Проверяет список ожидающих секторов, в которых могут быть ошибки чтения. Обычно это занимает менее двух минут.
  • Длинный/расширенный: более длинная и тщательная версия короткой самопроверки, сканирующая всю поверхность диска без ограничения времени.Этот тест обычно занимает несколько часов, в зависимости от скорости чтения/записи диска и его размера.
  • Транспортировка: предназначена для быстрой проверки для выявления повреждений, возникших при транспортировке устройства от производителя накопителя к производителю компьютера. Доступно только на дисках ATA и обычно занимает несколько минут.

Как интерпретировать SMART-атрибуты

Наиболее важным атрибутом с точки зрения частоты отказов, вероятно, является 196 – Количество перераспределенных секторов, но, учитывая исследовательскую работу Google: _". Модели прогнозирования отказов, основанные только на параметрах SMART, вероятно, будут сильно ограничены в точности прогнозирования, учитывая что большая часть наших неисправных дисков вообще не показывала никаких сигналов об ошибках SMART». Тем не менее, большинство дисков (более 60 %), вышедших из строя в ходе исследования, действительно демонстрировали интеллектуальный сбой, поэтому, каким бы несовершенным он ни был, он по-прежнему является достоверным индикатором.

S.M.A.R.T. (Технология самоконтроля, анализа и отчетности) — это дополнительный компонент, встроенный во многие современные устройства хранения, с помощью которого устройства контролируют, сохраняют и анализируют работоспособность своей работы. Собираются статистические данные (температура, количество перераспределенных секторов, ошибки поиска.), которые программное обеспечение может использовать для измерения работоспособности устройства, прогнозирования возможного сбоя устройства и предоставления уведомлений о небезопасных значениях.

Содержание

Умные инструменты

Пакет smartmontools содержит две служебные программы для анализа и мониторинга устройств хранения: smartctl и smartd . Установите пакет smartmontools, чтобы использовать эти инструменты.

smartctl

smartctl – это инструмент командной строки, который "управляет системой технологии самоконтроля, анализа и отчетности (SMART), встроенной в большинство жестких и твердотельных дисков ATA/SATA и SCSI/SAS".

Опция -i / --info выводит различную информацию об устройстве, в том числе о том, доступен ли и включен ли SMART:

Если SMART доступен, но не включен, вы можете включить его:

Возможно, вам потребуется указать тип устройства. Например, указание --device=ata сообщает smartctl, что тип устройства — ATA, и это не позволяет smartctl выдавать команды SCSI этому устройству.

Запустить тест

Существует три типа самотестирования, которые может выполнять устройство (все они безопасны для пользовательских данных):

  • Короткий: запускает тесты, которые с высокой вероятностью обнаружат проблемы с устройством.
  • Расширенная или длинная: проверка аналогична короткой проверке, но без ограничений по времени и с полным исследованием поверхности диска.
  • Транспортировка: указывает, был ли причинен ущерб во время транспортировки устройства.

Флаг -c / --capabilities выводит тесты, поддерживаемые устройством, и приблизительное время выполнения каждого теста. Например:

Используйте флаг -t / --test= для запуска теста:

Просмотреть результаты теста

Вы можете просмотреть общее состояние устройства с помощью флага -H. «Если устройство сообщает о неудовлетворительном состоянии работоспособности, это означает либо то, что устройство уже дало сбой, либо оно прогнозирует собственный сбой в течение следующих 24 часов. Если это произойдет […], уберите свои данные с диска в безопасное место, как только сможете."

Вы также можете просмотреть список последних результатов тестирования и подробную информацию об устройстве:

Создать таблицу с атрибутами всех дисков

Эта статья или раздел нуждается в улучшении языка, синтаксиса вики или стиля. См. Help:Style для справки.

Причина: вики не является платформой для разработки кода. Длинные сценарии следует хранить в другом месте. (Обсудить в Talk:S.M.A.R.T.)

умный

Демон smartd отслеживает статусы SMART и отправляет уведомления, когда что-то идет не так. Им можно управлять с помощью systemd и настраивать с помощью файла конфигурации /etc/smartd.conf. Синтаксис конфигурационного файла загадочен, и эта вики-страница содержит только краткий справочник. Для получения более полной информации прочитайте примеры и комментарии в файле конфигурации или прочитайте smartd.conf(5) .

управление демоном

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

smartd учитывает все обычные команды systemctl и journalctl.

Определить устройства для мониторинга

Чтобы отслеживать все возможные ошибки SMART на всех дисках, необходимо добавить в файл конфигурации следующий параметр.

Обратите внимание, что это конфигурация smartd по умолчанию, и параметр -a, который является параметром по умолчанию, может быть опущен.

Чтобы отслеживать все возможные ошибки SMART на /dev/sda и /dev/sdb и игнорировать все остальные устройства:

Чтобы отслеживать все возможные ошибки SMART на внешне подключенных дисках (на ум приходят USB-диски для резервного копирования), целесообразно сообщать smartd UUID устройства, поскольку /dev/sd X диска может измениться во время перезагрузки.

Во-первых, вам нужно будет получить UUID диска для мониторинга: ls -lah /dev/disk/by-uuid/ теперь найдите диск, который вы хотите отслеживать

Я знаю, что во время загрузки мой USB-диск был подключен к /dev/sde. Теперь, чтобы указать smartd отслеживать этот диск, просто используйте путь /dev/disk/by-uuid/.

Обратите внимание, что для работы smartd может потребоваться дополнительная опция -d remove.

Теперь ваш USB-диск будет контролироваться, даже если путь /dev/sdX изменится во время перезагрузки.

Уведомление о потенциальных проблемах

Чтобы отправлять электронное письмо при возникновении сбоя или новой ошибки, используйте параметр -m:

Чтобы иметь возможность отправлять электронную почту извне (т. е. не на корневую учетную запись электронной почты), необходимо установить и настроить MTA (почтовый транспортный агент) или MUA (почтовый пользовательский агент). Распространенными MUA являются msmtp и Postfix, но, возможно, будет достаточно самого простого dma. Распространенными MTA являются sendmail и Postfix. Достаточно просто настроить S-nail, если вы больше ничего не хотите, но вам нужно будет следовать этим инструкциям.

Тестовая опция -M вызывает отправку тестового электронного письма при каждом запуске демона smartd:

Доставка писем может занять некоторое время. Чтобы быть уверенным, что вы будете предупреждены немедленно, если ваш жесткий диск выйдет из строя, вы также можете определить сценарий, который будет выполняться в дополнение к отправке электронной почты:

Чтобы отправить электронное письмо и системное уведомление, поместите что-то подобное в /usr/local/bin/smartdnotify :

Если вы используете среду рабочего стола, вы также можете предпочесть, чтобы всплывающее окно появлялось на вашем рабочем столе. В этом случае вы можете использовать этот скрипт (замените X_user и X_userid на пользователя и идентификатор пользователя, запускающего X соответственно):

Для этого требуется libnotify и совместимая среда рабочего стола. Дополнительные сведения см. в разделе Уведомления на рабочем столе.

Вы также можете поместить свои собственные сценарии в /usr/share/smartmontools/smartd_warning.d/:

Этот сценарий уведомляет каждого вошедшего в систему пользователя через libnotify.

Для этого скрипта требуются libnotify и procps-ng, а также совместимая среда рабочего стола.

Вы можете выполнять свои собственные сценарии с помощью

Управление питанием

Если вы используете компьютер с управлением питанием, вы должны проинструктировать smartd, как обращаться с дисками в режиме пониженного энергопотребления. Обычно в ответ на SMART-команды, выдаваемые smartd, дисковые пластины раскручиваются. Таким образом, если этот параметр не используется, то диск, находящийся в режиме пониженного энергопотребления, может быть запущен и переведен в режим повышенного энергопотребления при периодическом опросе smartd.

На некоторых устройствах параметр -n не работает. Вы получаете следующее сообщение об ошибке в системном журнале:

В качестве альтернативы вы можете использовать опцию -i для smartd. Он контролирует, как часто smartd запускает диски для проверки их состояния. По умолчанию 30 минут. Чтобы изменить его, создайте и отредактируйте файл /etc/default/smartmontools .

Для получения дополнительной информации см. smartd(8) .

Планирование самотестирования

smartd может указать дискам выполнять самотестирование по расписанию. Следующая конфигурация /etc/smartd.conf будет запускать короткую самопроверку каждый день с 2 до 3 часов ночи и расширенную самопроверку еженедельно по субботам с 3 до 4 часов утра:

Оповещать об изменении температуры

smartd может отслеживать температуру диска и предупреждать, если она поднимается слишком быстро или достигает верхнего предела. Следующее будет регистрировать изменения на 4 градуса или более, регистрировать, когда температура достигает 35 градусов, и регистрировать/отправлять по электронной почте предупреждение, когда температура достигает 40:

  • Вы можете определить текущую температуру диска с помощью команды smartctl -A /dev/ | grep Temperature_Celsius
  • Если у вас есть диски, которые работают намного горячее/холоднее, чем другие, удалите DEVICESCAN и определите отдельную конфигурацию для каждого устройства с соответствующими настройками температуры.

Полный пример smartd.conf

Объединение всего вышеперечисленного дает следующий пример конфигурации:

Как правило, когда у нас начинаются сбои в нашей системе или мы замечаем определенную медлительность или зависание системы, мы обычно приписываем их системе, что у нас установлено слишком много программ или слишком много информации, или компьютер просто не работает. достаточно ресурсов.

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

Поэтому в этой статье мы поговорим об отличном инструменте, который поможет нам проверить работоспособность нашего жесткого диска.

Оглавление

Smartctl

Прежде чем мы начнем, многие из вас знают, что большинство современных жестких дисков имеют "SMART".

Это функция, позволяющая операционным системам (например, Linux, Mac и Windows) проверять целостность и состояние жестких дисков.

Когда система пытается обнаружить определенные ошибки, она информирует вас, и даже многие BIOS имеют тенденцию отображать сообщения, генерируемые сбоями с секторами на жестком диске.

Установите Smartmontools

В Linux существует множество способов проверить состояние жесткого диска. Однако, вероятно, самый быстрый способ — с помощью smartctl.

Прежде чем мы сможем увидеть, как использовать этот инструмент, мы должны установить его в нашей системе, чтобы использовать его.

Smartctl – это утилита, которую можно найти почти во всех современных дистрибутивах Linux в их репозиториях.

Чтобы установить эту утилиту в Debian, Ubuntu и системах, основанных или производных от них, мы должны открыть терминал и ввести в нем следующую команду:

Для тех, кто является пользователем Arch Linux, Manjaro, Antergos или любых их производных, мы можем установить эту утилиту с помощью следующей команды:

В случае с Fedora, CentOS, RHEL и производными системами мы можем установить приложение с помощью следующей команды

Наконец, пользователи OpenSUSE могут выполнить установку с помощью этой команды:

Как использовать Smartctl в Linux?

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

Теперь мы должны составить список наших жестких дисков, а также разделов.

Для этого мы должны ввести следующую команду:

Это даст нам список жестких дисков с их разделами, соответствующими размерами и метками, начиная с диска и раздела, на котором установлена ​​система.

Это как /dev/sda, за которым следует номер раздела, который в данном случае будет 1.

Если на одном диске несколько разделов, на нем по-прежнему будут отображаться /dev/sda2, /dev/sda3 и т. д.

Если у вас более одного жесткого диска, он изменит последнюю букву, следующую за алфавитом, в соответствии с количеством дисков, например, первый /dev/sda, второй /dev/sdb и так далее.< /p>

После того, как диск был идентифицирован, теперь мы выполняем только следующую команду, заменяя «sdx» диском, который вы собираетесь исследовать:

Если вам нужен отчет о состоянии вашего диска, вы можете экспортировать его в текстовый документ с помощью следующей команды:

Этот процесс может занять несколько минут, так как это во многом зависит от емкости вашего диска.

Если вам нужно предпринять профилактические действия с вашим диском, вы можете использовать команду fsck.

Или, в очень крайних случаях, потребуется помощь команды badblocks, с помощью которой можно обнаружить и изолировать поврежденные сектора на жестком диске.

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

Среди его опций вы можете найти утилиты для проверки состояния вашего диска.

Содержание статьи соответствует нашим принципам редакционной этики. Чтобы сообщить об ошибке, нажмите здесь!.

Читайте также: