朋友的xenserver环境在异常断电后,导致其中一台主机的本常挢傣捅地SR离线,尝试了各种修复操作均绣诅收蟮无法回挂。该环境为生产环境,数据很重要,很多风险操作不便使用,为确保数据安全,让朋友挂载了移动硬盘,并通过dd命令备份了本地SR对应的sda3分区。既然常规方式无法恢复,准备在另一台备机部署xenserver,并恢复故障机的SR数据到异机环境并导出需要的vm。
工具/原料
xenserver6.5
vmwareworkstation
移动硬盘
方法/步骤
1、以下是通过vmware搭建的环境进行的场景模拟,首先安装xenserver的vm1,充当A主机,并在其上再创vm模拟环境,通过dd命令备份了本地SR对应的sda3分区。命令:ddif=/dev/sda3of=/date/sda3.disk
2、因手上移动硬盘有个人数据,此列不用箍鲂遥哒外挂移动存储的方式演示,给虚拟机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主机上
3、在vm2上使用dd命令进行分区还原操作命令:ddif=/date/sda3.diskof=/dev/sda3
4、使用pvscan命令查看本地磁盘的UUID,我们看到vm1的sr数据已经恢复到vm2本地获得uuid947fce39-de07-cd53-dd96-e05181f363cf
5、输入xesr-list命令查看,我们发现vm2的本地SR信息还是旧SR信息,首先我们要把它清除,避免创建vm1移植过来的新SR报错。
6、用xesr-forgetuuid=<uuid>命令删除vm2的旧SRxesr-forgetuuid=58245818-8747-27f2-c9b1-d31a35f62b9d出现pdb被占用报错
7、用xepbd-listsr-uuid=<uuid>命令查看P锓旆痖颧DB被占用信息xepbd-listsr-uuid=5疣迩疔牦8245818-8747-27f2-c9b1-d31a35f62b9d获得LocalStorage的uuide420e060-8ed9-1321-3322-b6ec525d67b0
8、解除占用xepbd-unpluguuid=e420e060-8ed9-1321-3322-b6ec525d67b0
9、用xesr-forgetuuid=<uuid>命令删除vm2的旧SRxesr-forgetuuid=58245818-8747-27f2-c9b1-d31a35f62b9d
10、使用pvscan命令获得的uuid添加SRxesr-introduceuuid=947fce39-de07-cd53-dd96-e05181f363cftype=lvmname-label="Localstorage"content-type=user
11、查看sr数据所在设备或分区的SCSIID号命令:ls-l/dev/disk/by-id/获得sda3分区的idscsi-SATA_QEMU_HARDDISK_QM00001
12、查看xenserver主机的UUID号命令:xehost-list获得hostuuid2b6b4dad-9171-4e13-91dd-f4cd929094d6
13、通过上述步骤获得的sruuid、scsiid、ho衡痕贤伎stid创建PBDxepbd-createsr-uuid=947fce39-颊俄岿髭de07-cd53-dd96-e05181f363cfdevice-config:device=/dev/disk/by-id/scsi-SATA_QEMU_HARDDISK_QM00001host-uuid=2b6b4dad-9171-4e13-91dd-f4cd929094d6获得pbd1698a381-cca4-ff59-0708-9cf1b8a48628
14、将上一步创建的PBDplug上(恢复SR存储库)xepbd-pluguuid=1698a381-cca4-ff59-0708-9cf1b8a48628
15、我们看到vm1的本地SR已经成功识别到vm2上
16、如上我们实现了用vm2异机容灾恢复,亦可以单纯的导出vm1主机SR中需要的vhd文件