LINUX.ORG.RU

удалённая остановка hdd

 , , ,


0

1

пробовал делать следующее hdparm -y /dev/sdb шпиндель останавливается, но при первом же обращении снова раскручивается sdparm --command=stop /dev/sdb происходит тоже самое

hdparm -Y /dev/sdb винт глохнет и не реагирует на обращения, но как его включить без перезагрузки не понятно

а нужно как то отключать и включать винт, только по моему желанию, т.е. подал команду, он выключился, и при доступе к нему он не включается сам, затем подал команду, он включился и работает как обычно


через /sys/block

echo 1 | sudo tee /sys/block/sdb/device/delete

При этом накопитель останавливается и удаляется из системы. Чтобы его заново увидеть, нужно сперва запомнить, на каком контроллере он сидит, а потом сказать контроллеру пересканировать подключенные устройства:

echo "- - -" | sudo tee /sys/class/scsi_host/hostX/scan[]
На usb этот метод пересканирования не работает, а удаление — вполне.

olegkrutov ()
Ответ на: через /sys/block от olegkrutov

у меня внешний sata винт подключён через usb, сработает ли?

kelod ()

Ну вот на хера оно вообще надо? Ставь винду и не парься такими глупостями.

anonymous ()
Ответ на: комментарий от kelod

тут надо понимать сам механизм

Если нужно, чтоб диск именно как устройство не реагировал, то как я написал. А если просто временно ограничить и разрешить доступ к устройству, то просто отмонтировать раздел и монтировать программно не?

olegkrutov ()
Ответ на: комментарий от kelod

Тогда я не очень понимаю, в чем проблема

Размонтируем том, теперь к нему никто просто так не обратится. Потом выдаем остановку шпинделя, всё, диск уснул, ничего почти не кушает.Надо — замонтировали том, диск раскрутился, работает, ест электричество.Что не так?

olegkrutov ()
Ответ на: комментарий от kelod

2 команды отлично помещаются в один скрипт

Проверить можно экспериментально один раз с конкретным железом.

olegkrutov ()
Ответ на: Я не вполне понимаю, что за проверка от olegkrutov

проверка того в каком состоянии находится диск как например узнать вращается шпиндель у него или нет? hdparm -C /dev/sdb запускает диск, при попытке получить smart тоже происходит запуск диска

kelod ()
Ответ на: комментарий от kelod

Ну раз уж вам надо так всё железно,

тогда усыпляйте драйв через -Y, а перед проверкой через -C ставьте режим standby через -y, и вот в этом режиме драйв скажет, что он standby. При этом шпиндель не раскручивается. Если надо, усыпляйте драйв потом снова через -Y, он уснёт без раскрутки. Если надо потом драйв разбудить, сперва standby, (-y), потом обращайтесь к нему.

olegkrutov ()
Ответ на: комментарий от kelod

А вы попробуйте сказать ему с таком состоянии -y,

У меня драйв при этом не крутится, но начинает реагировать на команды. А ещё есть ключик -w (device reset), тоже можно попробовать подать, если ни на что нет реакции.

olegkrutov ()
Ответ на: комментарий от kelod

а как быть тогда??

на всякий случай отвечу.

echo "1-1.1" > /sys/bus/usb/devices/1-1.1/driver/unbind

Kiborg ★★★ ()

Дык а нельзя прст выставить ему таймаут остановки? Если его никто не трогает, он уснул и спит пока его никто не пнет. В режиме ожидания он врядли будет жрать много, а в управлении значительно проще

kma21 ★★★★ ()
Ответ на: комментарий от kma21

Ага, чтобы парковками побыстрее убился, как вд грины.

anonymous ()
Ответ на: комментарий от anonymous

Во-первых, включение и выключение винта, а так же останов шпинделя также не сказываются благоприятно на механике винта. Во-вторых, парковать можно не через 4 сек, а через 20. И при редком обращении к винту это ему не будет вредить.

kma21 ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.