В конце нулевых у меня был постоянно работающий компьютер под управлением Slackware-11.0. Иногда хотелось посмотреть фильм, но коллекция фильмов находилась на 500Gb диске, гонять который круглосуточно я не видел смысла. Самым простым тогда казалось по необходимости подключать диск как usb-накопитель. Оставалось только решить проблему с авто-монтированием диска из консоли. Помог мне в этом AutoFS.
AutoFS появился в ядре Linux-2.4 как решение для монтирования сменных носителей: дискет, компакт-дисков, флешек, чтобы пользователю не приходилось для этого запрашивать права root и из консоли набирать команды. AutoFS работает на уровне ядра Linux и автоматически монтирует носитель при запросе, и так же размонтирует его при неиспользовании его заданное время. Настройка AutoFS проста:
имеющий права на исполнение /etc/rc.d/rc.autofs запускается автоматически при инициализации системы;
в файле /etc/auto.misc добавляем строки вида:
films -fstype=auto :/dev/sda1и так далее на каждый раздел, который желаете монтировать через autofs;
series -fstype=auto :/dev/sdb1
в файле /etc/auto.master в строке:
/misc /etc/auto.misc —timeout=60выставите таймаут в секундах, через которое время раздел будет размонтирован.
И это все. В корне появится директория misc, а разделы будут доступны по /misc/films, /misc/series и т. д. Есть один ньюанс. Когда по ftp вы зайдете в директорию misc, то увидите пустой каталог. Попасть в нужный диск можно, набрав команду перехода в нужную директорию, например, cd series, после чего нужный раздел примонтируется и выполнится переход.
А теперь, собственно, ради чего весь сыр-бор? На htpc или домашем nas может быть сколько угодно жестких дисков, но единовременно, как правило, нужен только один, тот, с которого воспроизводится фильм. Механические жесткие диски, даже «зеленые», шумят , а htpc должен быть максимально тихим. Размещая операционную систему на твердотельном диске, мы избавляемся от необходимости держать один диск с системным разделом постоянно включенным. Да и решение проблем с винтами при таком раскладе (разделяя диски с данными и операционной системой) гораздо проще, как показывает практика.
Командой:
hdparm -y /dev/sdX
мы пошлем диск в спящий режим. При этом механика останавливается, блины перестают крутиться, головки паркуются. Винт перестает греться и шуметь. Но его контроллер продолжает работать, и утилитой smartctl всегда можно узнать состояние винчестера, а командой:
hdparm -C /dev/sdb
мы можем узнать его статус: active или standby. По документации командой hdparm -S 12 /dev/sdX можно задать интервал автоматического отключения НЕИСПЛЬЗУЕМОГО диска. Чтобы диск не использовался, его желательно отмонтировать (тут и пригождается autofs), хотя принудительно параметром -y можно послать и используемый диск, но в таком случае в спящем режиме он пробудет не долго. Проблема в том, что ни на одном моем диске WD автоматическое засыпание не работает. В итоге я написал небольшой скрипт, который периодически опрашивает жесткий диск, и если он не используется более трех минут, то посылается в спящий режим:
#!/usr/bin/bash let timeout=180 # имитируем бесконечный цикл while [ $timeout > 0 ]; do sleep $timeout # если диск уже спит, то ждем, пока он не проснется while hdparm -C /dev/sdb|grep "standby" ; do sleep $timeout; done # если диск работает и используется каким-либо процессом, то ждем, пока он # не освободится while fuser -m /dev/sdb1 ; do sleep $timeout; done # если диск освободился, по подождем для приличия, # вдруг кому-то еще понадобится sleep $timeout # если диск так никому и не понадобился , то посылаем его в спящий режим fuser -m /dev/sdb1 || hdparm -y /dev/sdb done
В заключение немного о NFS. На сервере должны быть права на исполнение у
/etc/rc.d/rc.rpc
/etc/rc.d/rc.nfsd
а в конфигурационном файле /etc/exports должна быть строка вроде:
/mnt/hd blackstar(rw)
т. е. машине blackstar мы даем право монтировать директорию /mnt/hd в режиме записи.
На клиенте достаточно сделать исполняемым
/etc/rc.d/rc.pc
и в /etc/fstab записи
htpc:/mnt/hd /mnt/tmp nfs noauto,users,rw 0 0А вообще, лучше nfs директории подключать через autofs. Ну и, само-собой, работающий демон nfsd постоянно «держит наготове» используемый жесткий диск, мешая ему «поспать», когда тот не нужен, поэтому я на своем htpc nfs-демон включаю вручную, по необходимости. Для большинства вещей ftp вполне достаточно.
Комментариев нет:
Отправка комментария