4.5. 安装 Hyper-V 设备驱动程序

Microsoft 提供了网络和存储设备驱动程序,作为其 Hyper-V 软件包的 Linux 集成服务(LIS)的一部分。在将虚拟机镜像配置为 Azure虚拟机(VM)之前, Hyper-V 可能需要在其上安装 Hyper-V 设备驱动程序。使用 lsinitrd | grep hv 命令来验证是否已安装了驱动程序。

流程

  1. 输入以下 grep 命令,来确定是否已安装了所需的 Hyper-V 设备驱动程序:

    # lsinitrd | grep hv

    在以下示例中安装了所有必需的驱动程序。

    # lsinitrd | grep hv
    drwxr-xr-x   2 root     root            0 Aug 12 14:21 usr/lib/modules/3.10.0-932.el9.x86_64/kernel/drivers/hv
    -rw-r--r--   1 root     root        31272 Aug 11 08:45 usr/lib/modules/3.10.0-932.el9.x86_64/kernel/drivers/hv/hv_vmbus.ko.xz
    -rw-r--r--   1 root     root        25132 Aug 11 08:46 usr/lib/modules/3.10.0-932.el9.x86_64/kernel/drivers/net/hyperv/hv_netvsc.ko.xz
    -rw-r--r--   1 root     root         9796 Aug 11 08:45 usr/lib/modules/3.10.0-932.el9.x86_64/kernel/drivers/scsi/hv_storvsc.ko.xz

    如果没有安装所有驱动程序,请完成剩余的步骤。

    注意

    环境中可能存在 hv_vmbus 驱动程序。即使存在这个驱动程序,请完成以下步骤。

  2. /etc/dracut.conf.d 中创建一个名为 hv.conf 的文件。
  3. hv.conf 文件中添加以下驱动程序参数。

    add_drivers+=" hv_vmbus "
    add_drivers+=" hv_netvsc "
    add_drivers+=" hv_storvsc "
    add_drivers+=" nvme "
    注意

    请注意引号前后的空格,例如 add_drivers+=" hv_vmbus "。这样可确保在环境中存在其他 Hyper-V 驱动程序时载入唯一驱动程序。

  4. 重新生成 initramfs 镜像。

    # dracut -f -v --regenerate-all

验证

  1. 重启机器。
  2. 运行 lsinitrd | grep hv 命令来验证是否已安装了驱动程序。