Как настроить тайм-аут в iSCSI

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
xOr
проходил мимо
Сообщения: 6
Зарегистрирован: 2009-08-18 16:10:11

Как настроить тайм-аут в iSCSI

Непрочитанное сообщение xOr » 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. Если оно там есть но не откликается - система замирает в ожидании его отклика.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35480
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Как настроить тайм-аут в iSCSI

Непрочитанное сообщение Alex Keda » 2012-01-08 20:04:16

надо процессы килять думаю...
которые его юзают.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Re: Как настроить тайм-аут в iSCSI

Непрочитанное сообщение skeletor » 2012-01-10 14:13:38

Здесь обсуждали, но видимо ни к чему не пришли.
http://www.mail-archive.com/open-iscsi@ ... 00766.html

Аватара пользователя
Mox
лейтенант
Сообщения: 757
Зарегистрирован: 2008-12-16 16:04:14
Откуда: питер
Контактная информация:

Re: Как настроить тайм-аут в iSCSI

Непрочитанное сообщение Mox » 2012-01-18 10:55:54

iscontrol убивается по kill -HUP
"В мире программирования алгоритмы становятся более важными, чем код, и именно из-за академических корней в BSD изначально большое внимание уделялось проработке алгоритмов". Мэтт Диллон

FiL
ст. лейтенант
Сообщения: 1376
Зарегистрирован: 2010-02-05 0:21:40

Re: Как настроить тайм-аут в iSCSI

Непрочитанное сообщение FiL » 2012-01-18 17:05:18

Mox писал(а):iscontrol убивается по kill -HUP
Если устройство занято, то не киляется (что, собственно, автор и указал в посте).
Вообще, процессы, зависшие на IO не киляются. Вечная проблема :(

xOr
проходил мимо
Сообщения: 6
Зарегистрирован: 2009-08-18 16:10:11

Re: Как настроить тайм-аут в iSCSI

Непрочитанное сообщение xOr » 2012-03-07 22:10:21

Спасибо за советы.

Да, iscontrol как бы "убивается" но реально продолжает висеть как зомби и висят все приложения использовавшие диск.

Обсуждение вроде-бы видел. Но оно древнее и про линукс. В нем то вроде-бы пофиксили.
В линуксе есть вот такие опции:
http://linux-iscsi.sourceforge.net/iscsi.conf.5.html

ConnFailTimeout=<secs>
Specify the time in seconds to wait for a session re-establishment. If a session is not re-established in 'ConnFailTimeout' seconds then I/Os on the session will be failed immediately without honoring the timeout associated with the SCSI command. By default the timeout value is 0 which means no timeout.
MinDiskCommandTimeout=<secs>
Specify the minimum time in seconds to wait before failing commands to a target device. If this entry is not present in the conf file, a default value of -1 is taken by the driver, which disables the command timeout, allowing commands to be retried forever.
MaxDiskCommandTimeout=<secs>
Specify the maximum time in seconds to wait before failing commands to a target device. If multipath is enabled, the MaxDiskCommandTimeout can be set to a smaller value, say 5 or 10 seconds. The default value is 0.

Фря на эти опции плюет (хоть и не ругается что они есть в конфиге).
Со стороны target задание их также не дает эффекта (тоже не ругается на наличие в конфиге).

Может есть возможность поставить альтернативный iscsi initiator в FreeBSD?

Проблема слишком уж явная и не позволяет делать кластерные решения на iscsi. А альтернативы протоколу нет.

ZFS тоже хорош - нельзя даже отключить зависшее устройство
zpool detach подвисает, пока не получит-таки связи с ним.
zpool offline делает то же самое!

Т.е. нет никакого способа сказать на уровне iscsi или zfs, что удаленный диск отвалился даже вручную!

Интересно, как же устроен HAST что он работает? Видимо, придется юзать его, но ждать синхронизации 2 Тб через сеть при каждой рассинхронизации в байт- совсем не хотелось бы :(
(ZFS синхронизирует (resilver) только изменения).

Mikl_
проходил мимо

Re: Как настроить тайм-аут в iSCSI

Непрочитанное сообщение Mikl_ » 2012-03-07 23:35:05

Пару недель назад воевал тоже с ZFS на iscsi. На 10-й солярке. Проблема была в другом - после ребута сервера zpool status говорил, что диск offline. Хотя он был живой. Помогало только zpool destroy / zpool import... помогла установка патча, выпущенного ораклом только в феврале этого года.
После выходных попробую отключить массив - гляну как соляра реагирует :smile:

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Re: Как настроить тайм-аут в iSCSI

Непрочитанное сообщение skeletor » 2012-03-12 12:52:55

Только что вспомнил, что столкнулся с ситуацией, что fibre channel поднимался намного позже zfs, а у меня по FC были подключены диски и создал пул. В итоге тоже писало, что диск offline. Пришлось отказаться от подключения дисков по FC.
Solaris 11.

nlaak
проходил мимо
Сообщения: 1
Зарегистрирован: 2014-10-16 7:12:46

Re: Как настроить тайм-аут в iSCSI

Непрочитанное сообщение nlaak » 2014-12-05 21:12:39

например конфиг /etc/iscsi.conf

Код: Выделить всё

idisk1 {
authmethod = CHAP
chapIName = user
chapSecret = password
TargetName=iqn.2014-12.back1.istgt:disk1
TargetAddress=192.168.0.41
}

idisk2 {
authmethod = CHAP
chapIName = user
chapSecret = password
TargetName=iqn.2014-12.back2.istgt:disk2
TargetAddress=192.168.0.42
}
отвалился второй диск

надо выполнить

Код: Выделить всё

# iscsictl -R -n idisk2
Последний раз редактировалось Alex Keda 2014-12-09 0:22:30, всего редактировалось 1 раз.
Причина: Товарищщи, цените чужое время, юзайте кнопочку [code]...