summaryrefslogtreecommitdiff
path: root/LINUX/DISK/SMARTMONTOOLS.md
blob: 4101b02d19178e472bf645f0f3b2c8074e2c8bf2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
```sh
sudo apt install smartmontools

# узнаём какие диски подключены:
ls -l /dev | grep -E 'sd|hd'
#  или:
smartctl --scan
lsblk

# отображение информации о диске:
smartctl --info /dev/sda

# запустить проверку:
smartctl -s on -a /dev/sda

# Здесь опция -s включает флаг SMART на указном устройстве. Вы можете его убрать если поддержка SMART уже включена. Информация о диске разделена на несколько разделов, В разделе **READ SMART DATA** находится общая информация о здоровье жесткого диска.

`=== START OF READ SMART DATA SECTION ===   SMART overall-health self-assessment rest result: PASSED`

# Этот тест может быть пройден (PASSED) или нет (FAILED). В последнем случае сбой неизбежен, начинайте резервное копирование данных с этого диска.
```
Следующая вещь которую можно посмотреть, когда выполняется диагностика HDD в linux, это таблица SMART атрибутов.

[![](https://losst.pro/wp-content/uploads/2015/08/Snimok-ekrana-ot-2020-05-14-14-20-12-1024x576.png)](https://losst.pro/wp-content/uploads/2015/08/Snimok-ekrana-ot-2020-05-14-14-20-12.png)
 В SMART таблице записаны параметры, определенные для конкретного диска разработчиком, а также порог отказа для этих параметров. Таблица заполняется автоматически и обновляется на основе прошивки диска.

- **ID #** - идентификатор атрибута, как правило, десятичное число между 1 и 255;
- **ATTRIBUTE_NAME** - название атрибута;
- **FLAG** - флаг обработки атрибута;
- **VALUE** - это поле представляет нормальное значение для состояния данного атрибута в диапазоне от 1 до 253, 253 - лучшее состояние, 1 - худшее. В зависимости от свойств, начальное значение может быть от 100 до 200;
- **WORST** - худшее значение value за все время;
- **THRESH** - самое низкое значение value, после перехода за которое нужно сообщить что диск непригоден для эксплуатации;
- **TYPE** - тип атрибута, может быть Pre-fail или Old_age. Все атрибуты по умолчанию считаются критическими, то-есть если диск не прошел проверку по одному из атрибутов, то он уже считается не пригодным (FAILED) но атрибуты old_age не критичны;
- **UPDATED** - показывает частоту обновления атрибута;
- **WHEN_FAILED** - будет установлено в **FAILING_NOW** если значение атрибута меньше или равно THRESH, или в "**-**" если выше. В случае **FAILING_NOW**, лучше как можно скорее выполнить резервное копирование, особенно если тип атрибута **pre-fail**.
- **RAW_VALUE** - значение, определенное производителем.


## Автоматическая диагностика в smartd

Автоматическая диагностика HDD в Linux настраивается очень просто. Сначала отредактируйте файл конфигурации smartd - /etc/smartd.conf. Добавьте следующую строку:

 `nano /etc/smartd.conf`

`/dev/sda -m myemail@mydomain.com -M test`

Здесь:

- **-m <email адрес>** - адрес электронной почты для отправки результатов проверки. Это может быть адрес локального пользователя, суперпользователя или внешний адрес, если настроен сервер для отправки электронной почты;
- **-M** - частота отправки писем. once - отправлять только одно сообщение о проблемах с диском. **daily** - отправлять сообщения каждый день если была обнаружена проблема. **diminishing** - отправлять сообщения через день если была обнаружена проблема. **test** - отправлять тестовое сообщение при запуске smartd. **exec** - выполняет указанную программу в место отправки почты.

Сохраните изменения и перезапустите **smartd**:

`sudo systemctl restart smartd`

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

[![](https://losst.pro/wp-content/uploads/2015/08/Snimok-ekrana-ot-2020-05-14-15-27-39-1024x576.png)](https://losst.pro/wp-content/uploads/2015/08/Snimok-ekrana-ot-2020-05-14-15-27-39.png)

Также можно запланировать тесты по своему графику, для этого используйте опцию **-s** и регулярное выражение типа **T/MM/ДД/ДН/ЧЧ**, где:

Здесь **T** - тип теста:

- **L** - длинный тест;
- **S** - короткий тест;
- **C** - тест перемещения (ATA);
- **O** - оффлайн тест.

Остальные символы определяют дату и время теста:

- **ММ** - месяц в году;
- **ДД** - день месяца;
- **ЧЧ** - час дня;
- **ДН** -  день недели (от 1 - понедельник 7 - воскресенье;
- **MM, ДД и ЧЧ** - указываются с двух десятичных цифр.

Точка означает все возможные значения, выражение в скобках (A|B|C) - означает один из трех вариантов, выражение в квадратных скобках [1-5] означает диапазон (от 1 до 5).

Например, чтобы выполнять полную проверку жесткого диска linux каждый рабочий день в час дня добавьте опцию **-s** в строчку конфигурации вашего устройства:

`/dev/sda -m myemail@mydomain.com -M once -s (L /../../[1-5]/13)`

Если вы хотите чтобы утилита сканировала и проверяла все устройства, которые есть в системе используйте вместо имени устройства директиву DEVICESCAN:

`DEVICESCAN -m myemail@mydomain.com -M once -s (L /../../[1-5]/13)`