示例:
virt-clone --connect=qemu:///system -o winxp_sp3_00 -n winxp_sp3_03 -f /opt/vme/winxp_sp3/winxp_sp3_03.updated.qcow2
我有一个新的域名winxp_sp3_03,其中qcow2克隆了快照:
qemu-img info winxp_sp3_03.updated.qcow2
image: winxp_sp3_03.updated.qcow2
file format: qcow2
virtual size: 80G (85899345920 bytes)
disk size: 8.2G
cluster_size: 65536
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 winxpsp3_basic 0 2017-04-14 23:44:14 00:00:00.000
2 winxpsp3_pajno 0 2017-04-16 02:12:27 00:00:00.000
Format specific information:
compat: 1.1
lazy refcounts: false
但是virsh没有显示快照:
virsh snapshot-list winxp_sp3_03
Name Creation Time State
------------------------------------------------------------
让virsh识别这些快照的安全方法是什么?
THX
答案 0 :(得分:1)
virt-clone
从qcow2文件中删除某些元数据。如果使用virt-clone
克隆vm,则会从磁盘文件中删除snapshot tags
的元数据,因此您无法使用redefine
定义xml
快照来自消息来源。好吧,从技术上讲,你可以,但他们只会指出重新定义快照时vm的状态。快照将显示在计算机上,但在恢复后您将无法看到实际的预期快照。
在与qemu
进行了几天的摔跤并浏览了数百页的文档后,我提出了以下方法:
我们需要xml定义来定义目标vm。让我们使用virt-clone
生成xml定义。
virt-clone --original $Source_VM_Name --name $Destination_VM_Name --file /var/lib/libvirt/images/$Destination_VM_Name.qcow2 --print-xml > $Destination_VM_Name.xml
上面的命令只生成一个xml定义而没有实际克隆vm。
使用Linux cp
命令复制qcow2磁盘。调整命令以指向系统上正确的磁盘文件。
cp $Source_VM_Name.qcow2 $Destination_VM_Name.qcow2
现在您必须重置目标磁盘文件的配置:
virt-sysprep -a $Destination_VM_Name.qcow2
请注意,您可能需要使用sudo
作为上述命令,具体取决于您的配置。此命令重置UUID,MAC地址和其他需要在目标虚拟机中重置的元素。
我们将使用步骤文件中生成的xml文件,以便使用virsh命令定义目标计算机:
virsh define $Destination_VM_Name.xml
我们现在有一个功能VM,我们需要在此步骤从源vm导出快照定义。
virsh snapshot-list $Source_VM_Name --tree
此命令将列出源VM的快照。
对于此树中列出的每个快照:
virsh snapshot-dumpxml $Source_VM_Name $Snapshot_Name --security-info > Snapshot_Name.xml
我们需要更改快照xml定义中的UUID和域名。
nano Snapshost_Name.xml
更改
<domain type='kvm'>
<name>$Source_VM_Name</name>
<uuid>$Source_UUID<uuid>
到
<domain type='kvm'>
<name>$Destination_VM_Name</name>
<uuid>$Destination_UUID<uuid>
同时将MAC地址字段更改为目标MAC地址:
<mac address='$Destination_MACADDRESS'/>
并将后备磁盘文件更改为目标磁盘文件:
<source file='/var/lib/libvirt/images/$Destination_VM_Name.qcow2'/>
现在重新定义克隆VM的每个快照。
virsh snapshot-create $Destination_VM Snapshot_Name.xml --redefine
请注意,重新定义快照的顺序很重要,某些快照可能是其他人的快照。从树的根部开始到树叶。
如果您正在使用virt-manager,请关闭它,再次打开,您应该看到快照。
答案 1 :(得分:0)
virsh snapshot-list winxp_sp3_10l_sc_99
virsh snapshot-dumpxml winxp_sp3_10l_sc_99 1497601133&gt; snapshot.xml
- 根据转储的snapshot.xml创建快照
virsh snapshot-create --domain winxp_sp3_10l_sc_01 snapshot.xml