最近工作中碰到一个客户的生产环境挂了,Pool中的3台机器的xapi都无法启动,所有的xe命令都无法执行,唯一能访问的方式只有SSH,问题是还有一台机器上有许多虚拟机在运行,尝试了很多方法都没有效果,客户的pool中的db损坏且无法恢复,唯一的解决方法就是重建环境且不影响客户的生产。

思路:考虑到用户使用的是HBA存储,存储的LUN是和Host上HBA卡的WWN绑定,所以重装后host应该能识别到原来的存储,然后再把存储挂到新装的机器上。最后在新建虚拟机,把对应的VDI再挂载上去。
Note:我们之前有导出过pool的server state report,所有虚拟机对应的vdi可以查到。

处理方法:

1.先重新安装一台xensever并作为新建Pool的master,打上所有的hotfix
登陆xenserver的命令行
#pvscan
PV /dev/sdc VG VG_XenStorage-e47a1cfd-893c-4666-08c8-f37fedd43da3 lvm2 [1.69 TB / 18.01 GB free]
PV /dev/sda3 VG VG_XenStorage-b67d732d-be5c-2255-b07b-4c97c90cf460 lvm2 [270.45 GB / 270.45 GB free]
Total: 2 [1.95 TB] / in use: 2 [1.95 TB] / in no VG: 0 [0 ]
上面看出原来的HBA存储的UUID:e47a1cfd-893c-4666-08c8-f37fedd43da3
2.把此SR通过命令挂上(不能通过xencenter完成,否则可能会格式化存储)
#xe sr-introduce sr-uuid=e47a1cfd-893c-4666-08c8-f37fedd43da3 type=lvmohba shared=true name-label=EMC content-
type=user
3.查找存储块设备对应的SCSI ID信息:vps代理 vps.gl/dealer
#ls -l /dev/disk/by-id/
rwxrwxrwx 1 root root 9 Apr 9 15:26 scsi-360060160abb01c009a425b909972de11 -> ../../sdc
lrwxrwxrwx 1 root root 9 Apr 9 15:26 scsi-3600605b0036c7670160dd0d806c5ffc1 -> ../../sda
lrwxrwxrwx 1 root root 10 Apr 9 15:26 scsi-3600605b0036c7670160dd0d806c5ffc1-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Apr 9 15:26 scsi-3600605b0036c7670160dd0d806c5ffc1-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Apr 9 15:26 scsi-3600605b0036c7670160dd0d806c5ffc1-part3 -> ../../sda3
上面可以得知存储对应的sdc对应的scsi id信息
4.通过命令行或者xencenter查到pool中master的host信息
#xe host-list
uuid ( RO) : 83f2c775-57fc-457b-9f98-2b9b0a7dbcb5
name-label ( RW): xenserver1
name-description ( RO): Default install of XenServer
5.为host和存储之间创建PBD
#xe pbd-create sr-uuid=e47a1cfd-893c-4666-08c8-f37fedd43da3 device-config:device=/dev/disk/by-id/scsi-
360060160abb01c009a425b909972de11 host-uuid=83f2c775-57fc-457b-9f98-2b9b0a7dbcb5
aec2c6fc-e1fb-0a27-2437-9862cffe213e
PBD创建成功,PBD为连接xenserver和storage之间的逻辑连接单元
6.插入新建的pbd
#xe pbd-plug uuid=aec2c6fc-e1fb-0a27-2437-9862cffe213e
此时登陆xencenter发现存储挂载成功,里面的VDI状态正常
7.开始着手恢复VM
找到之前vm的信息创建vm,并根据我之前写的写的2篇blog在挂载vdi
http://virtuallife.blog.51cto.com/152152/713538
http://virtuallife.blog.51cto.com/152152/829567
8.恢复完所有的机器并重建另外2台xenserver,并加入到此pool中
9.配置HA,WLB后恢复环境,并未影响客户的生产环境