kvm虚拟机快照管理

虚拟机快照

  • 查看虚拟机的格式(磁盘格式必须为qcow2)
[root@lwq kvm]#  qemu-img info /home/kvm/virtual-img/centos-lwq-1.qcow2 
image: /home/kvm/virtual-img/centos-lwq-1.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 1.2G
cluster_size: 65536
Snapshot list:
ID        TAG                 VM SIZE                DATE       VM CLOCK
1         init                      0 2021-03-29 17:58:52   00:00:00.000
2         statinit                  0 2021-03-29 18:02:06   00:00:00.000
3         centos-lwq-1.init111      0 2021-03-29 18:23:55   00:00:00.000
Format specific information:
    compat: 1.1
    lazy refcounts: false

  • 给指定虚拟机创建快照
[root@lwq kvm]# virsh snapshot-create-as centos-lwq-1 stat
已生成域快照 stat
  • 查看指定虚拟机的快照
[root@lwq kvm]# virsh snapshot-list  centos-lwq-1 
 名称               生成时间              状态
------------------------------------------------------------
 centos-lwq-1.init111 2021-03-29 18:23:55 +0800 shutoff
 init                 2021-03-29 17:58:51 +0800 shutoff
 stat                 2021-03-29 19:38:03 +0800 shutoff
 statinit             2021-03-29 18:02:06 +0800 shutoff
  • 恢复快照
[root@lwq kvm]# virsh snapshot-revert centos-lwq-1 --snapshotname stat
  • 删除快照
[root@lwq kvm]# virsh snapshot-delete centos-lwq-1 --snapshotname stat
已删除域快照 stat

脚本

#!/bin/bash
## 添加快照
## zy.小强

snap_create(){
while :
do
    disk_home=/home/kvm/virtual-img/
    
    
    virsh list --all
    read -p "请输入你要创建快照的虚拟机: " vm_name
    virsh list --all | grep  $vm_name &>/dev/null
    if [ $? -eq 0  ];then
    	stat=`virsh list --all | grep $vm_name | awk   '{print $3}'`
    	echo "当前虚拟机状态为$stat"
    	read -p "是否继续创建快照[y/n]" option	
    	case $option in
    	y|Y)
    		read -p "请输入快照的名字: " snap
    		echo "正在创建快照"
    		disk_type=`qemu-img info ${disk_home}${vm_name}.qcow2 | awk -F ":[ ]" 'NR==2 {print $2}'`
    
    			if [ "$disk_type"  =  "qcow2"  ];then
    				
    				virsh snapshot-create-as  $vm_name  $snap
    				virsh snapshot-list $vm_name
    				if [ $? -eq 0  ];then
    					echo "创建成功"
    					
    				else
    					echo "创建失败"
    					break
    			
    				fi
    			else
    				echo "类型不支持,正在退出!!!"
    				break			
    
    			fi
    	;;
    
    
    	n|N)
    		break
    	;;
    
    
    	*)
    		break
    	;;
    	esac
    else 
    	echo "虚拟机不存在,请重新输入!"
    		
    	continue
    fi
done
}

snap_delete(){
	
     virsh list --all
    read -p "请输入删除快照的虚拟机: " vm_name
	virsh snapshot-list $vm_name 
	read -p "请输入删除快照的虚拟机: " vm_snap
	virsh snapshot-delete $vm_name --snapshotname $vm_snap
	virsh snapshot-list $vm_name



    


    
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值