
KVM快照命令
1.快照命令基础使用
1.查看磁盘格式raw格式需要转换成qcow2
[root@kvm-node1 ~]# qemu-img info /data/centos7u4-node1.raw image: /data/centos7u4-node1.raw file format: raw virtual size: 10G (10737418240 bytes) disk size: 1.2G cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false2.必须关闭虚拟机进行磁盘转换
[root@kvm-node1 ~]# virsh shutdown centos7u4-node1 [root@kvm-node1 ~]# qemu-img convert -f raw /data/centos7u4-node1.raw -O qcow2 /data/centos7u4-node1.qcow2 //convert 将磁盘文件转换为指定格式的文件 //-f 指定需要转换文件的文件格式 //-O 指定要转换的目标格式 //转换完成后,将新生产一个目标映像文件,原文件保存3.修改KVM虚拟机配置文件配置文件
[root@kvm-node1 ~]# virsh edit centos7u4-node1 <driver name='qemu' type='qcow2'/> <source file='/data/centos7u4-node1.qcow2'/>4.对虚拟机当前进行快照拍摄
[root@kvm-node1 ~]# virsh snapshot-create centos7u4-node1 Domain snapshot 1523494907 created5.查看虚拟机快照
[root@kvm-node1 ~]# virsh snapshot-list centos7u4-node1 Name Creation Time State ------------------------------------------------------------ 1523494907 2018-04-11 21:01:47 -0400 running //检查当前虚拟机最新快照版本 [root@kvm-node1 ~]# virsh snapshot-current centos7u4-node1|less //快照xml文件存放路径 [root@kvm-node1 ~]# ls /var/lib/libvirt/qemu/snapshot/centos7u4-node1/ 1523494907.xml 1523495036.xml6.恢复快照
[root@kvm-node1 ~]# virsh snapshot-revert centos7u4-node1 1523494907 //确认恢复版本正确 [root@kvm-node1 ~]# virsh snapshot-current centos7u4-node1|grep "1523494907" <name>1523494907</name> <creationTime>1523494907</creationTime>7.删除快照
[root@kvm-node1 ~]# qemu-img info /data/centos7u4-node1.qcow2 image: /data/centos7u4-node1.qcow2 file format: qcow2 virtual size: 10G (10737418240 bytes) disk size: 1.8G cluster_size: 65536 Snapshot list: ID TAG VM SIZE DATE VM CLOCK 1 1523494907 282M 2018-04-11 21:01:48 00:16:25.489 2 1523495036 282M 2018-04-11 21:03:56 00:18:29.210 Format specific information: compat: 1.1 lazy refcounts: false //删除最近一个快照 [root@kvm-node1 ~]# virsh snapshot-delete centos7u4-node1 1523495036 Domain snapshot 1523495036 deleted
2.生产环境中使用虚拟机快照
生产环境中虚拟机的快照使用非常广泛,比如需要对虚拟机更新应用或者是升级,但不确定操作是否对虚拟机造成很大的影响的时候可以创建快照,记录虚拟机操作前的状态,如果更新或升级出现问题,可以快速回退到操作前的状态,特别注意:快照不是备份工具。
kvm的快照管理
创建快照 [root@kvm]# virsh snapshot-create centos7 查看快照 [root@kvm]# virsh snapshot-list centos7 还原快照 [root@kvm]# virsh snapshot-revert centos7 --snapshotname 1516574134 删除快照 [root@kvm]# virsh snapshot-delete centos7 --snapshotname 1516636570raw不支持做快照,qcow2支持快照,并且快照就保存在qcow2的磁盘文件中
1.挂起虚拟机,开始做快照
[root@kvm01 opt]# virsh list --all Id Name State ---------------------------------------------------- 1 centos7.4 running [root@kvm01 opt]# virsh suspend centos7.4 Domain centos7.4 suspended [root@kvm01 opt]# virsh list --all Id Name State ---------------------------------------------------- 1 centos7.4 paused [root@kvm01 opt]# virsh snapshot-create centos7.4 Domain snapshot 1551105669 created [root@kvm01 opt]# virsh snapshot-list centos7.4 Name Creation Time State ------------------------------------------------------------ 1551105669 2019-02-25 22:41:09 +0800 paused //name 1551105669 为UNIX timestamp时间戳 可以转换为北京时间2.KVM快照具体操作步骤
第1步,使用命令“virsh start win7-02”为虚拟机创建第1个快照。root@kvm-server:/home/admin# virsh snapshot-create win7-02 Domain snapshot 1542544562 created第2步,使用命令“virsh snapshot-list win7-02”查看虚拟机win7-02快照情况,注意Name是快照唯一的编号。
root@kvm-server:/home/admin# virsh snapshot-list win7-02 Name Creation Time State 1542544562 2018-11-18 12:36:02 +0000 running第3步,使用命令“virsh snapshot-current win7-02”查看快照文件信息。
root@kvm-server:/home/admin# virsh snapshot-current win7-02 <domainsnapshot> <name>1542544562</name> <state>running</state> <creationTime>1542544562</creationTime> <memory snapshot='internal'/> <disks> <disk name='hda' snapshot='internal'/> <disk name='hdb' snapshot='no'/> </disks> <domain type='kvm'> <name>win7-02</name> <uuid>27e0e8ed-2c9c-4c3f-8b18-9a88790d8737</uuid> <memory unit='KiB'>4194304</memory> <currentMemory unit='KiB'>4194304</currentMemory> <vcpu placement='static'>4</vcpu> <resource> <partition>/machine</partition> </resource> ……(省略) </cookie> </domainsnapshot>第4步,测试快照功能是否正常,使用vnc viewer工具连接到虚拟机win7-02虚拟机操作复制桌面文件夹,做一些改变。
第5步,使用命令“virsh snapshot-revert win7-02 1542544562”恢复虚拟机快照,注意编号的唯一性,执行恢复快照操作虚拟机会重新启动。
root@kvm-server:/home/admin# virsh snapshot-revert win7-02 1542544562第6步,使用vnc viewer工具连接到虚拟机win7-02,虚拟机已经恢复到操作之前的状态。
第7步,一台虚拟机可以创建多个快照,使用命令“virsh snapshot- create win7-02”再次创建快照。
root@kvm-server:/home/admin# virsh snapshot-create win7-02 Domain snapshot 1542544831 created第8步,使用命令“virsh snapshot-list win7-02”查看虚拟机win7-02快照情况,目前虚拟机有2个快照,注意Name是快照唯一的编号。
root@kvm-server:/home/admin# virsh snapshot-list win7-02 Name Creation Time State 1542544562 2018-11-18 12:36:02 +0000 running 1542544831 2018-11-18 12:40:31 +0000 running第9步,使用命令“virsh snapshot-delete win7-02 1542544562”删除快照。
root@kvm-server:/home/admin# virsh snapshot-delete win7-02 1542544562 Domain snapshot 1542544562 deleted第10步,使用命令“virsh snapshot-list win7-02”查看虚拟机win7-02删除快照后情况,虚拟机只存在编号为1542544831的快照。
root@kvm-server:/home/admin# virsh snapshot-list win7-02 Name Creation Time State 1542544831 2018-11-18 12:40:31 +0000 running使用virsh命令对虚拟机进行快照操作相对简单,可以在开机状态下进行,需要注意的是,恢复快照虚拟机会重新启动,快照不是备份工具,虚拟机过多的快照可能导致运行缓慢甚至是无法启动。