镜像制作之vmdk镜像转kvm镜像

准备vmware导出的ovf镜像

[root@localhost ~]# ll
total 3472056
-rw-------. 1 root root       1448 Sep 15 19:40 anaconda-ks.cfg
-rw-r--r--  1 root root 3488363008 Sep 18 02:10 Temp_Centos-disk1.vmdk

安装kvm虚拟化及virt-manager

[root@localhost ~]# yum install qemu-kvm qemu-kvm-tools libvirt qemu-kvm libvirt  bridge-utils virt-manager qemu-kvm-tools xorg-x11-xauth tigervnc-server vnc device-mapper-libs libguestfs-winsupport -y

windows系统镜像转换需安装驱动

[root@localhost ~]# rpm -ivh https://fedorapeople.org/groups/virt/virtio-win/repo/stable/virtio-win-0.1.171-1.noarch.rpm

创建kvm存储池(用来提供vmdk镜像存储) 

[root@localhost ~]# systemctl start libvirtd
[root@localhost ~]# mkdir -p /app/vmfs
[root@localhost ~]# virsh pool-define-as vmdisk --type dir --target /app/vmfs
Pool vmdisk defined

[root@localhost ~]# virsh pool-build vmdisk
Pool vmdisk built

[root@localhost ~]# virsh pool-autostart vmdisk
Pool vmdisk marked as autostarted

[root@localhost ~]# virsh pool-start vmdisk
Pool vmdisk started

使用virt-manager里的工具virt-v2v进行转换qcow2

[root@localhost ~]# virt-v2v -i disk Temp_Centos-disk1.vmdk -o libvirt -os vmdisk -of qcow2

注意:如果转换中途失败或者报错可以加参数-v -x看过程

[root@localhost ~]# virt-v2v -v -x -i disk Temp_Centos-disk1.vmdk -o libvirt -os vmdisk -of qcow2

 转换之前需关闭selinux,将其设置成disable

镜像制作之vmdk镜像转kvm镜像_第1张图片 转换后可以查看qcow2文件大小居然有12G。(原因是因为镜像空间有碎片,这里压缩一下就好了)

[root@localhost ~]# cd /app/vmfs/
[root@localhost vmfs]# du -lh Temp_Centos-disk1-sda
12G     Temp_Centos-disk1-sda

推荐virt-sparsify,它的磁盘碎片压缩比例可以达到95%以上,比qemu-img强太多

[root@localhost vmfs]# virt-sparsify --compres Temp_Centos-disk1-sda CentOS7.9-x86-KVM.qcow2

镜像制作之vmdk镜像转kvm镜像_第2张图片

 压缩后只有1.4G,至此整个vmware镜像转qcow2过程完成。

你可能感兴趣的:(centos,运维,centos,kvm)