And*_*inn 9 libvirt kvm-virtualization
我正在搜索有关使用 libvirt 将现有驱动器(USB 驱动器)映射到 KVM 虚拟机的信息。我一直在浏览http://libvirt.org/formatstorage.html#StoragePoolTarget。但我不太明白将现有设备暴露给 VM 需要哪些选项(或者甚至可能的话)。
从我正在阅读的target内容来看,该元素期望path机器上的文件夹中有一个元素来存储基于文件的图像。可以是path这样的设备/dev/sdc1吗?用type的raw?
查看“USB 直通” | 使用来自 Edubuntu wiki 的本页的Libvirt 部分。更多信息在这里和这里。
如果您不打算在来宾运行时热插拔 USB 驱动器,您还可以尝试添加一个部分,如
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/sdb'/>
<target dev='sdb' bus='scsi'/>
</disk>
Run Code Online (Sandbox Code Playgroud)
到您的 VM 的 xml 定义文件。只需更改源 dev 以匹配插入 USB 时分配给您的 USB 的内容。但是,如果添加或删除其他设备,您不能保证 USB 的 dev 分配会在重新启动后继续存在,因此我建议使用代替上面的第一个链接。
如果链接消失,这里是链接文档的相关 USB 直通部分:
使用 Libvirt
启动了一个预先存在的虚拟机
Run Code Online (Sandbox Code Playgroud)virsh start maverick2插入 USB 驱动器
找到了使用的 USB 地址lsusb,这给了我
{{ Bus 002 Device 006: ID 1058:1023 Western Digital Technologies, Inc. }}}定义了一个带有设备信息的 xml 文件:
<hostdev mode='subsystem' type='usb'> <source> <vendor id='0x1058'/> <product id='0x1023'/> </source> </hostdev>
将 USB 驱动器传递给虚拟机Run Code Online (Sandbox Code Playgroud)sudo virsh attach-device maverick2 /tmp/a.xml但是,这不适用于启用 apparmor。您必须禁用 apparmor,或添加
Run Code Online (Sandbox Code Playgroud)/dev/bus/usb/*/[0-9]* rw,要么
/etc/apparmor.d/libvirt-qemu(这使所有客人都可以完全访问物理主机设备)或Run Code Online (Sandbox Code Playgroud)/etc/apparmor.d/libvirt/libvirt-<uuid>这将只给一位客人访问。(感谢 jdstrand 帮助解决这个问题。)
| 归档时间: |
|
| 查看次数: |
27576 次 |
| 最近记录: |