问题描述:
现场环境为ATAE两块单板部署SUSE9SP3,下挂HPEVA4400磁阵,安装HP多路径软件后使用fdisk –l可以看到多路径已正常生效,两块单板上均只看到一块硬盘。然后安装部署VCS软件,部署完成后,双机可正常启动。但启动后发现问题。问题如下:
情况一:系统启动后会自动启动VCS双机软件,FS1为主机,FS2为备机,此时只会在主机FS1上看到相应的磁盘阵列。
此时状态:
主机:
HBDXFS1:~ # fdisk -l
Disk /dev/sda: 146.6 GB, 146693685248 bytes
255 heads, 63 sectors/track, 17834 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 1045 8393931 82 Linux swap
/dev/sda2 1046 11488 83883397+ 83 Linux
/dev/sda3 11489 17833 50966212+ 5 Extended
/dev/sda5 11489 16710 41945683+ 83 Linux
Disk /dev/sdb: 429.4 GB, 429496729600 bytes
255 heads, 63 sectors/track, 52216 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 52216 419424988+ 83 Linux
HBDXFS1:~ # lssd
sda 0,0,2,0 LSILOGIC Logical Volume 3000
sdb 1,0,0,1 HP HSV300 0952
备机:
HBDXFS2:~ # fdisk -l
Disk /dev/sda: 146.6 GB, 146693685248 bytes
255 heads, 63 sectors/track, 17834 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 1045 8393931 82 Linux swap
/dev/sda2 1046 11488 83883397+ 83 Linux
/dev/sda3 11489 17833 50966212+ 5 Extended
/dev/sda5 11489 16710 41945683+ 83 Linux
HBDXFS2:~ # lssd
sda 0,0,2,0 LSILOGIC Logical Volume 3000
sdb 0x1
关闭主机FS1,此时FS2正常切换为为主机,状态为以下也为正常:
HBDXFS2:~ # fdisk -l
Disk /dev/sda: 146.6 GB, 146693685248 bytes
255 heads, 63 sectors/track, 17834 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 1045 8393931 82 Linux swap
/dev/sda2 1046 11488 83883397+ 83 Linux
/dev/sda3 11489 17833 50966212+ 5 Extended
/dev/sda5 11489 16710 41945683+ 83 Linux
Disk /dev/sdb: 429.4 GB, 429496729600 bytes
255 heads, 63 sectors/track, 52216 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 52216 419424988+ 83 Linux
HBDXFS2:~ # lssd
sda 0,0,2,0 LSILOGIC Logical Volume 3000
sdb 1,0,0,1 HP HSV300 0952
FS1启动后,未启动VCS,此时为以下状态,会看到4条路径,并且硬盘资源未获取到,多路径软件未生效:
HBDXFS1:~ # lssd
sda 0,0,2,0 LSILOGIC Logical Volume 3000
sdb 1,0,0,1 HP HSV300 0952
sdc 1,0,1,1 HP HSV300 0952
sdd 2,0,0,1 HP HSV300 0952
sde 2,0,1,1 HP HSV300 0952
HBDXFS1:~ # fdisk -l
Disk /dev/sda: 146.6 GB, 146693685248 bytes
255 heads, 63 sectors/track, 17834 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
处理步骤:
1, 将VCS设置为非自启动模式,即在启动系统时不启动VCS,此时使用FDISK -L查看是正常的,双机两块单板均会只看到/dev/sdb,多路径软件正常工作。此时再用chkconfig vcs 345将VCS开启然后使用hastart 启动双机,双机又看到冗余路径。说明确实是VCS启动后导致多路径软件失效。
2, 经过诊断, 由于我们的VCS配置用到了 DiskReservation类型的资源 :
DiskReservation dNFS_Disks1 (
Disks = { "/dev/sdb" }
FailFast = 1
)
但是这个DiskReservation 不支持任何多路径软件,包括 赛门铁科自己生产的的DMP 多路径软件产品也不例外。
因此,HP的多路径软件肯定也和它不能一起正常工作.多路径软件的机制是调用SCSI命令去和存储通讯, 把同一个LUN的不同path绑成同一条, 但是如果另一台机器通过DiskReservation占用着这个LUN, 那么SCSI命令就不能从存储获得信息,导致多路径软件不能正常工作.
3, 修改硬盘资源方式为lvm方式,使用vg、lv、PV进行管理。此问题得解。
总结:
在VCS双机中,DiskReservation资源不能和多路径软件共存,故双机控制文件中队硬盘资源要选择lvm方式。这样就能规避该问题。
引申:今后磁盘阵列尽量不要在选择使用DiskReservation资源,全部使用lvm进行管理。