1

У меня есть компьютер с сервером Ubuntu 12.10 в качестве моего собственного домашнего сервера. Есть несколько жестких дисков, подключенных к нему через USB. Сервер работает 24-7, и мне было интересно, есть ли какой-либо способ или какие-либо команды, которые можно использовать для отключения дисков, если они не используются, и после отправки запроса на чтение / запись для диска, диски будут автоматически снова включили для обработки запроса?

Поэтому я в основном хочу скрипт, который может делать следующее (если это не копает вглубь ядра Linux):

  1. Если запрос чтения / записи на диск X не был отправлен в течение y минут, поверните X и запомните, что X был подключен.

  2. Если отправлен запрос на чтение / запись, предназначенный для X, включите X и обработайте запрос.

  3. Начните с 1 снова.

Некоторые из этих накопителей содержат данные, которые я иногда не использую в течение нескольких недель / месяцев, поэтому я не хочу, чтобы срок их службы сокращался, если я просто простаиваю. И я не хочу включать / выключать диски каждый раз, когда я их использую.

2 ответа2

3

Я думаю, что вы ищете утилиту hdparm, которая позволяет вам играть с параметрами привода.

Различные диски принимают разные параметры, и разные диски имеют разные уровни поддержки, например -J wukk устанавливает время простоя дисков WD Green. (но вы, вероятно, хотите что-то вроде -S или, по-видимому, -s, но man hdparm обеспечит низкое значение.

0

Если вам нужен такой точный контроль, вам, вероятно, придется отключить управление питанием дисков и сделать это самостоятельно: поддерживать работающую программу (или запускать ее каждые x минут), которая просматривает данные доступа к дискам, например, в /sys /block / SDA / sda9 / стат. Если ваш сценарий обнаруживает, что в течение вашего порогового периода не было обращений, вы выключаете соответствующий диск (если это еще не сделано).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .