kvm snapshot 迁移

原创: https://blog.csdn.net/ndzjx/article/details/128967893


kvm snapshot 迁移。

https://dev.to/mediocredevops/cloning-kvm-snapshots-1paj
1.
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
    virt-clone --original win7 --name win7-1 --file /var/lib/libvirt/images/win7-1.qcow2 --print-xml > win7-1.xml
2. 
cp --progress  /var/lib/libvirt/images/centos8.qcow2 /var/lib/libvirt/images/centos8-mig.qcow2
    cp win7.qcow2 win71.qcow2
3.
virt-sysprep -a $Destination_VM_Name.qcow2
    virt-sysprep -a win71.qcow2
4. 
virsh define $Destination_VM_Name.xml
    virsh define win7-1.xml
5.
virsh snapshot-list $Source_VM_Name --tree
virsh snapshot-dumpxml $Source_VM_Name $Snapshot_Name --security-info > Snapshot_Name.xml
virsh snapshot-list $Source_VM_Name |sed -e '1,2d' -e '/^$/d'|cut -d' ' -f2| while read -r line; do virsh snapshot-dumpxml $Source_VM_Name --snapshotname $line --security-info > "${line}.xml" ;done
    virsh snapshot-dumpxml win7 snapshot1 --security-info > snapshot1.xml
6.
    <name>$Source_VM_Name</name>
    <uuid>$Source_UUID<uuid>
    <source file='/var/lib/libvirt/images/$Source_VM_Name.qcow2'/>
to
    <name>$Destination_VM_Name</name>
    <uuid>$Destination_UUID<uuid>
    <source file='/var/lib/libvirt/images/$Destination_VM_Name.qcow2'/>
7.
virsh snapshot-create $Destination_VM Snapshot_Name.xml --redefine
    virsh snapshot-create win7-1 snapshot1.xml --redefine

做成自动化脚本就是:

#!/usr/bin/env bash

#################################################
#### Ensure we are in the right path. ###########
#################################################
if [[ 0 -eq `echo $0 | grep -c '^/'` ]]; then
    # relative path
    EXEC_PATH=$(dirname "`pwd`/$0")
else
    # absolute path
    EXEC_PATH=$(dirname "$0")
fi

EXEC_PATH=$(echo ${EXEC_PATH} | sed 's@/\./@/@g' | sed 's@/\.*$@@')
cd $EXEC_PATH || exit 1
#################################################

export PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }'

virt-clone --original win7 --name win7-1 --file /var/lib/libvirt/images/win7-1.qcow2 --print-xml > win7-1.xml
cp win7.qcow2 win71.qcow2
virt-sysprep -a win71.qcow2
virsh define win7-1.xml
virsh snapshot-dumpxml win7 snapshot1 --security-info > snapshot1.xml


#echo "src-domain:$1"
#echo "dst-domain:$2"
#echo "dst-template:$3"
#echo "src-qcow2:$4"
#echo "dst-qcow2:$5"
#echo "dst-file:$6"

dstuuid=`sed -n "/<uuid>.*<\/uuid>/p" win7-1.xml | sed -n '1,1p' | sed 's/^[][ ]*//g' |sed -r "s/<uuid>(.*)<\/uuid>/\1/g"`d>/\1/g"`
sed -i "s/<uuid>.*<\/uuid>/<uuid>$dstuuid<\/uuid>/g" snapshot1.xml 
sed -i "s/<name>win7<\/name>/<name>win7-1<\/name>/g" snapshot1.xml
sed -i "s/win7.qcow2/win71.qcow2/g" snapshot1.xml

virsh snapshot-create win7-1 snapshot1.xml --redefine

重新开关一下virt-manager即可看到并使用了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值