制作kvm镜像、格式转换

2018-12-25


制作kvm镜像(以centos 7 为例)

执行创建虚拟机命令

virt-install --name centos7_kvm --memory 1024 --vcpus=1 --disk /home/kvm/vm-disk/centos7_kvm.img,format=qcow2,size=20  --os-type=linux --os-variant=rhel7 --cdrom /home/kvm/vm-disk/CentOS-7-x86_64-Minimal-1804.iso --noautoconsole --vnc --vncport=5970 --vnclisten=0.0.0.0
virsh工具的相关选项说明
--name 虚拟机名称
--memory 内存大小
--vcpus= vcpu个数
--disk 创建硬盘 制定硬盘路径,格式,大小
--network 指定网络(可不加,默认虚拟机正在使用的虚拟网络)
--os-type 指定操作系统类型
--os-variant= 指定操作系统版本
--cdrom 指定光驱安装操作系统
--noautoconsosle 虚拟机创建完毕后不会自动切换tty
--vnc 使用vnc
--vncport vnc端口

创建完虚拟机之后,通过vnc连接虚拟机,完成系统的安装

系统安装完成之后,进入kvm镜像存储目录,本例目录为  /home/kvm/vm-disk/

cd /home/kvm/vm-disk/
virsh list --all   #查看所有kvm虚拟机

 Id    Name                           State
----------------------------------------------------
 1     centos7_kvm                running

此时虚拟机正在运行,之后查看kvm镜像信息

qemu-img  info centos7_kvm.img 

image: centos7_kvm.img
file format: qcow2
virtual size: 20G (21474836480 bytes)
disk size: 2.9G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: true

此时可以看出kvm镜像虚拟磁盘大小为20G,实际大小为2.9G

此时异地备份镜像,会发现镜像会按照20G大小传输,不利于我们拷贝镜像

此时可以考虑压缩镜像(只有qcow2和qcow格式的镜像文件才支持压缩)

由于我的kvm镜像是qcow2的格式,我不想改变格式,所以在-O qcow2 时候输出qcow2

qemu-img convert -c  -O qcow2 centos7_kvm.img new-centos7_kvm.img

  qemu-img info new-centos7_kvm.img


  image: new-centos7_kvm.img
  file format: qcow2
  virtual size: 20G (21474836480 bytes)
  disk size: 989M
  cluster_size: 65536
  Format specific information:
      compat: 1.1
      lazy refcounts: false

kvm镜像虚拟空间也可拓展(raw和qcow2都支持动态的调整磁盘大小,但是qcow2不支持缩减)

[root@localhost vm-disk]# qemu-img resize new-centos7_kvm.img +2G
Image resized.
[root@localhost vm-disk]# qemu-img  info new-centos7_kvm.img 
image: new-centos7_kvm.img
file format: qcow2
virtual size: 22G (23622320128 bytes)
disk size: 989M
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false

可见磁盘大小已经拓展(kvm镜像不建议缩减磁盘空间,防止原有数据被破坏而不自知

kvm镜像格式转换

qcow2转img格式

qemu-img convert -f qcow2 -O raw centos.qcow2  centos.img

vmdk转qcow2格式

qemu-img convert -f vmdk -O qcow2 centos.vmdk  centos.qcow2

其他格式之间相互转换均可参照以上命令转换

猜你喜欢

转载自www.cnblogs.com/fqxy/p/10173980.html