第 14 章 将主机设备附加到虚拟机
您可以通过将主机设备附加到虚拟机来扩展虚拟机的功能。将主机设备附加到虚拟机时,虚拟设备 用于此目的,这是硬件设备的软件抽象。
14.1. 虚拟设备的工作原理 复制链接链接已复制到粘贴板!
与物理机一样,虚拟机(VM)也要求专门的设备来为系统提供功能,如处理能力、内存、存储、网络或图形。物理系统通常将硬件设备用于这些目的。但是,由于虚拟机作为软件进程运行,因此需要使用此类设备的软件抽象,称为 虚拟设备。
虚拟设备的基础知识
附加到虚拟机的虚拟设备可在创建虚拟机时配置,也可以在现有虚拟机上管理。通常,只有在虚拟机处于关闭状态时才能从虚拟机挂载或卸载虚拟设备,但某些设备可在虚拟机运行时进行添加或删除。这个功能被称为设备热插(hot plug)和热拔(hot unplug)。
创建新虚拟机时,libvirt
会自动创建和配置一组默认的基本虚拟设备,除非用户另有指定。它们基于主机系统架构和机器类型,通常包括:
- CPU
- 内存
- 键盘
- 网络接口控制器(NIC)
- 各种设备控制器
- 一个视频卡
- 一个声卡
要在创建虚拟机后管理虚拟设备,请使用命令行(CLI)。但是,要管理 虚拟存储设备和 网络接口,您还可以使用 RHEL 10 web 控制台。
性能或灵活性
对于某些类型的设备,RHEL 10 支持多种实施,通常在性能和灵活性之间权衡。
例如,用于虚拟磁盘的物理存储可以以各种格式的文件(如 qcow2
或 raw
)形式表示,并使用各种控制器呈现给虚拟机:
- 模拟控制器
-
virtio-scsi
-
virtio-blk
模拟控制器比 virtio
控制器慢,因为 virtio
设备是专为虚拟化设计的。但是,模拟控制器可以运行没有 virtio
设备驱动程序的操作系统。同样,virtio-scsi
为 SCSI 命令提供更完整的支持,并可以将更多磁盘附加到虚拟机。最后,virtio-blk
提供比 virtio-scsi
和模拟控制器更好的性能,但用例的范围比较有限。例如,在使用 virtio-blk
时,无法将物理磁盘作为 LUN 设备附加到虚拟机。
有关虚拟设备类型的更多信息,请参阅 虚拟设备的类型。