我的Xen服务器是带有open-iscsi的openSUSE 11.1,可连接到我们的iSCSI SAN集群。SAN模块位于启动程序连接到的虚拟IP后面的IP故障转移组中。
如果主SAN服务器发生故障,则辅助SAN将充当目标服务器。所有这些都由LeftHand SAN / iQ软件处理,并且在大多数情况下都可以正常工作。
我的问题是,在IP故障转移后,某些Xen DomU有时会使其根文件系统变为只读状态。这是不一致的,并且每次发生故障转移时都会在不同的子集上发生。它们都运行相同的openSUSE 11.1软件映像。
每个DomU的根文件系统都是通过open-iscsi装入Dom0的,然后Xen使用标准块设备驱动程序将其公开给DomU。
确切的症状是,以根用户身份运行时touch /test
返回错误“只读文件系统”。但是,的输出mount
显示它是可读写安装的。当然,此时domU上的所有其他I / O也会发生故障,因此机器会严重掉下来。只需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读取和写入。