KVM虚拟机克隆及快照管理

  一,克隆

  查看虚拟机硬盘位置(其中centos1为虚拟机名称)

virsh edit centos1

  克隆(centos1为需要克隆的虚拟机名称centos2为克隆后的虚拟机名称CentOS2.qcow2位克隆后的虚拟机硬盘位置)

virt-clone -o centos1 -n centos2 -f /opt/CentOS2.qcow2

  如果没有命令则使用以下方式安装

yum -y install virt-clone

  

  验证

 virsh list --all

  

  二,快照

  查看快照(其中centos1为虚拟机名称)

  注意:kvm虚拟机生成快照之后不支持域重命名,需要删除所有快照之后才能重命名

virsh snapshot-list centos1

  生成快照

virsh snapshot-create centos1

  默认生成快照是以时间戳命名

  指定生成快照的名称

virsh snapshot-create-as centos1 centos1_20180411

  恢复快照(centos1为虚拟机名称后面为快照名)

virsh snapshot-revert centos1 1523413746

  删除快照

virsh snapshot-delete centos1 1523413080

  写一个脚本做定时任务,定时生成快照和删除时间较长的的历史快照

# filename: kvm_snapshot.sh
# author:Liuym
# time: 2023-11-10
# kvm快照备份和删除时间较长快照
TimeStamp=`/usr/bin/date +%s`
kvm_list=`virsh list --all|sed -n '3,$p' |awk '{print $2}'`
for i in ${kvm_list}
    do
        # 生成快照
        /usr/bin/virsh snapshot-create $i
        # 删除旧的快照604800为七天
        for n in `/usr/bin/virsh snapshot-list $i|sed -n '3,$p'|awk '{print $1}'`
            do
                result=$(( ${TimeStamp} - ${n}))
                if [ ${result} -gt 604800 ]
                    then
                        /usr/bin/virsh snapshot-delete $i $n
                fi
            done

    done

  2024-02-04补充

  虚拟机创建快照为给当前虚拟机的所有盘创建快照包括系统盘和挂载在该虚拟机的数据盘

  2024-03-13补充

  如果虚拟机有接磁盘则克隆会报以下错误

ERROR    丢失设备的源代码信息 hdb

 

  可增加参数--auto-clone带扩展磁盘一起克隆

 

virt-clone -o CentOS7Es02003060 -n CentOS7Es01003059 -f /kvm/CentOS7Es01003059.qcow2 --auto-clone

 

  

 

posted @ 2018-04-11 10:37  minseo  阅读(234)  评论(0编辑  收藏  举报