Кто-нибудь знает, есть ли элегантный способ сказать внешнему USB-накопителю не отключаться после периода бездействия? Я видел решения на основе cron, которые пишут файл каждую минуту, но ничего, что пахнет приятной юникси-элегантностью. Должна быть команда hdparm или scsi, которую я могу выдать (доступ к usb-накопителям осуществляется через драйвер sd в OpenBSD), чтобы запретить ему переходить в спящий режим. Я боюсь, что это, вероятно, функция, встроенная в контроллер в корпусе, и, как таковая, мало что может изменить, кроме как вытащить диск из его корпуса и вставить его прямо в машину, но я решил спросить, на всякий случай.
В идеале я ищу решение OpenBSD, но я знаю, что есть другие с такой же проблемой, поэтому любые решения будут рассмотрены для ответа.
Ответы:
Да, это вообще встроено в прошивку. Некоторые производители приводов предоставляют инструмент управления на базе MS Windows, который позволяет изменять различные параметры, в том числе отключать «спящий» или таймер замедления. Если у вас есть доступ к Windows-боксу, возможно, стоит придерживаться этого подхода.
источник
Просто мои 2 цента ...
Более чем верно, что вращение дисков уменьшает их срок службы. Многолетний опыт показал, что запуск и остановка дискового двигателя вызывает гораздо большую усталость, чем вращение в режиме 24/7. Все мои диски с большим количеством запусков / остановок имеют перераспределенные сектора, и все мои диски, которые вращаются 10 лет 24/7, хороши, как новые. В конце концов, диски предназначены для вращения, а не для холостого хода, поэтому, если ваш приоритет меньше усталости, чем энергопотребление, не стесняйтесь, чтобы ваши диски вращались 24/7.
У меня есть внешний диск 2TB, который вращается после 30 минут бездействия. Диск предназначен для круглосуточного питания для резервного копирования и работает как небольшой NAS, подключенный к Orange PI.
Я использовал следующее правило udev в
(Это никогда не работало, поскольку вращение вниз находится в прошивке дисков)
Хотя диск поддерживает
Я написал небольшой процесс-демон, который может запускаться во время загрузки в
10 раз записывает текущую дату и время в файл журнала, поэтому диск всегда включен. Не стесняйтесь изменять, как вам нравится.
Параметры командной строки: целевой каталог для записи awake.log и (опционально) время задержки (по умолчанию 300)
например
код: (вы можете скомпилировать с GCC)
источник
Это решение (для Linux) от http://www.arrfab.net/blog/?p=107 помогло для портативного накопителя Seagate емкостью 1 ТБ, который продолжал спать:
Теперь привод реагирует мгновенно, даже если он не используется в течение часа. Пока не проверял, сохраняется ли настройка при перезагрузках и т. Д.
источник
Я обнаружил, что следующий cronjob работает для меня.
* / 5 * * * * / bin / touch / dev / sdb &> / dev / null
Очевидно, обновите его с именем устройства вашего диска.
Вы также можете изменить время в зависимости от того, как долго ваш диск простаивает, прежде чем он выключится.
источник
Руководство для Linux
hdparm
предоставляет информацию следующим образом :Тем не менее, все еще не гарантируется, что ваш корпус диска будет поддерживать передачу этих инструкций на диск. В той же ссылке упоминается, что возможность использовать hdparm с оболочкой вообще возможна только с определенными «более новыми (2008 и более поздними)» моделями, которые поддерживают систему трансляции команд SCSI-ATA, то есть «SAT». Я еще не пытался сделать это на чем-либо, кроме недавнего дешевого резервного диска, модели HP SimpleSave. Кажется, он обеспечивает некоторые ограниченные функции управления питанием.
И, конечно, это также предполагает, что OpenBSD
hdparm
работает таким же образом. Я совсем не разбираюсь в способах OpenBSD, поэтому не могу вам помочь.источник
atactl
. Но я не знаю, работает ли это на USB-устройствах;atactl(8)
на него ссылаетсяwd(4)
( справочная страница драйвера диска IDE), но не наumass(4)
( справочная страница драйвера USB-накопителя).hdparm
может быть использован в цикле без sudo для предотвращения сна?hdparam
значение по умолчанию для-B [apm_setting]
?