镜像"/>
KVM:将img文件转换成qcow2格式的镜像
将img文件转换成qcow2格式的镜像
- 前言
- 一、过程:
- 二、部署过程:
- 首先将虚机准备好:
- 接着将虚机硬盘文件转化为镜像文件:
- 转换的方式有两种:
- 转换为qcow2格式
- 清空未使用空间
- 启动虚机
前言
工作需求:
因为工作的需求我需要将linux操作系统的虚机进行频繁的拉起操作,但是如果每次都创建虚机——按照操作系统流程是比较麻烦的。
这种情况下我们就可以将虚机创建好,该安装的软件都安装好。这时将虚机文件转换成镜像,以后需要在拉起虚机的时候直接使用这个镜像来启动虚机,省时省力省心!
提示:以下是本篇文章正文内容,下面案例可供参考
一、过程:
- 首先,将需要频繁拉起来的虚机安装好,将需要软件都安装好;
- 接着,我们需要将这个虚机的硬盘文件转化成qcow2格式的文件;
- 最后,当我们的镜像转化完成之后就可以使用它来启动虚机了;
二、部署过程:
首先将虚机准备好:
创建ubuntu14.04系统的虚机
创建centos6.8系统的虚机
接着将虚机硬盘文件转化为镜像文件:
首先这里我们需要找到KVM虚机创建好之后生成的硬盘文件文件:
#ls /var/lib/libvirt/images/CentOS-6.8-x86_64.qcow2
这里我们可以查看一个现象,在虚机生成之后虚机的镜像大小和转换成镜像之后的大小;
#qemu-img info /var/lib/libvirt/images/CentOS-6.8-x86_64.qcow2
这里我们可以看到系统占用的大小是2.3G
其实虚机创建好之后,images镜像中的内容:系统文件+硬盘空间(未使用),
我们想把images转化为镜像然后再拉起虚机的话,就得想办法将他缩小,假如你的硬盘文件是40G做成镜像是40G,用着40G的镜像创建虚机,需要消耗的存储空间和创建时间都是不可预知的,这就太可怕了。
转换的方式有两种:
-
将image镜像转换为qcow2格式
-
在虚机中执行操作将未使用的空间干掉
转换为qcow2格式
首先将虚机关闭掉,因为shutdown没法使用所以使用destroy强制关闭
接着对虚机磁盘进行格式转换,然后查看磁盘大小
#qemu-img convert -c -O qcow2 /var/lib/libvirt/images/CentOS-6.8-x86_64.qcow2 /root/centos6.8-mim.qcow2
#qemu-img info /root/centos6.8-mim.qcow2
清空未使用空间
创建一个全零的文件将磁盘都占满,然后将文件删除达到释放空间的目的
#dd if=/dev/zero of=/null.dat
#rm -f /null.dat
注意,执行这个操作会用很长时间,而且非常消耗CPU资源,我自己执行的时候连ssh连接都断了,整个电脑会卡死在哪里,等了将近十分钟才好。
我当时给虚机的磁盘大小是5G,如果你给磁盘的空间非常大执行这个命令就需要小心了!!!
执行上面操作之后转化为qcow2格式的镜像信息
#qemu-img info /tmp/centos6.8-mim.qcow2
启动虚机
接着我们就将他当做是模板了,以后创建虚机的时候使用他就可以了。
使用define的方式创建虚机
使用virt-install的方式创建虚机
#virt-install --name centos6.8-mini --ram 1024 --vcpus=2 --disk path=/root/centos6.8-mim.qcow2 --network bridge=virbr0 --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel6 --force --import
通过virt-manager方式进入虚机查看
查看镜像的信息
更多推荐
KVM:将img文件转换成qcow2格式的镜像
发布评论