如何还原virtualbox导出的RAC镜像文件

在virtualbox中建立虚拟机,往往是3个文件夹:节点1(ol6-121-rac1),节点2(ol6-121-rac2),共享存储文件夹(ol6-121-rac)。当我们选择“管理”-“导出虚拟电脑”,导出成ova文件备份,就能看到2个主机,每个主机一个ova文件。另外,细心的你可能会发现,在备份时,共享存储是连带一起备份成ova文件的。也就是说,2个节点,每个节点导出的ova文件都包含共享存储。

当我们做恢复时,导入ova文件后,会发现每个共享存储都变成了非共享磁盘,那么我们如何还原到原来的状态呢?

导入2个ova的镜像文件,可以看到在目录中包含主机的文件(-disk1.vmdk,12G左右大小)和共享存储(-disk2.vmdk~-disk5.vmdk),如下面的这个节点1的目录下:

我们可以用VBoxManage modifyhd将其属性改为共享,但是,从ova导入的共享盘,变成了可变大小的磁盘,即我设置的是5G每个盘,可能只用了20M,ova restore出来也只有20M。这种可变大小的属性,是不能还原成共享的。会报错:

我们需要将其属性改为fixed,固定大小。语句如下,同时我们也把vmdk的盘改成vdi 的盘(这个是看个人喜欢了,我比较习惯看vdi 的格式)。注:其实直接改shareable的属性是不能改的,是clone了一个带shareable的盘(因此后面还涉及了到了udev改scsi id的问题):

改完后,将上述的盘attach到2个主机上

在改一下shared的属性。

此时你可以在virtualbox的主界面可以看到这些磁盘已经变成共享的了。

启动这2个主机,如果你原来是使用udev来管理asm,重新启动后,可能会看不到/dev/asm*的盘,这是因为udev的问题,参考我之前的这个文档做修改/etc/udev/rules.d/99-oracle-asmdevices.rules文件:
检查scsi id

修改/etc/udev/rules.d/99-oracle-asmdevices.rules文件后,更新、重启服务。即可完成。

最后,你可以删除了原来的那些-disk2.vmdk~-disk5.vmdk文件了。因为共享存储都已经到了ol6-121-rac下的disk2.vdi~disk5.vdi,在ol6-121-rac1和ol6-121-rac2下的-disk2.vmdk~-disk5.vmdk已经没有用处了。

相关文章

2条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据