Linux · 2022-04-06

使 Linux 宿主机上 kvm 虚拟机识别插入的 USB 设备

virsh attach-device
出于需要,希望将虚拟机内的系统通过 dd 命令写到一块外接的 ssd 硬盘上,ssd 硬盘为 sata 接口,通过 usb-sata 转接线接到物理机上,此时物理机识别了该设备。使用 virsh attach-device 命令可以将该设备暂时加入 kvm 虚拟机中,具体步骤如下:

在宿主机上使用 lsusb 命令查看 该 usb 设备信息,结果如下图所示重点关注圈出的两列信息。

id: 0e0f:0001

创建一个 .xml 后缀的文件,假设命名为 example.xml, .xml 是 lvm 虚拟机配置文件,文件内容如下, 其中的<vendor id=’0x152d’ />对应第一步中 lsusb 圈出的第一列信息, <product id=’0x0X0578′> 对应圈出的第二列信息。这里需要添加哪个 usb 设备就找 lsusb 结果中对应那行的信息填入即可。
<hostdev mode=’subsystem’ type=’usb’>
<source>
<vendor id=’0x152d’/>
<product id=’0x0578’/>
</source>
</hostdev>
virsh attach-device kvm-name example.xml, example.xml 为上一步创建的 xml 文件,kvm-name 为虚拟机名,添加成功会出现 sucessful 的提示。

添加完毕后 virsh console kvm-name 进入虚拟机,使用 fdisk -l 应当就能看见添加的磁盘信息。