14.3. 使用 CLI 管理附加到虚拟机的设备
要修改虚拟机的功能,您可以使用命令行(CLI)管理附加到虚拟机的设备。
14.3.1. 将设备附加到虚拟机 复制链接链接已复制到粘贴板!
您可以通过附加新的虚拟设备来向虚拟机(VM)添加特定的功能。
以下流程使用命令行(CLI)创建虚拟设备并将其附加到虚拟机(VM)。一些设备也可以 使用 RHEL web 控制台 附加到虚拟机。
例如,您可以通过将新虚拟磁盘设备附加到虚拟机来增加虚拟机的存储容量。
先决条件
获取您要附加到虚拟机的设备所需的选项。要查看特定设备的可用选项,请使用
virt-xml --device=?命令。例如:# virt-xml --network=? --network options: [...] address.unit boot_order clearxml driver_name [...]
流程
要将设备附加到虚拟机,请使用
virt-xml --add-device命令,包括该设备的定义和所需的选项:例如,以下命令会在
/var/lib/libvirt/images/目录中创建一个 20GB 的 newdisk qcow2 磁盘镜像,并在虚拟机启动时将其作为虚拟磁盘附加到运行的 testguest 虚拟机上:# virt-xml testguest --add-device --disk /var/lib/libvirt/images/newdisk.qcow2,format=qcow2,size=20 Domain 'testguest' defined successfully. Changes will take effect after the domain is fully powered off.在虚拟机运行时,下面的命令会将一个 USB 盘(在主机的 002 总线中作为设备 004)附加到 testguest2 虚拟机:
# virt-xml testguest2 --add-device --update --hostdev 002.004 Device hotplug successful. Domain 'testguest2' defined successfully.可以使用
lsusb命令获得用于定义 USB 的总线设备组合。
验证
要验证设备是否已被添加,请执行以下操作之一:
使用
virsh dumpxml命令,并查看设备的 XML 定义是否已添加到虚拟机 XML 配置中的<devices>部分。例如,以下输出显示了 testguest 虚拟机的配置,并确认已添加了 002.004 USB 闪存磁盘设备。
# virsh dumpxml testguest [...] <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x4146'/> <product id='0x902e'/> <address bus='2' device='4'/> </source> <alias name='hostdev0'/> <address type='usb' bus='0' port='3'/> </hostdev> [...]- 运行虚拟机并测试该设备是否存在并正常工作。