6.9. 在新 Windows 虚拟机上安装 VirtIO 驱动程序
6.9.1. 先决条件
- Windows 安装介质可从虚拟机访问,例如将 ISO 导入到数据卷并将其附加到虚拟机。
6.9.2. 了解 VirtIO 驱动程序
VirtIO 驱动程序是 Microsoft Windows 虚拟机在容器原生虚拟化中运行时所需的半虚拟化设备驱动程序。受支持的驱动程序可在 Red Hat Container Catalog 的 container-native-virtualization/virtio-win
容器磁盘中找到。
必须将 container-native-virtualization/virtio-win
容器磁盘作为 SATA CD 驱动器附加到虚拟机,以启用驱动程序安装。您可在虚拟机安装 Windows 期间安装 VirtIO 驱动程序,或将其附加到现有 Windows 安装。
安装完驱动程序后,可从虚拟机中移除 container-native-virtualization/virtio-win
容器磁盘。
6.9.3. Microsoft Windows 虚拟机支持的 VirtIO 驱动程序
驱动程序名称 | 硬件 ID | 描述 |
---|---|---|
viostor |
VEN_1AF4&DEV_1001 | 块驱动程序。有时会在 Other devices 组中显示为 SCSI Controller。 |
viorng |
VEN_1AF4&DEV_1005 | 熵源(entropy)驱动程序。有时会在 Other devices 组中显示为 PCI Device。 |
NetKVM |
VEN_1AF4&DEV_1000 | 网络驱动程序。有时会在 Other devices 组中显示为 Ethernet Controller。仅在配置了 VirtIO NIC 时可用。 |
6.9.4. 将 VirtIO 驱动程序容器磁盘添加到虚拟机中
针对 Microsoft Windows 的容器原生虚拟化 VirtIO 驱动程序作为一个容器磁盘提供,可在 Red Hat Container Catalog 中找到。要为 Windows 虚拟机安装这些驱动程序,请在虚拟机配置文件中将 container-native-virtualization/virtio-win
容器磁盘作为 SATA CD 驱动器附加到虚拟机。
先决条件
-
从 Red Hat Container Catalog 下载
container-native-virtualization/virtio-win
容器磁盘。这一步并非强制要求,因为如果集群中不存在容器磁盘,将从 Red Hat registry 中下载,但通过此步下载可节省安装时间。
流程
将
container-native-virtualization/virtio-win
容器磁盘作为cdrom
磁盘添加到 Windows 虚拟机配置文件中。如果集群中还没有容器磁盘,将从 registry 中下载。spec: domain: devices: disks: - name: virtiocontainerdisk bootOrder: 2 1 cdrom: bus: sata volumes: - containerDisk: image: container-native-virtualization/virtio-win name: virtiocontainerdisk
- 1
- 容器原生虚拟化按照
VirtualMachine
配置文件中定义的顺序启动虚拟机磁盘。您可将虚拟机的其他磁盘定义到container-native-virtualization/virtio-win
容器磁盘前面,也可使用bootOrder
可选参数来确保虚拟机从正确磁盘启动。如果为一个磁盘指定bootOrder
,则必须为配置中的所有磁盘指定。
虚拟机启动后,磁盘随即可用:
-
如果要将容器磁盘添加到正在运行的虚拟机,请在 CLI 中执行
oc apply -f <vm.yaml>
,或重启虚拟机,以使更改生效。 -
如果虚拟机还未运行,则使用
virtctl start <vm>
。
-
如果要将容器磁盘添加到正在运行的虚拟机,请在 CLI 中执行
虚拟机启动后,可从附加的 SATA CD 驱动器安装 VirtIO 驱动程序。
6.9.5. 在 Windows 安装过程中安装 VirtIO 驱动程序
在 Windows 安装过程中,从附加的 SATA CD 驱动程序安装 VirtIO 驱动程序。
该流程使用通用方法安装 Windows,且安装方法可能因 Windows 版本而异。有关您正在安装的 Windows 版本,请参阅相关文档。
流程
- 启动虚拟机并连接至图形控制台。
- 开始 Windows 安装过程。
- 选择 Advanced 安装。
-
加载驱动程序前无法识别存储目的地。点击
Load driver
。 - 驱动程序将附加为 SATA CD 驱动器。点击 OK 并浏览 CD 驱动器以加载存储驱动程序。驱动程序将按照其驱动程序类型、操作系统和 CPU 架构分层排列。
- 对所有所需驱动程序重复前面两步。
- 完成 Windows 安装。
6.9.6. 从虚拟机移除 VirtIO 容器磁盘
在向虚拟机安装完所有所需 VirtIO 驱动程序后,container-native-virtualization/virtio-win
容器磁盘便不再需要附加到虚拟机。从虚拟机配置文件中移除 container-native-virtualization/virtio-win
容器磁盘。
流程
编辑配置文件并移除
disk
和volume
。$ oc edit vm <vm-name>
spec: domain: devices: disks: - name: virtiocontainerdisk bootOrder: 2 cdrom: bus: sata volumes: - containerDisk: image: container-native-virtualization/virtio-win name: virtiocontainerdisk
- 重启虚拟机以使更改生效。