[vmware to openstack] 安装virtio驱动
2022/3/30 7:20:02
本文主要是介绍[vmware to openstack] 安装virtio驱动,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
描述
从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注入hw_scsi_mode=virtio-scsi hw_disk_bus=scsi 元数据不生效,需要注意步骤二: 修复临时文件系统。 |
步骤一:检查服务器内核是否支持virtio驱动
通过检查,发现源服务器内核支持virtio驱动,但是临时文件系统initramfs或者initrd中没有包含virtio驱动时,需要修复临时文件系统。以CentOS等为例。
1、运行grep -i virtio /boot/config-$(uname -r)检查当前操作系统的内核是否支持virtio驱动。
$ grep -i virtio /boot/config-$(uname -r) CONFIG_VIRTIO_BLK=m CONFIG_SCSI_VIRTIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_CONSOLE=m CONFIG_HW_RANDOM_VIRTIO=m CONFIG_VIRTIO=m # Virtio drivers CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_BALLOON=m # CONFIG_VIRTIO_MMIO is not set
请检查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中。
$ lsinitrd /boot/initramfs-$(uname -r).img | grep virtio -rw-r--r-- 1 root root 7880 Sep 14 2019 usr/lib/modules/3.10.0-1062.1.1.el7.x86_64/kernel/drivers/block/virtio_blk.ko.xz -rw-r--r-- 1 root root 14324 Sep 14 2019 usr/lib/modules/3.10.0-1062.1.1.el7.x86_64/kernel/drivers/net/virtio_net.ko.xz -rw-r--r-- 1 root root 8180 Sep 14 2019 usr/lib/modules/3.10.0-1062.1.1.el7.x86_64/kernel/drivers/scsi/virtio_scsi.ko.xz drwxr-xr-x 2 root root 0 Sep 21 2019 usr/lib/modules/3.10.0-1062.1.1.el7.x86_64/kernel/drivers/virtio -rw-r--r-- 1 root root 4552 Sep 14 2019 usr/lib/modules/3.10.0-1062.1.1.el7.x86_64/kernel/drivers/virtio/virtio.ko.xz -rw-r--r-- 1 root root 9908 Sep 14 2019 usr/lib/modules/3.10.0-1062.1.1.el7.x86_64/kernel/drivers/virtio/virtio_pci.ko.xz -rw-r--r-- 1 root root 8328 Sep 14 2019 usr/lib/modules/3.10.0-1062.1.1.el7.x86_64/kernel/drivers/virtio/virtio_ring.ko.xz
确认结果说明:
- 如上图所示,表示initramfs已经包含了virtio_blk驱动,以及其所依赖的virtio.ko、virtio_pci.ko和virtio_ring.ko,您可以直接导入到openstack
- 如果临时文件系统initramfs没有包含virtio驱动,则需要修复临时文件系统。具体操作,请参见步骤二:修复临时文件系统。
步骤二:修复临时文件系统
- CentOS/RedHat 8
$ mkinitrd -f --allow-missing \ --with=virtio_blk --preload=virtio_blk \ --with=virtio_net --preload=virtio_net \ --with=virtio_console --preload=virtio_console \ /boot/initramfs-$(uname -r).img $(uname -r)
- CentOS/RedHat 6/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)
- CentOS/RedHat 5
$ 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 \ /boot/initrd-$(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驱动的安装情况
$ find /lib/modules/"$(uname -r)"/ -name "virtio*" | grep -E "virtio*" $ grep -E "virtio*" < /lib/modules/"$(uname -r)"/modules.builtin
如果任一命令输出virtio_blk、virtio_pci、virtio_console等文件列表,表明您已经正确安装了virtio驱动。
这篇关于[vmware to openstack] 安装virtio驱动的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升