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

时间:2019-09-14   作者:互联网搜集整理

朋友的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故障后异机容灾恢复

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

声明:内容仅供参考,图片和文章选取自网络,如侵权请联系删除。