虚拟机的Linux文件系统在Citrix XenServer中崩溃或只读

我读了一些与这个问题有关的答案。 如果系统分区在短时间内无法访问,操作系统是否会崩溃? 但是我解决不了这个问题

如果在XenServer上使用ISCSI作为存储库,并且DomU(VM)处于繁重的磁盘I / O中,如果ISCSI连接丢失(主要是networking连接问题/存储故障转移),则DomU文件系统(特别是ext3 linux文件系统)崩溃。 在这种情况下,DomU的ext3文件系统变成只读或不可恢复的。

如何在Dom0连接丢失的情况下保护虚拟机的文件系统?

这是我的XenServer环境。

[root@cnode01-m ~]# iscsiadm -m session tcp: [1] 10.32.1.240:3260,2 iqn.1986-03.com.sun:02:c5544ae6-9715-6f38-f83b-a446896ac614 tcp: [3569] 10.32.1.240:3260,2 iqn.1986-03.com.sun:02:5c41ce31-3fbb-c6aa-d479-947e85515ac7 [root@cnode01-m ~]# vgs VG #PV #LV #SN Attr VSize VFree VG_XenStorage-1aeee13b-2a87-1d0d-1834-7b8c868009b0 1 40 0 wz--n- 6.35T 4.93T VG_XenStorage-28e2c663-dae5-9504-9733-e05063ff081d 1 57 0 wz--n- 6.35T 4.52T VG_XenStorage-365d6e13-5caa-1fea-9940-e1bb553e3513 1 42 0 wz--n- 6.35T 5.13T VG_XenStorage-4ea23f9a-f945-5d45-cbd2-f3eab3fe75b3 1 42 0 wz--n- 6.35T 5.40T VG_XenStorage-54d69165-2eed-c058-d587-1b84d488adea 1 37 0 wz--n- 6.35T 5.01T VG_XenStorage-598b7237-282b-ea61-8edc-5101a70ea001 1 63 0 wz--n- 6.35T 5.01T VG_XenStorage-6a063762-26de-a3f8-f18c-734fce25433a 1 49 0 wz--n- 6.35T 5.56T VG_XenStorage-6b7bea84-7269-fa88-7b95-23dce431e1aa 1 71 0 wz--n- 6.35T 4.80T VG_XenStorage-6d6d263b-243c-fb24-4f0c-28b226a22bab 1 47 0 wz--n- 6.35T 4.94T VG_XenStorage-76fe6d6d-a37a-698d-9af2-50ea3f55e127 1 44 0 wz--n- 6.35T 5.37T VG_XenStorage-80e2df33-268c-b8a6-cc02-71f27ebe3326 1 39 0 wz--n- 6.35T 5.80T VG_XenStorage-886070b7-34e8-eb96-0931-2c31952608a6 1 13 0 wz--n- 457.65G 369.31G VG_XenStorage-97136f70-cf33-2593-38e0-b8c09785a754 1 60 0 wz--n- 6.35T 5.14T VG_XenStorage-c910e9fd-8817-0b99-8c8d-1ee0883705de 1 37 0 wz--n- 6.35T 5.67T VG_XenStorage-cd709bcb-d46a-8483-acbf-49b2b0c59c06 1 58 0 wz--n- 6.35T 4.80T VG_XenStorage-e153d09a-716a-9764-8967-f704278d55bd 1 43 0 wz--n- 6.35T 4.45T VG_XenStorage-f8574b51-31d4-7b0e-c71e-8253e1cdd230 1 61 0 wz--n- 6.35T 4.20T [root@cnode01-m ~]# ls -la /dev/sd[az] brw-r----- 1 root disk 8, 0 Jun 8 17:37 /dev/sda brw-r----- 1 root disk 8, 16 Aug 1 10:14 /dev/sdb brw-r----- 1 root disk 8, 32 Jun 8 17:38 /dev/sdc brw-r----- 1 root disk 8, 48 Jul 31 14:49 /dev/sdd brw-r----- 1 root disk 8, 64 Jul 31 14:46 /dev/sde brw-r----- 1 root disk 8, 80 Jul 31 14:51 /dev/sdf brw-r----- 1 root disk 8, 96 Aug 3 13:52 /dev/sdg brw-r----- 1 root disk 8, 112 Aug 3 10:53 /dev/sdh brw-r----- 1 root disk 8, 128 Aug 2 13:40 /dev/sdi brw-r----- 1 root disk 8, 144 Jul 30 00:17 /dev/sdj brw-r----- 1 root disk 8, 160 Jul 30 00:17 /dev/sdk brw-r----- 1 root disk 8, 176 Jul 30 00:17 /dev/sdl brw-r----- 1 root disk 8, 192 Jul 30 00:17 /dev/sdm brw-r----- 1 root disk 8, 208 Jul 30 00:17 /dev/sdn brw-r----- 1 root disk 8, 224 Jul 30 00:17 /dev/sdo brw-r----- 1 root disk 8, 240 Jul 30 00:17 /dev/sdp brw-r----- 1 root disk 65, 0 Jul 30 00:17 /dev/sdq 

这是我的DomU(VM)环境。

 [root@i-58-7172-VM ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 16G 1.5G 14G 11% / /dev/xvda1 99M 30M 65M 32% /boot tmpfs 512M 0 512M 0% /dev/shm 

当我把巨大的I / O负载分区在VM和ISCSI连接有一些问题(networking问题,ISCSI目标故障转移事件)/分区崩溃。

我怎么解决这个问题 ? 提前,非常感谢。

添加

这是我在Dom0的iscsid.conf

 [root @ cnode01 -m〜]#more /etc/iscsi/iscsid.conf
 node.startup =手动
 node.session.timeo.replacement_timeout = 86400
 node.conn [0] .timeo.login_timeout = 15
 node.conn [0] .timeo.logout_timeout = 15
 node.conn [0] .timeo.noop_out_interval = 0
 node.conn [0] .timeo.noop_out_timeout = 0
 node.session.initial_login_retry_max = 4
 node.session.cmds_max = 128
 node.session.queue_depth = 32
 node.session.iscsi.InitialR2T = No
 node.session.iscsi.ImmediateData =是
 node.session.iscsi.FirstBurstLength = 262144
 node.session.iscsi.MaxBurstLength = 16776192
 node.conn [0] .iscsi.MaxRecvDataSegmentLength = 131072
 discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 32768
 node.session.iscsi.FastAbort = No

10G以太网和巨型帧在存储层实现。 而且当存储服务出现问题时,Citrix XenServer也有暂停虚拟机的命令,但暂停和取消暂停虚拟机操作会导致虚拟机系统时钟不完整。 所以它可能有副作用,正常在应用层。 我认为。

首先你应该解决问题的根源 – 存储访问。 用iscsi你可以调整iscsi.conf,并增加队列长度,缓冲区大小和超时时间,这样连接就能够维持较长的中断时间。 此外,实现多path,10G以太网(如果SAN支持它)和巨型帧是一个好主意。

我不是Xen专家,但是对于KVM,当存储层返回EIO或ENOSPACE时,可以select暂停虚拟机,如果您深入了解IMO选项,则应该可以使用Xen,如果没有 – 我会尝试向开发人员提交function请求。