У меня есть решение VmWare, работающее на блейд-системе HP с левым ISCSI san. В настоящее время в этой среде есть два хоста VmWare.
У меня есть две виртуальные машины Debian, использующие диск ISCSI (с ocfs2), смонтированные непосредственно из san с помощью open-iscsi. Все работало отлично, но вчера у одного клиента произошел сбой, как только он попытался что-то записать в общий раздел ocfs2.
Я попытался установить для некоторых параметров ISCSI более консервативные значения, но безрезультатно. Только (v-) перемещение клиента на другой хост виртуальной машины решило проблему. Сегодня перенос другого клиента на проблемный хост вызывает те же ошибки:
connection1:0: ping timeout of 5 secs expired, recv timeout 5, last rx 4294971299, last ping 4294966612, now 4294973799
connection1:0: detected conn error (1011)
iscsid: Kernel reported iSCSI connection 1:0 error (1011 - ISCSI_ERR_CONN_FAILED: iSCSI connection failed) state (3)
kernel: [ 328.558970] connection1:0: detected conn error (1020)
iscsid: connection1:0 is operational after recovery (1 attempts)
[repeat until hard reset]
Кажется, это связано с этим хостом виртуальной машины, который имеет ту же конфигурацию, что и другой. Будучи блейд-модулями, они используют одно и то же сетевое оборудование, межсоединение flex-10.
Кто-нибудь знает, с чем это может быть связано? Я хотел бы найти причину, так как оба хоста виртуальных машин могут иметь одинаковую проблему (тогда мне придется переключиться на сетевые диски, это кажется более стабильным, менее подверженным жестким сбросам).
Эта ошибка связана с тайм-аутом записи сообщений. Есть люди, которые рекомендуют использовать vlan для повышения пропускной способности при передаче данных. Итак, проблема здесь: хост: IP-стек, адаптер, сетевой коммутатор, сетевой адаптер NetApp и т. Д.
Также вы можете увеличить время ожидания записи на диск.
echo 180 > /sys/block/sdX/device/timeout
В конфигурации инициатора iscsi я использовал для настройки:
node.session.iscsi.InitialR2T = No
и эти параметры увеличивают логи iscsi. Используйте только то, что необходимо:
# echo 1 > /sys/module/libiscsi/parameters/debug_libiscsi_session
# echo 1 > /sys/module/libiscsi/parameters/debug_libiscsi_eh
# echo 1 > /sys/module/libiscsi/parameters/debug_libiscsi_conn
# echo 1 > /sys/module/libiscsi_tcp/parameters/debug_libiscsi_tcp
# echo 1 > /sys/module/iscsi_tcp/parameters/debug_iscsi_tcp