Xenserver本地SR故障后异机容灾恢复

朋友的xenserver环境在异常断电后,导致其中一台主机的本地SR离线,尝试了各种修复操作均无法回挂 。该环境为生产环境,数据很重要,很多风险操作不便使用,为确保数据安全,让朋友挂载了移动硬盘,并通过dd命令备份了本地SR对应的sda3分区 。既然常规方式无法恢复,准备在另一台备机部署xenserver,并恢复故障机的SR数据到异机环境并导出需要的vm 。
Xenserver本地SR故障后异机容灾恢复
工具/原料以下是通过vmware搭建的环境进行的场景模拟,首先安装xenserver的vm1,充当A主机,并在其上再创vm模拟环境,通过dd命令备份了本地SR对应的sda3分区 。
命令:dd if=/dev/sda3 of=/date/sda3.disk
Xenserver本地SR故障后异机容灾恢复
因手上移动硬盘有个人数据,此列不用外挂移动存储的方式演示,给虚拟机vm1添加一个虚拟磁盘作为sda3分区备份文件sda3.disk的存储路径(给xenserver添加第二个硬盘方法,详见 《XenServer下添加硬盘并挂载分区》https://jingyan.baidu.com/article/e8cdb32bf5da3837052bad96.html ),下载sda3.disk文件到本地留用 。

通过vmware搭建的环境进行的场景模拟,首先安装xenserver到vm2,充当B主机 。同样给虚拟机vm2添加一个虚拟磁盘作为sda3.disk的存储路径,上传上步的sda3.disk备份文件到vm2主机上
Xenserver本地SR故障后异机容灾恢复
在vm2上使用dd命令进行分区还原操作
命令:dd if=/date/sda3.disk of=/dev/sda3
Xenserver本地SR故障后异机容灾恢复
使用pvscan命令查看本地磁盘的UUID,我们看到vm1的sr数据已经恢复到vm2本地
获得uuid 947fce39-de07-cd53-dd96-e05181f363cf
Xenserver本地SR故障后异机容灾恢复
输入 xe sr-list命令查看,我们发现vm2的本地SR信息还是旧SR信息,首先我们要把它清除,避免创建vm1移植过来的新SR报错 。
Xenserver本地SR故障后异机容灾恢复
用 xe sr-forget uuid=<uuid> 命令删除vm2的旧SR
xe sr-forget uuid=58245818-8747-27f2-c9b1-d31a35f62b9d
出现pdb被占用报错
Xenserver本地SR故障后异机容灾恢复
用 xe pbd-list sr-uuid=<uuid> 命令 查看PDB被占用信息
xe pbd-list sr-uuid=58245818-8747-27f2-c9b1-d31a35f62b9d
获得Local Storage的 uuid e420e060-8ed9-1321-3322-b6ec525d67b0
Xenserver本地SR故障后异机容灾恢复
解除占用 xe pbd-unplug uuid=e420e060-8ed9-1321-3322-b6ec525d67b0
Xenserver本地SR故障后异机容灾恢复
用 xe sr-forget uuid=<uuid> 命令删除vm2的旧SR
xe sr-forget uuid=58245818-8747-27f2-c9b1-d31a35f62b9d
Xenserver本地SR故障后异机容灾恢复
使用pvscan命令获得的uuid 添加SR
xe sr-introduce uuid=947fce39-de07-cd53-dd96-e05181f363cf type=lvm name-label="Local storage" content-type=user
Xenserver本地SR故障后异机容灾恢复
查看sr数据所在设备或分区的SCSI ID号
命令:ls -l /dev/disk/by-id/
获得sda3分区的id scsi-SATA_QEMU_HARDDISK_QM00001
Xenserver本地SR故障后异机容灾恢复
查看xenserver主机的UUID号
命令:xe host-list
获得host uuid 2b6b4dad-9171-4e13-91dd-f4cd929094d6
Xenserver本地SR故障后异机容灾恢复
通过上述步骤获得的sr uuid、scsi id、host id创建PBD
xe pbd-create sr-uuid=947fce39-de07-cd53-dd96-e05181f363cf device-config:device=/dev/disk/by-id/scsi-SATA_QEMU_HARDDISK_QM00001 host-uuid=2b6b4dad-9171-4e13-91dd-f4cd929094d6
获得pbd 1698a381-cca4-ff59-0708-9cf1b8a48628
Xenserver本地SR故障后异机容灾恢复
将上一步创建的PBD plug上(恢复SR存储库)
xe pbd-plug uuid=1698a381-cca4-ff59-0708-9cf1b8a48628
Xenserver本地SR故障后异机容灾恢复
我们看到vm1的本地SR已经成功识别到vm2上
Xenserver本地SR故障后异机容灾恢复

【Xenserver本地SR故障后异机容灾恢复】

如上我们实现了用vm2异机容灾恢复,亦可以单纯的导出vm1主机SR中需要的vhd文件