vmware虚拟机迁移到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驱动。

参考文献

2022 阿里云帮助中心

  • 17
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 安装OpenStack需要先安装VMware虚拟机,具体步骤如下: 1. 下载并安装VMware虚拟机软件,可以从官网下载最新版本。 2. 创建一个新的虚拟机,选择操作系统为Linux,并设置虚拟机的硬件配置。 3. 下载OpenStack安装包,可以从官网下载最新版本。 4. 将OpenStack安装包上传到虚拟机中,并解压缩。 5. 安装OpenStack的依赖库和组件,可以使用命令行工具进行安装。 6. 配置OpenStack的网络和存储,根据实际需求进行配置。 7. 启动OpenStack服务,可以使用命令行工具进行启动。 8. 验证OpenStack安装是否成功,可以使用命令行工具进行验证。 以上就是安装OpenStack的基本步骤,需要注意的是,安装OpenStack需要一定的技术水平和经验,建议在专业人士的指导下进行操作。 ### 回答2: VMware虚拟机是一款非常受欢迎的虚拟化软件,可以在一台物理服务器上运行多个虚拟机安装OpenStack虚拟机中,可以让用户在不影响物理服务器的同时,实现多个虚拟机之间的资源共享。 在安装OpenStack之前,需要先下载安装VMware虚拟机安装完成后,用户需要创建一个新的虚拟机。创建虚拟机时,需要设置虚拟机的名称、操作系统、屏幕分辨率、硬盘大小、虚拟机网络等信息。用户应该确保虚拟机的硬盘足够大,以存储OpenStack所需的所有组件和数据。 安装OpenStack需要运行多个组件,包括nova、neutron、glance、keystone等。用户应该先安装必要的准备工作,例如Python、MySQL等。然后,用户可以下载适当版本的OpenStack,并开始安装操作。 在安装过程中,用户应该仔细跟随每个步骤,并确认所有依赖项已正确安装。用户应该注意,OpenStack安装可能需要较长时间,因此必须耐心等待直到安装完成。 在安装完成后,用户需要配置OpenStack以确保其正确运行。用户应该配置安全组和路由器,创建网络和实例等,并确保网络和存储的配置正确。 总之,安装OpenStackVMware虚拟机中需要仔细的计划和准备,但可以帮助用户实现资源共享和更好的性能。 ### 回答3: VMware虚拟机是一种虚拟化技术,可以在一台物理机上虚拟出多个独立的虚拟机,每个虚拟机都可以运行独立的操作系统和应用程序。而OpenStack是一个开源的云计算平台,可以帮助用户构建私有云和公有云。 在安装OpenStack之前,需要先安装VMware虚拟机。具体步骤如下: 1. 下载并安装VMware Workstation或VMware Fusion等虚拟机软件。 2. 新建虚拟机:在VMware虚拟机管理器中,选择新建虚拟机,指定虚拟机名称、类型和操作系统。 3. 分配虚拟机资源:指定虚拟机的内存、CPU和硬盘空间等资源,并安装操作系统。 4. 安装OpenStack:可以通过使用Ubuntu或CentOS发行版来安装OpenStack。在OpenStack官网上可以找到详细的安装手册和教程。 在安装OpenStack时,需要注意以下几点: 1. 安装过程中需要确保网络连接正常,因为OpenStack是基于网络的云计算平台。 2. 建议使用Ubuntu或CentOS等支持OpenStack的发行版,因为这些发行版已经预装了相关组件和工具,可以简化安装过程。 3. 根据自己的需求选择安装的组件和服务,按照官方文档进行安装和配置。 4. 在配置虚拟机和云环境时,需要保证安全性和高可用性,防止出现数据丢失和服务中断等情况。 总之,在安装VMware虚拟机OpenStack时,需要仔细阅读官方文档,确保正确地安装配置和使用。通过使用虚拟化技术和云计算平台,可以大大提升应用程序的灵活性和可扩展性,帮助用户构建强大的云计算环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值