描述
从vmware的虚拟机迁移到opensatck,由于vmware虚拟机磁盘类型采用的是scsi,要迁移到opensatck平台运行,发现虚拟机无法起来,原因是vmware虚拟机没有安装virtio驱动,所以迁移之前要确保虚拟机支持virtio和安装了virtio驱动。
前置条件
根据您服务器的操作系统,判断是否需要修复临时文件系统启用virtio驱动。
|
系统版本 |
说明 |
|
CentOS 6/7/8及以上版本、Ubuntu 12/14/16/18/20及以上版本、 Debian 7/8/9/10及以上版本、SUSE 11/12/15及以上版本 |
如果服务器操作系统如左侧所示,在导入自定义镜像时,openstack将会自动处理virtio驱动。 默认已安装virtio驱动的系统,但有时openstack image注入 |
步骤一:检查服务器内核是否支持virtio驱动
通过检查,发现源服务器内核支持virtio驱动,但是临时文件系统initramfs或者initrd中没有包含virtio驱动时,需要修复临时文件系统。以CentOS等为例。
1、运行grep -i virtio /boot/config-$(uname -r)检查当前操作系统的内核是否支持virtio驱动。
请检查CONFIG_VIRTIO_BLK和CONFIG_VIRTIO_NET这两个参数。
|
检查结果 |
说明 |
|
没有这两个参数 |
表示该操作系统没有安装virtio相关驱动,暂时不能直接导入openstack云平台。需要为您的服务器[ 编译安装virtio驱动] |
|
参数取值为m |
请执行下一步确认virtio驱动是否包含在临时文件系统initramfs或者initrd中 |
|
参数取值为y |
表示包含了virtio驱动,您可以直接导入自定义的镜像到openstack平台。[vmware虚拟机导入openstack] |
2、执行命令lsinitrd /boot/initramfs-$(uname -r).img | grep virtio确认virtio驱动是否包含在临时文件系统initramfs或者initrd中。
确认结果说明:
- 如上图所示,表示initramfs已经包含了virtio_blk驱动,以及其所依赖的virtio.ko、virtio_pci.ko和virtio_ring.ko,您可以直接导入到openstack
- 如果临时文件系统initramfs没有包含virtio驱动,则需要修复临时文件系统。具体操作,请参见步骤二:修复临时文件系统。
步骤二:修复临时文件系统
- CentOS/RedHat 8
- CentOS/RedHat 6/7
- CentOS/RedHat 5
- Debian/Ubuntu
检查virtio驱动的安装情况
如果任一命令输出virtio_blk、virtio_pci、virtio_console等文件列表,表明您已经正确安装了virtio驱动。
参考文献
2022 阿里云帮助中心

所有评论(0)