前面学习了kvm虚拟化的一些基础操作,本节整理一下kvm快照、扩容等等相关的内容。
快照管理相关命令:
$ virsh snapshot-
snapshot-create snapshot-current snapshot-dumpxml snapshot-info snapshot-parent
snapshot-create-as snapshot-delete snapshot-edit snapshot-list snapshot-revert
$ virsh snapshot-create vm01
已生成域快照 1552808803 (速度很快)
创建完快照后可以通过以下命令查看虚拟硬盘的信息:
$ qemu-img info /kvm_data/vm01.img
image: /kvm_data/vm01.img
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 1.3G
cluster_size: 65536
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 1552808803 0 2019-03-17 15:46:43 00:00:00.000
Format specific information:
compat: 1.1
lazy refcounts: true
注意,此处可以查看到快照的相关信息。
虚拟磁盘常用格式:raw、qcow2
虚拟机默认磁盘格式为qcow2——支持创建快照;还有一种格式——raw,不支持创建快照。
$ virsh list --all
Id 名称 状态
----------------------------------------------------
- vm01 关闭
- vm02 关闭
更换vm02的磁盘格式,首先在执行操作之前需要先关闭虚拟机。
vim /etc/libvirt/qemu/vm02.xml
,好处是该命令本身可以对更改后的文件进行语法检测,类似于 visudo
。$ qemu-img resize /kvm_data/vm02_1.raw +2G
$ ls -lh
总用量 4.0G
-rw------- 1 root root 11G 3月 23 08:22 vm01.img
-rw-r--r-- 1 root root 12G 3月 23 08:24 vm02_1.raw
-rw------- 1 root root 1.4G 3月 17 16:24 vm02.img
$ qemu-img info vm02_1.raw
image: vm02_1.raw
file format: raw
virtual size: 12G (12884901888 bytes)
disk size: 1.3G
磁盘扩容后只有在宿主机重启该虚拟机后才可以生效。
注意: 此时新增加的2G并没有被利用,需要对新加的2G重新分区才可以(新增一个分区,分配2G空间,不损坏之前已有分区)。
由上可知,该办法并不是很友好,于是,采用另外一个办法——额外增加磁盘,也可以达到扩容的目的,如下:
同样该方法比较不友好,可以通过重新添加虚拟磁盘的方法(同raw格式)达到扩容的目的!
$ qemu-img create -f qcow2 /kvm_data/vm01_1.qcow 5G
$ virsh edit vm01
<disk...>
...
<source ...file=..>
<target ...dev=..>
<address ...slot=..>
</disk>
重启vm01,并对新磁盘进行格式化、分区、挂载。
以上动态调整如果要永久生效,最好保存到配置文件中:
$ virsh dumpxml vm01 > /etc/libvirt/qemu/vm01.xml
Note: 只有在创建虚拟机的时候指定了虚拟机最大内存、最大CPU数量才能对其进行动态调整,且不能超出最大值。
迁移,即将虚拟机的配置文件(.xml)和数据文件(.img)从A机器拷贝到B机器。
迁移之前需要先停止虚拟机!
本次试验在同一台机器进行!
迁移完成!
(adsbygoogle = window.adsbygoogle || []).push({});