Якщо ви використовуєте VPS або виділений сервер, стабільність дисків не є необов’язковою – вона є критично важливою. Один несправний диск може призвести до втрати даних, простою та дорогого відновлення. Ось чому системні адміністратори Linux покладаються на smartctl – потужний інструмент командного рядка, який надає прямий доступ до діагностики дисків через S.M.A.R.T.
У цьому посібнику ви дізнаєтеся, як використовувати smartctl у Linux, включаючи практичні команди, реальні приклади та розумну автоматизацію.
smartctl є частиною пакета Smartmontools. Він надає доступ до технології S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology), вбудованої у більшість сучасних жорстких і твердотільних дисків.
За допомогою smartctl ви можете:
Підтримуване обладнання:
| Перевага | Вигода |
|---|---|
| Раннє виявлення збоїв | Запобігайте втраті даних до того, як це станеться |
| Діагностика в режимі реального часу | Моніторинг дисків без перезавантаження |
| Легка автоматизація | Добре працює з cron, скриптами та оповіщеннями |
| Видимість на апаратному рівні | Ніяких здогадок – отримуйте вихідні дані з диска |
| Зручний для DevOps і системних адміністраторів | Широко використовується в центрах обробки даних і хмарних серверах |
Встановлення залежить від вашого дистрибутива 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 -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 selfest /dev/sda | Показує історію тестування |
| smartctl -l error /dev/sda | Показує журнали помилок |
замініть /dev/sda на ваш фактичний диск (наприклад, /dev/nvme0n1 для NVMe SSD).
sudo smartctl -H /dev/sda
Очікуваний результат:
Результат тесту самооцінки загального стану здоров'я SMART: УСПІШНО
Якщо результат УСПІШНО, ваш диск наразі справний.
Якщо результат FAILED – негайно створіть резервну копію та заплануйте заміну.
| ІДЕНТИФІКАТОР | Атрибут | Значення |
|---|---|---|
| 5 | Кількість перерозподілених секторів | Погані сектори перерозподілено для резервування місця |
| 197 | Поточна кількість секторів, що очікують на зчитування | Сектори, що очікують на повторне зчитування |
| 198 | Кількість невиправних секторів в автономному режимі | Сектори з помилками читання/запису |
| 194 | Температура (градуси Цельсія) | Для оптимальної продуктивності тримайте нижче 50 °C |
Збільшення значення в цих полях = деградація накопичувача в процесі.
| Завдання | Періодичність |
|---|---|
| -H перевірка здоров’я | Щотижня |
| Короткий тест (-t short) | Щотижня |
| Довгий тест (-t long) | Щомісяця |
| Перегляд журналу помилок | Після збоїв або проблем з вводом/виводом |
| Моніторинг температури | Постійно (за допомогою скриптів) |
Приклад: щотижневий звіт про стан диска по електронній пошті
0 3 * * 1 smartctl -H /dev/sda | mail -s "SMART Health Report" you@example.com
переконайтеся, що встановлено mailutils або sendmail.
smartctl – це легкий, але потужний інструмент, про який не повинен забувати жоден системний адміністратор. З його допомогою ви можете підтримувати ваші сервери в робочому стані, ваші дані в безпеці, а інфраструктуру в проактивному режимі.