Проверка состояния HDD в Linux

Как проверить время работы HDD в Linux, вы увидите, как можно предотвратить катастрофу, зная подробную информацию о системном устройстве хранения данных с точки зрения времени "включения" (времени работы), количества операций чтения и записи или плохих блоков, чтобы определить общее состояние и старение жесткого диска.

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

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

Для установки smartmontools на Ubuntu, Debian и Linux Mint:

$ sudo apt install smartmontools

Для установки smartmontools на CentOS, Fedora, AlmaLinux и Red Hat:

$ sudo dnf install smartmontools

Чтобы установить smartmontools на Arch Linux и Manjaro:

$ sudo pacman -S smartmontools

После установки пакета перейдите к следующему разделу, чтобы узнать, как использовать команду smartctl. В этих примерах мы используем /dev/sda в качестве жесткого диска. Вы можете заменить этот файл устройства на файл любого диска, который вы хотите протестировать. Чтобы просмотреть время работы жесткого диска в режиме "включено" (общее время работы), выполните следующую команду. 

# smartctl --attributes "${disk}" | grep Power_On_Hours

Power_On_Hours          0x0032   087   087   000    Old_age   Always       -       12131

В данном примере жесткий диск был включен в течение 12 131 часа. Опустив часть grep в этой команде, можно найти и другую информацию, например, возраст жесткого диска. Чтобы проверить общее состояние жесткого диска, мы можем использовать параметр -H. 

# smartctl -H /dev/sda

=== START OF READ SMART DATA SECTION ===

SMART overall-health self-assessment test result: PASSED

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

offline, short, long, conveyance, force, vendor,N, select,M-N, pending,N, afterselect,[on|off]
# smartctl -t short /dev/sda

Please wait 1 minutes for test to complete.

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

# smartctl -l selftest /dev/sda

Наиболее полную информацию о состоянии здоровья жесткого диска можно получить с помощью команды: 

# smartctl --xall /dev/sda

Которая выведет общую таблицу статистики устройства и таблицу счетчиков физических событий:

=== START OF INFORMATION SECTION ===

Model Family:     Western Digital Green

Device Model:     WDC WD10EZRX-00A8LB0

Serial Number:    WD-WMC1U2434348

LU WWN Device Id: 5 0014ee 6acca106a

Firmware Version: 01.01A01

User Capacity:    1 000 204 886 016 bytes [1,00 TB]

Sector Sizes:     512 bytes logical, 4096 bytes physical

Device is:        In smartctl database [for details use: -P show]

ATA Version is:   ATA8-ACS (minor revision not indicated)

SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)

SMART support is: Available - device has SMART capability.

SMART support is: Enabled

AAM feature is:   Unavailable

APM feature is:   Unavailable

Rd look-ahead is: Enabled

Write cache is:   Enabled

DSN feature is:   Unavailable

ATA Security is:  Disabled, frozen [SEC2]

Wt Cache Reorder: Enabled

=== START OF READ SMART DATA SECTION ===

SMART overall-health self-assessment test result: PASSED  


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