准备虚拟机镜像
概述
虚拟机镜像是一个文件,包含了已经完成安装并且可启动操作系统的虚拟磁盘。虚拟机镜像具有不同格式,常见的有raw格式和qcow2格式。qcow2格式镜像相比raw格式,具有占用更小的空间,支持快照、Copy-On-Write、AES加密、zlib压缩等特性,但性能略逊于raw格式镜像。镜像文件的制作借助于qemu-img工具,本节以qcow2格式镜像文件为例,介绍虚拟机镜像制作过程。
制作镜像
制作qcow2格式镜像文件的操作步骤如下:
安装qemu-img软件包。
# yum install -y qemu-img
使用qemu-img工具的create命令,创建镜像文件,命令格式为:
$ qemu-img create -f <imgFormat> -o <fileOption> <fileName> <diskSize>
其中,各参数含义如下:
- imgFormat:镜像格式,取值为raw, qcow2等。
- fileOption:文件选项,用于设置镜像文件的特性,如指定后端镜像文件,压缩,加密等特性。
- f__ileName:文件名称。
- diskSize:磁盘大小,用于指定块磁盘设备的大小,支持的单位有K、M、G、T,分别代表KiB、MiB、GiB、TiB。
例如,创建一个磁盘设备大小为4GB、格式为qcow2的镜像文件openEuler-imge.qcow2,命令和回显如下:
$ qemu-img create -f qcow2 openEuler-image.qcow2 4G
Formatting 'openEuler-image.qcow2', fmt=qcow2 size=4294967296 cluster_size=65536 lazy_refcounts=off refcount_bits=16
修改镜像磁盘空间大小
当虚拟机需要更大的磁盘空间时,可以使用qemu-img工具,修改虚拟机镜像磁盘空间的大小,修改方法如下。
查询当前虚拟机镜像磁盘空间大小,命令如下:
# qemu-img info <imgFiLeName>
例如,查询openEuler-image.qcow2镜像磁盘空间大小的命令和回显如下,说明该镜像磁盘空间大小为4GiB。
# qemu-img info openEuler-image.qcow2
image: openEuler-image.qcow2
file format: qcow2
virtual size: 4.0G (4294967296 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false
修改镜像磁盘空间大小,命令如下,其中imgFiLeName为镜像名称,“+”和“-”分别表示需要增加或减小的镜像磁盘空间大小,单位为K、M、G、T,代表KiB、MiB、GiB、TiB。
# qemu-img resize <imgFiLeName> [+|-]<size>
例如,将上述openEuler-image.qcow2镜像磁盘空间大小扩展到24GiB,即在原来4GiB基础上增加20GiB,命令和回显如下:
# qemu-img resize openEuler-image.qcow2 +20G
Image resized.
查询修改后的镜像磁盘空间大小,确认是否修改成功,命令如下:
# qemu-img info <imgFiLeName>
例如,上述openEuler-image.qcow2镜像磁盘空间已扩展到24GiB,命令和回显如下:
# qemu-img info openEuler-image.qcow2
image: openEuler-image.qcow2
file format: qcow2
virtual size: 24G (25769803776 bytes)
disk size: 200K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false