Руководство по утилите smartctl в Smartmontools для Linux
Если вы используете VPS или выделенный сервер, стабильность диска не является опциональной — это критически важно для миссии. Один выходящий из строя диск может привести к потере данных, простоям и дорогостоящему восстановлению. Вот почему системные администраторы Linux полагаются на smartctl — мощный инструмент командной строки, который предоставляет прямой доступ к диагностике диска через S.M.A.R.T.
Этот гид проведет вас через использование smartctl на Linux, включая практические команды, примеры из реальной жизни и умную автоматизацию.
Что такое smartctl?
smartctl является частью пакета Smartmontools. Он позволяет получить доступ к S.M.A.R.T. (технология самоконтроля, анализа и отчетности), встроенной в большинство современных HDD и SSD.
С помощью smartctl вы можете:
- Проверить состояние здоровья диска
- Запустить короткие или расширенные самопроверки
- Просмотреть температуру и показатели производительности
- Уловить ранние признаки аппаратного сбоя
Поддерживаемое оборудование включает:
- Диски SATA / IDE / SCSI / NVMe
- Как SSD, так и HDD
- Большинство дистрибутивов серверов Linux и хостинг-платформ
Почему использовать smartctl?
| Преимущество | Польза |
|---|---|
| Ранняя диагностика сбоев | Предотвращение потери данных до ее наступления |
| Диагностика в реальном времени | Мониторинг ваших дисков без перезагрузки |
| Легкая автоматизация | Хорошо работает с cron, скриптами и оповещениями |
| Видимость на уровне аппаратного обеспечения | Без предположений — получайте сырые данные с диска |
| Дружественность к DevOps и системным администраторам | Широко используется в дата-центрах и облачных серверах |
Как установить Smartmontools
Установка зависит от вашего дистрибутива Linux:
| ОС | Команда установки |
|---|---|
| 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
| Команда | Что она делает |
|---|---|
| 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 overall-health self-assessment test result: PASSED
Если результат PASSED, ваш диск в настоящее время здоров.
Если он показывает FAILED — немедленно сделайте резервную копию и планируйте замену.
Ключевые атрибуты SMART для мониторинга
| ID | Атрибут | Значение |
|---|---|---|
| 5 | Количество перераспределенных секторов | Плохие сектора, переназначенные на резервное пространство |
| 197 | Количество текущих ожидающих секторов | Сектора, ожидающие повторного чтения |
| 198 | Количество некорректируемых секторов | Сектора с ошибками чтения/записи |
| 194 | Температура (Цельсий) | Держите ниже 50 °C для оптимальной производительности |
Увеличение значения в этих полях = деградация диска в процессе.
Рекомендуемое расписание мониторинга
| Задача | Частота |
|---|---|
| -H проверка состояния | Еженедельно |
| Короткий тест (-t short) | Еженедельно |
| Длинный тест (-t long) | Ежемесячно |
| Обзор журнала ошибок | После сбоев или проблем с вводом/выводом |
| Мониторинг температуры | Постоянно (через скрипты) |
Автоматизация с помощью Cron
Пример: еженедельный отчет по электронной почте о состоянии диска
0 3 * * 1 smartctl -H /dev/sda | mail -s "SMART Health Report" you@example.com
📌 Убедитесь, что mailutils или sendmail установлены.
Заключение
smartctl — это легкий, но мощный инструмент, который ни один системный администратор не должен игнорировать. С его помощью вы можете поддерживать здоровье ваших серверов, ваши данные в безопасности и вашу инфраструктуру проактивной.


