Параметры дисков в Linux – команда hdparm

В системном администрировании порой возникают ситуации, когда необходимо работать с параметрами накопителей. В частности с настройкой жестких дисков, проводить оценку их состояния, производительности, а также в некоторых случаях оптимизировать их режимы работы. Для решения подобных задач в Linux-системах в помощь системным администраторам существует утилита hdparm.

Основные возможности hdparm

В утилиту hdparm изначально заложены широкие возможности для настройки дисков. Она также может использоваться и для безопасного стирания дисков. Но основное её предназначение — это получение информации и параметров жестких дисков. А также управление ими путём взаимодействия со встроенными в устройства микропрограммами. В том числе и S.M.A.R.T.

Командой hdparm легко управлять настройками электропитания, настраивать акустические параметры, получать подробную информацию об устройстве и его состоянии, защищать накопители установкой флага «только для чтения», а также выполнять тесты производительности. Утилита поддерживает работу с устройствами IDE, SATA, SAS,  а также SCSI.

Обычно утилита hdparm предустановлена в большинстве систем «из коробки». По крайней мере соответствующий пакет всегда присутствует в репозиториях используемого дистрибутива. Для Dbian-ориентированных систем:

$ sudo apt-get install hdparm

Для RPM-систем (CentOS, Red Hat Linux):

$ sudo yum install hdparm

Полное имя пакета может отличаться от приведённого, либо hdparm может включаться в состав метапакетов, как это бывает для серверных систем. Эту информацию следует уточнять для конкретного дистрибутива.

Синтаксис и основные опции

Синтаксис использования команды hdparm следующий:

hdparm [параметры] устройство

Несмотря на то, что hdparm обладает широким функционалом и для команды доступен огромный набор опций. Следует заметить, что подавляющая часть из них предназначена (или по крайней мере особенно полезна) для разработчиков ПО, драйверов, а также тестировщиков. Однако определённый набор опций hdparm часто используется для задач по системному администрированию Linux/UNIX. Это демонстрирует следующая таблица:

Опция Описание
-I Информация о накопителе и его состоянии
-M значение Задаёт акустические параметры
-S значение Задаёт задержку перед отключением устройства (режим ожидания)
-y Немедленно переводит устройство в режим ожидания
-C Отправка запросов о текущем состоянии системы электропитания устройства
-T Быстрое тестирование пропускной способности устройства (работа с кешем, без чтения с пластин)
-t Быстрое тестирование скорости считывания данных с пластин устройства

К примеру, если нужно проверить, в каком режиме DMA работает жесткий диск, достаточно дать команду:

$ sudo hdparm -I /dev/sdc
/dev/sdc:
ATA device, with non-removable media
        Model Number:       ST3344888SS                             
        Serial Number:      5AA00X77
        Firmware Revision:  3.AAC   
Standards:
        Supported: 7 6 5 4 
        Likely used: 7
Configuration:
        Logical         max     current
        cylinders       16383   16383
        heads           16      16
        sectors/track   63      63
        --
        CHS current addressable sectors:    16514064
        LBA    user addressable sectors:   268435455
        LBA48  user addressable sectors:   312581808
        Logical  Sector size:                   512 bytes
        Physical Sector size:                   512 bytes
        device size with M = 1024*1024:      152627 MBytes
        device size with M = 1000*1000:      160041 MBytes (160 GB)
        cache/buffer size  = 8192 KBytes
Capabilities:
        LBA, IORDY(can be disabled)
        Queue depth: 32
        Standby timer values: spec'd by Standard, no device specific minimum
        R/W multiple sector transfer: Max = 16  Current = 16
        Recommended acoustic management value: 208, current value: 0
        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6 
             Cycle time: min=120ns recommended=120ns
        PIO: pio0 pio1 pio2 pio3 pio4 
             Cycle time: no flow control=120ns  IORDY flow control=120ns

Данный вывод содержит много и другой полезной информации об устройстве. Но интересующие режимы DMA представлены в секции «Capabilities» в подразделе DMA. Утилита hdparm перечисляет все поддерживаемые режимы и отмечает звёздочкой текущий используемый, что и можно наблюдать в данном выводе. На самом деле в современных системах подходящие режимы DMA устанавливаются автоматически. И данная опция требует настройки в самых редких случаях и может свидетельствовать разве что о наличии неисправностей оборудования или несовместимой конфигурации.

В некоторых случаях требуется настроить акустические характеристики жестких дисков. Которые слишком громко издают щелчки во время перемещения головок. А когда таких дисков много в одном стеке, то такие мероприятия становятся необходимостью. Большинство производителей предусматривают в своих устройствах возможность настройки акустических параметров в целях снижения шума от них. Или может возникнуть обратная ситуация, когда следует отключать возможность регулировки шума устройств (поскольку это может сказываться на производительности), например для изолированных серверных помещений шум особого значения (главное, чтобы при этом не возникало акустических вибраций вследствие резонансных явлений) не имеет. Функция снижения шума от работы накопителей работает довольно просто — приводами головок снижается скорость их перемещения, что и уменьшает существенно громкость тиканья и скрежетов. Все современные накопители (жесткие диски) поставляются по-умолчанию с уже включенной функцией шумоподавления и поэтому, если вдруг понадобилось эту функцию отключить, то нужно выполнить команду hdparm -M 254. Значение 128 включает «тихий режим», 0 — самый громкий и, соответственно, самый быстрый.

Управление питанием

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

$ sudo hdparm -S 120

Данная команда указывает накопителю, что он должен переходить в режим ожидания (замедляя вращения пластин оборотами двигателя) через 10 минут. Тут есть некоторая нелинейность в задании параметра тайм-аута перед отключением после неактивного простоя накопителя. Значения от 1 до 240 умножаются на 5 сек., значения от 241 до 250 — на 20 минут (в некоторых системах на 30), это связано с особенностями кодирования данного параметра для микропрограммы управления накопителем, поэтому в управлении питанием дисков арифметика как нельзя кстати.

Тестирование производительности

Ещё одной полезной опцией hdparm является возможность проведения быстрых тестов скорости работы с передачей данных, причём для режима передачи по шине и непосредственно задействовав физические механизмы накопителя. Например, следующая команда покажет соответствующие скорости работы для накопителя /dev/sdb:

$ sudo hdparm -Tt /dev/sdb
/dev/sdc:
Timing cached reads: 23646 MB in 2.00 seconds = 11839.11 MB/sec
Timing buffered disk reads: 224 MB in 3.02 seconds = 74.11 MB/sec

Данный вывод показывает (и это вполне ожидаемо), что скорость чтения кешированных данных по шине гораздо быстрее, чем во время работы непосредственно с пластинами накопителя. По значению скорости чтения буфера диска (параметр -t) можно судить о том, правильно ли настроен диск. В данном случае диск довольно «старый», поэтому этот показатель невысокий. Хотя и соответствует характеристикам данного накопителя. Для современных же жестких дисков значение скорости чтения данных с пластин должно быть около 100 МБ/сек.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

ИТ Проффи

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: