Как настроить тайм-аут в iSCSI
Добавлено: 2012-01-08 14:03:23
Добрый день!
Всех с наступившими!
Вопрос к имеющим опыт с подключением диска по сети через iscsi на FreeBSD.
При разрыве соединения приложение, работающее с "блочным устройством" блокируется, и нет никакого тайм-аута.
Если диск не возвращается назад - приложение (или файловая система) зависает так навечно.
Хотелось бы, чтобы устройство (например /dev/da0) исчезало при отсутствии связи через iscsi через некоторое время.
Это возможно сделать?
Если нет, как можно отключать его вручную?
Пробовал послать процессу iscontrol сигнал SIGHUP (как написано в man). iscontrol при этом пишет на консоль, что завершился,
но на самом деле продолжает висеть как процесс и устройство da0 не исчезает (а использующее его приложение продолжает висеть).
Через camcontrol удалить da0 также не получается (или я делаю это неправильно).
При запуске iscontrol снова (и починке связи перед этим) - появляется новый процесс, новая сессия, da0 не начинает работать, и этот процесс также не убивается.
Итог - имею на сервере два зависших iscontrol, fdisk, который пытается считать с da0, и это никак не убивается ))
В общем-то идея шире. Требуется работа ZFS с физическим диском через iSCSI.
Если бы у ZFS был свой тайм-аут по неотклику части зеркала (которая доступна через iscsi) - то текущее поведение iscsi устроило бы.
Но ZFS реагирует только на удаление устройства из /dev. Если оно там есть но не откликается - система замирает в ожидании его отклика.
Всех с наступившими!
Вопрос к имеющим опыт с подключением диска по сети через iscsi на FreeBSD.
При разрыве соединения приложение, работающее с "блочным устройством" блокируется, и нет никакого тайм-аута.
Если диск не возвращается назад - приложение (или файловая система) зависает так навечно.
Хотелось бы, чтобы устройство (например /dev/da0) исчезало при отсутствии связи через iscsi через некоторое время.
Это возможно сделать?
Если нет, как можно отключать его вручную?
Пробовал послать процессу iscontrol сигнал SIGHUP (как написано в man). iscontrol при этом пишет на консоль, что завершился,
но на самом деле продолжает висеть как процесс и устройство da0 не исчезает (а использующее его приложение продолжает висеть).
Через camcontrol удалить da0 также не получается (или я делаю это неправильно).
При запуске iscontrol снова (и починке связи перед этим) - появляется новый процесс, новая сессия, da0 не начинает работать, и этот процесс также не убивается.
Итог - имею на сервере два зависших iscontrol, fdisk, который пытается считать с da0, и это никак не убивается ))
В общем-то идея шире. Требуется работа ZFS с физическим диском через iSCSI.
Если бы у ZFS был свой тайм-аут по неотклику части зеркала (которая доступна через iscsi) - то текущее поведение iscsi устроило бы.
Но ZFS реагирует только на удаление устройства из /dev. Если оно там есть но не откликается - система замирает в ожидании его отклика.