У меня есть компьютер с сервером Ubuntu 12.10 в качестве собственного домашнего сервера. Есть несколько жестких дисков, подключенных к нему через USB. Сервер работает 24-7, и мне было интересно, есть ли какой-либо способ или какие-либо команды, которые можно использовать, чтобы отключить диски, если они не используются, и после отправки запроса на чтение / запись для диска, диски будут автоматически снова включили для обработки запроса?
Поэтому я в основном хочу скрипт, который может делать следующее (если это не копает вглубь ядра Linux):
Если запрос чтения / записи на диск X не был отправлен в течение y минут, поверните X и запомните, что X был подключен.
Если отправлен запрос на чтение / запись, предназначенный для X, включите X и обработайте запрос.
Начните с 1 снова.
Некоторые из этих накопителей содержат данные, которые я иногда не использую в течение нескольких недель / месяцев, поэтому я не хочу, чтобы их срок службы сокращался, если я просто простаиваю. И я не хочу включать / выключать диски каждый раз, когда я их использую.
источник
spindown
.Ответы:
Я думаю, что вы ищете утилиту hdparm, которая позволяет вам играть с параметрами диска.
Различные диски принимают разные параметры, и разные диски имеют разные уровни поддержки, например -J wukk устанавливает время простоя дисков WD Green. (но вы, вероятно, хотите что-то вроде -S или, по-видимому, -s, но man hdparm обеспечит низкий уровень.
источник
Если вам нужен такой точный контроль, вам, вероятно, придется отключить управление питанием дисков и сделать это самостоятельно: поддерживать работающую программу (или запускать ее каждые x минут), которая просматривает данные доступа к дискам, например, в / sys / block / SDA / sda9 / стат. Если ваш сценарий обнаруживает, что в течение вашего порогового периода не было обращений, вы выключаете соответствующий диск (если это еще не сделано).
источник