VM iscsi 磁盘在一个 VM 主机上崩溃,而在另一个 VM 主机上没有崩溃

VM iscsi 磁盘在一个 VM 主机上崩溃,而在另一个 VM 主机上没有崩溃

我有一个在 HP bladesystem 上运行的 VmWare 解决方案,该解决方案带有 Lefthand ISCSI san。该环境中目前有两个 VmWare 主机。

我有两个 Debian VM 共享一个 ISCSI 磁盘(带 ocfs2),使用 open-iscsi 直接从 san 安装。一切运行正常,但昨天一个客户端试图在共享的 ocfs2 分区上写入内容时就崩溃了。

我尝试将一些 ISCSI 参数设置为更保守的值,但无济于事。只有 (v-) 将客户端移动到另一台 VM 主机才能解决问题。今天,将另一台客户端移动到有问题的主机会引发相同的错误:

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]

它似乎与 VM 主机相关,后者的配置与另一个完全相同。作为刀片,它们使用相同的网络硬件,即 flex-10 互连。

有人知道这可能与什么有关吗?我想找到原因,因为两个 VM 主机最终都可能遇到相同的问题(那么我必须切换到网络磁盘,似乎更稳定,更不容易发生硬重置)。

答案1

此错误与写入消息超时有关。有人建议使用 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

相关内容