Если вы используете VPS или выделенный сервер, стабильность работы диска не является чем-то необязательным – она критически важна. Один вышедший из строя диск может привести к потере данных, простою и дорогостоящему восстановлению. Именно поэтому системные администраторы Linux полагаются на smartctl – мощный инструмент командной строки, который предоставляет прямой доступ к диагностике диска через S.M.A.R.T.
В этом руководстве вы узнаете, как использовать smartctl в Linux, включая практические команды, реальные примеры и интеллектуальную автоматизацию.
smartctl является частью пакета Smartmontools. Он позволяет получить доступ к технологии S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology), встроенной в большинство современных HDD и SSD.
С помощью smartctl вы можете:
Поддерживается следующее оборудование:
Преимущество | Преимущество |
---|---|
Раннее обнаружение сбоев | Предотвратите потерю данных до того, как она произойдет |
Диагностика в режиме реального времени | Мониторинг дисков без перезагрузки |
Простая автоматизация | Хорошо работает с cron, скриптами и оповещениями |
Видимость на аппаратном уровне | Никаких догадок – получайте необработанные данные с диска |
Удобство для DevOps и сисадминов | Широко используется в центрах обработки данных и облачных серверах |
Установка зависит от дистрибутива Linux:
OS | Команда установки |
---|---|
Ubuntu/Debian | sudo apt update && sudo apt install smartmontools |
CentOS/RHEL | sudo yum install smartmontools |
Fedora | sudo dnf install smartmontools |
Arch Linux | sudo pacman -S smartmontools |
После установки команда smartctl будет доступна через терминал.
Команда | Что она делает |
---|---|
smartctl -i /dev/sda | Отображает информацию о накопителе |
smartctl -H /dev/sda | Проверяет общее состояние здоровья |
smartctl -A /dev/sda | Перечисляет подробные атрибуты S.M.A.R.T |
smartctl -t short /dev/sda | Запускает короткое (2-минутное) самотестирование |
smartctl -t long /dev/sda | Запускает полное расширенное самотестирование (10-60 минут) |
smartctl -l selftest /dev/sda | Показывает историю тестирования |
smartctl -l error /dev/sda | Отображает журналы ошибок |
📌 Замените /dev/sda на фактический диск (например, /dev/nvme0n1 для NVMe SSD).
sudo smartctl -H /dev/sda
Ожидаемый вывод:
Результат теста самооценки общего состояния SMART: ПРОЙДЕН
Если результат PASSED, значит, ваш диск в настоящее время здоров.
Если он показывает FAILED – немедленно сделайте резервную копию и запланируйте замену.
ID | Атрибут | Значение |
---|---|---|
5 | Счетчик перераспределенных секторов | Плохие сектора перераспределены для резервного пространства |
197 | Текущий счетчик ожидающих секторов | Сектора, ожидающие повторного чтения |
198 | Счетчик неисправляемых секторов в автономном режиме | Секторы с ошибками чтения/записи |
194 | Температура (по Цельсию) | Для оптимальной работы не превышайте 50 °C |
Увеличение значения в этих полях означает постепенную деградацию диска.
Задача | Периодичность |
---|---|
-Проверка состояния здоровья | Еженедельно |
Короткий тест (-t short) | Еженедельно |
Длительный тест (-t long) | Ежемесячно |
Просмотр журнала ошибок | После сбоев или проблем с вводом/выводом |
Мониторинг температуры | Постоянный (с помощью скриптов) |
Пример: еженедельный отчет о состоянии диска по электронной почте
0 3 * * * 1 smartctl -H /dev/sda | mail -s "SMART Health Report" you@example.com
📌 Убедитесь, что установлены mailutils или sendmail.
smartctl – это легкий, но мощный инструмент, который не должен упускать из виду ни один системный администратор. С его помощью вы сможете поддерживать здоровье ваших серверов, безопасность данных и проактивность инфраструктуры.