Мои серверы Xen - openSUSE 11.1 с open-iscsi для нашего кластера iSCSI SAN. Модули SAN находятся в группе аварийного переключения IP за виртуальным IP, к которому подключаются инициаторы.
В случае, если основной сервер SAN выходит из строя, дополнительный выбирает роль выступающей в качестве цели. Все это обрабатывается программным обеспечением LeftHand SAN / iQ и хорошо работает в большинстве ситуаций.
У меня проблема в том, что иногда некоторые из моих Xen DomU имеют корневую файловую систему, доступную только для чтения, после восстановления IP-адреса. Это не соответствует и происходит с другим подмножеством каждый раз, когда происходит аварийное переключение. Все они используют один и тот же образ программного обеспечения openSUSE 11.1.
Корневые файловые системы для каждого DomU монтируются open-iscsi в Dom0, а затем Xen использует стандартный драйвер блочного устройства для предоставления его DomU.
Точный симптом заключается в том, что в качестве пользователя root при запуске touch /test
возвращает ошибку «файловая система только для чтения». Тем не менее, вывод mount
показывает, что он смонтирован для чтения и записи. Разумеется, все другие операции ввода-вывода в domU также в данный момент не выполняются, поэтому аппарат выходит из строя. Простой перезапуск с xm
Dom0 без повторного подключения сеанса iSCSI заставляет все работать снова.
На стороне Dom0 сообщения системного журнала во время переключения при сбое выглядят примерно так:
kernel: connection1:0: iscsi: detected conn error (1011)
iscsid: Kernel reported iSCSI connection 1:0 error (1011) state (3)
iscsid: connection1:0 is operational after recovery (1 attempts)
Мне трудно понять, на каком уровне отлаживать эту проблему, это что-то в ядре DomU? или на уровне Dom0 или Xen? Я думаю, что где-то есть параметр, который нужно настроить, чтобы увеличить время ожидания, но я не уверен, где искать.
Я не думаю, что это проблема open-iscsi просто потому, что подключенное блочное устройство все еще доступно для чтения и записи из Dom0.