VMDK转QCOW2镜像操作指南.docx
- 文档编号:8922240
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:14
- 大小:528.20KB
VMDK转QCOW2镜像操作指南.docx
《VMDK转QCOW2镜像操作指南.docx》由会员分享,可在线阅读,更多相关《VMDK转QCOW2镜像操作指南.docx(14页珍藏版)》请在冰豆网上搜索。
VMDK转QCOW2镜像操作指南
VMDK转QCOW2镜像操作指南
准备工作,vmdk转换为qcow2
1.如果导出为单个ova文件,则解压ova文件,tartvfxxx.ova;
如果为ovf+vmdk文件,则无需解压
2.qemu-imgconvert-Oqcow2CentOS64bit-v7.0-disk1.vmdkCentOS64.qcow2转换镜像文件
一、安装KVM
安装CentOS7.5版本系统,OS镜像CentOS-7-x86_64-Everything-1804.iso,选择GNOME图形化桌面模式安装,配置可上Internet网,如不能上网,则需挂载本地ISOyum源,后续安装组件需要
1、验证CPU是否支持KVM;如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的。
egrep'(vmx|svm)'/proc/cpuinfo
2、关闭SELinux,将 /etc/sysconfig/selinux 中的 SELinux=enforcing 修改为 SELinux=disabled
3、最小安装的CentOS安装一些最基本的包(可选项,因为我是刚安装好的CentOS,所以为了下面方便点,先把一些必要的工具安装下)
yuminstallepel-releasenet-toolsvimunzipzipwgetftp-y
4、安装KVM及其依赖项,及其图形化管理virt-manager
yuminstallqemu-kvmlibvirtvirt-installbridge-utilsvirt-manager-y
5、验证安装结果
lsmod|grepkvm
6、开启kvm服务,并且设置其开机自动启动systemctlstartlibvirtdsystemctlenablelibvirtd
7、查看状态操作结果,如下图所示,说明运行情况良好
systemctlstatuslibvirtd
systemctlis-enabledlibvirtd
8、配置网桥模式,先将 /etc/sysconfig/network-scripts/ 目录下的网卡配置文件备份一份(不要备在当前目录以及子目录下,其他目录随意)
a.创建 ifcfg-br0 文件
内容如下:
BOOTPROTO=static
DEVICE=br0
TYPE=Bridge
NM_CONTROLLED=no
IPADDR=192.168.1.95
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=61.177.7.1
DNS2=8.8.8.8
b.移除掉原来的 ifcfg-enp0s25 ,重新创建该文件,内容如下:
BOOTPROTO=none
DEVICE=enp0s25
NM_CONTROLLED=no
ONBOOT=yes
BRIDGE=br0
c.重启网络服务
systemctlrestartnetwork
9.关闭防火墙
systemctldisablefirewalld.service
systemctlstopfirewalld.service
二、安装虚拟机 ,制作镜像
1.打开virt-manager图形化工具
命令界面输入virt-manager,或者图形化界面Application->SystemTools->VirtualMachineManager
2.选择导入存在的磁盘镜像
3.选择qcow2文件
4.网络选择Briderbr0,虚拟机通过网桥进行通信;
注意现在的Storage,后续生成的qcow2文件就在此处
5.安装过程中,会报下面错误,由于缺少virto驱动,导致磁盘认不到,需要安装virtio相关驱动。
【如virtio模式下,可以启动成功,则该qcow2文件可以不装驱动,跳到第10步实施后续配置】
6.先通过IDE磁盘驱动方式启动
点击虚拟机详情->IDEDISK1->DISKBUS选择"IDE",重新启动虚拟机,可以正常启动
7.启动后,挂载磁盘,点击虚拟机详情->IDECDROM1->选择ISO镜像
8.启动系统后,禁止selinux【CentOS需要禁用】
关闭SELinux,将 /etc/sysconfig/selinux 中的 SELinux=enforcing 修为 SELinux=disabled
9.virtio驱动安装
网上由很多教程可以学习【可以用阿里云或者华为教程,第9小结引自阿里社区】【根据操作系统类型实施方式不同,如下实施方式适用于Ubuntu部分系统;验证下来Ubuntu14.04.5自带virtio驱动,无需安装驱动,可直接转换做为Openstack镜像使用】
需要安装virtio驱动的镜像
需要在导入镜像之前,为源服务器安装virtio驱动。
检查服务器内核是否支持virtio驱动
1.运行grep-ivirtio/boot/config-$(uname-r)检查当前操作系统的内核是否支持virtio驱动。
说明:
○如果在输出信息中没有找到VIRTIO_BLK及VIRTIO_NET的信息,表示该操作系统没有安装virtio相关驱动,需要为您的服务器编译安装virtio驱动。
○如果参数CONFIG_VIRTIO_BLK及CONFIG_VIRTIO_NET取值为y,表示包含了virtio驱动,可以直接跳到第10步
○如果参数CONFIG_VIRTIO_BLK及CONFIG_VIRTIO_NET取值为m,需要进入第2步。
执行命令lsinitrd/boot/initramfs-$(uname-r).img|grepvirtio确认virtio驱动是否包含在临时文件系统initramfs或者initrd中。
说明:
○截图表明,initramfs已经包含了virtio_blk驱动,以及其所依赖的virtio.ko、virtio_pci.ko和virtio_ring.ko,可以直接导入到glance镜像中
○如果临时文件系统initramfs没有包含virtio驱动,则需要修复临时文件系统。
修复临时文件系统
通过检查,发现源服务器内核支持virtio驱动,但是临时文件系统initramfs或者initrd中没有包含virtio驱动时,需要修复临时文件系统。
以CentOS等为例。
•CentOS/RedHat5
mkinitrd-f--allow-missing\
--with=xen-vbd--preload=xen-vbd\
--with=xen-platform-pci--preload=xen-platform-pci\
--with=virtio_blk--preload=virtio_blk\
--with=virtio_pci--preload=virtio_pci\
--with=virtio_console--preload=virtio_console\
•CentOS/RedHat6/7
mkinitrd-f--allow-missing\
--with=xen-blkfront--preload=xen-blkfront\
--with=virtio_blk--preload=virtio_blk\
--with=virtio_pci--preload=virtio_pci\
--with=virtio_console--preload=virtio_console\
/boot/initramfs-$(uname-r).img$(uname-r)
•Debian/Ubuntu
echo-e'xen-blkfront\nvirtio_blk\nvirtio_pci\nvirtio_console'>>\
/etc/initramfs-tools/modules
mkinitramfs-o/boot/initrd.img-$(uname-r)"
编译安装virtio驱动
此处以Centos服务器为例,为您示范如何编译安装virtio驱动。
下载内核安装包
•运行yuminstall-yncurses-develgccmakewget安装编译内核的必要组件。
•运行uname-r查询当前系统使用的内核版本,如示例中的4.4.24-2.a17.x86_64。
•前往Linux内核列表页面下载对应的内核版本源码,如示例中的4.4.24开头的linux-4.4.24.tar.gz的网址为https:
//www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.24.tar.gz。
•运行cd/usr/src/切换目录。
•运行wgethttps:
//www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.24.tar.gz下载安装包。
•运行tar-xzflinux-4.4.24.tar.gz解压安装包。
•运行ln-slinux-4.4.24linux建立链接。
•运行cd/usr/src/linux切换目录。
编译内核
•依次运行以下命令编译内核。
makemrproper
symvers_path=$(find/usr/src/-name"Module.symvers")
test-f$symvers_path&&cp$symvers_path.
cp/boot/config-$(uname-r)./.config
makemenuconfig
•出现以下界面时,开始打开virtio相关配置:
说明选*配置表示编译到内核,选m配置表示编译为模块。
a.使用空格勾选Virtualization项。
确认是否勾选了KVM(Kernel-basedVirtualMachine)选项。
Processortypeandfeatures --->
[]Paravirtualizedguestsupport--->
---Paravirtualizedguestsupport
(128)Maximumallowedsizeofadomainingigabytes
[]KVMparavirtualizedclock
[]KVMGuestsupport
DeviceDrivers--->
[]Blockdevices--->
--Networkdevicesupport--->
b.按下Esc键退出内核配置界面并根据弹窗提示保存.config文件。
c.检查virtio相关配置是否已经正确配置。
d.若检查后发现暂未设置virtio相关配置,运行以下命令手动编辑.config文件。
makeoldconfig
makeprepare
makescripts
make
makeinstall
e.运行以下命令查看virtio驱动的安装情况。
find/lib/modules/"$(uname-r)"/-name"virtio."|grep-E"virtio."
grep-E"virtio."
说明如果任一命令输出virtio_blk、virtio_pci.virtio_console等文件列表,表明您已经正确安装了virtio驱动。
10.系统启动后,一系列配置(Centos为例)
关闭防火墙
编辑Linux操作系统的网卡配置文件
a.整行清除HWADDR配置项。
b.整行清除UUID配置项。
c.将NM_CONTROLLED配置项的取值由yes改为no。
d.将BOOTPROTO配置项的取值配置为dhcp
启用Linux操作系统的SSH服务。
a.使用以下命令启用Linux操作系统的SSH服务。
[root@localhost~]#chkconfigsshdon
b.重启虚拟机。
c.使用以下命令检查SSH服务的状态,如图2-29所示。
[root@localhost~]#servicesshdstatus
清除Linux操作系统的NetworkPersistenceRules。
a.使用以下命令清除70-persistent-net.rules中的内容。
[root@localhost~]#echo>/etc/udev/rules.d/70-persistent-net.rules
b.使用以下命令清除75-persistent-net-generator.rules中的内容。
[root@localhost~]#echo>/lib/udev/rules.d/75-persistent-net-generator.rules
正常关闭Linux系统。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VMDK QCOW2 操作 指南