我在我的主机 (brighton) 上安装了一个新的 CentOS 7.2 guest (babybrighton),然后从 Brighton 执行此操作(其中 /dev/sdb 是连接到 Brighton 的物理设备):
virsh attach-disk --persistent babybrighton /dev/sdb vdb
这工作正常并且磁盘显示正常:
[root@babybrighton ~]# ls -l /dev/vdb*
brw-rw----. 1 root disk 252, 16 Dec 4 20:37 /dev/vdb
brw-rw----. 1 root disk 252, 17 Dec 4 20:37 /dev/vdb1
brw-rw----. 1 root disk 252, 18 Dec 4 20:37 /dev/vdb2
brw-rw----. 1 root disk 252, 19 Dec 4 20:37 /dev/vdb3
我现在想virsh snapshot-create-as
将babybrighton的状态和数据保存在/dev/vda*上,这是我在创建babybrighton时制作的伪磁盘。
然而,我确实不是想要virsh snapshot-create-as
保存babybrighton 上/dev/vdb* 的状态,因为/dev/sdb 是brighton 上的一个8TB 驱动器,用于保存babybrighton VM 本身。
我做希望快照记住它正在将 /dev/vdb 映射到主机的 /dev/sdb,但这是快照应该具有的有关 /dev/vdb 的唯一信息。
我尝试过类似的事情:
virsh snapshot-create-as --diskspec=vda,snapshot=internal --diskspec=vdb,snapshot=no babybrighton test1 "semi external disk"
# result
error: unsupported configuration: disk 'vdb' must use snapshot mode 'internal'
还有许多类似的东西,但还没有找到任何有效的方法,或者即使这是可能的。
我需要在babybrighton 启动时可用/dev/vdb,所以我不能在登录babybrighton 后运行命令。
有什么简单的方法可以实现这一点吗?
如果没有,保持 /dev/vda* 同步以便我可以在需要时回滚的好方法是什么?
VirtualBox 能更好地处理这个问题吗?