2009-05-11

Остановка диска в Jaunty. Временное решение

Все хорошо в Зайцелопе за исключением одного весьма досадного бага. Тем обиднее, что баг свежий — до обновления все работало.
Диагноз следующий: sdparm перестал останавливать жесткий диск, в моем случае внешний накопитель на 500 Гб, подключаемый посредством USB.
Вчера, наконец, удалось найти решение. Необходимо остановить обработку событий udev перед манипуляциями с диском.
Написал до поры до времени скрипт, автоматизирующий выполнение нескольких необходимых команд.
UPD: Ubuntu 12.04, а воз и ныне там. До сих пор пользуюсь скриптом.

#!/bin/bash
exec 2>&1
udevadm control --stop-exec-queue
umount $1
sdparm --command=sync $1
sdparm -6 -f --command=stop $1
echo -n "You can unplug device now. Do you want to start udev events? (y/n) "
read x
case "$x" in
y | yes ) 
udevadm control --start-exec-queue
echo "Signal udevd to enable the execution of events.";;
n | no ) echo "Signal udevd to stop executing new events.";;
esac

Скрипт принимает в качестве аргумента адрес устройства, например:
eject-off /dev/sdb1

Всех заинтересованных прошу отписаться на странице бага в launchpad.

4 комментариев: ответить

14.05.2009, 17:11   Анонимный комментирует...

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

14.05.2009, 20:20   drakulavich комментирует...

Нет, это будет работать и с внутренними дисками. Правда, не могу придумать, зачем их останавливать. Я останавливаю внешний хард, чтобы потом его отключить, а внутренний пусть крутится :-)
60 градусов - это не дело, что-то не так.

Предлагаю прошерстить launchpad, подобные баги там всплывали. Похоже виноват acpi-support.

19.05.2009, 12:11   virens комментирует...

Для тех, кто в танке, можно пояснить: а зачем останавливать винчестер перед вытыканием!? Я всегда отмонтирую внешний винт и просто вытыкаю его из USB и всё.

Кстати, при выключении внутреннего винчестера есть большая вероятность включить его только холодной перезагрузкой :-)

19.05.2009, 17:27   drakulavich комментирует...

С внутренним особого желания экспериментировать не возникает :-)

> Я всегда отмонтирую внешний винт и просто вытыкаю его из USB и всё.
Я поступал аналогичным образом, но звук, сопровождающий отключение, меня, мягко говоря, не радовал. Я понимаю, что современные харды имеют автопарковку, но почему бы не усыпить устройство, перед отключением. Зачем тревожить механику?
Вот неплохая заметка на тему.

Отправить комментарий