Kiểm tra 'thông qua USB | Sử dụng phần Libvirt 'của trang này từ wiki Edubfox. Thêm thông tin ở đây và ở đây .
Nếu bạn chưa từng có kế hoạch cắm / rút phích cắm nóng cho ổ USB trong khi khách đang chạy, bạn cũng có thể thử thêm một phần như
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/sdb'/>
<target dev='sdb' bus='scsi'/>
</disk>
vào tệp định nghĩa xml VM của bạn. Chỉ cần thay đổi nhà phát triển nguồn để khớp với những gì đã được gán cho usb của bạn khi được cắm. Tuy nhiên, bạn không thể đảm bảo việc gán dev của usb sẽ tồn tại khi khởi động lại nếu các thiết bị khác được thêm hoặc xóa, vì vậy tôi khuyên bạn nên tiếp cận trong liên kết đầu tiên ở trên thay thế.
Trong trường hợp liên kết biến mất, đây là phần thông qua USB có liên quan của các tài liệu được liên kết:
Sử dụng Libvirt
sa thải một vm có sẵn
virsh start maverick2
cắm vào ổ USB
tìm thấy địa chỉ usb đang sử dụng lsusb
, nó cho tôi
{{ Bus 002 Device 006: ID 1058:1023 Western Digital Technologies, Inc. }}}
đã xác định tệp xml với thông tin thiết bị:
<hostdev mode='subsystem' type='usb'>
<source>
<vendor id='0x1058'/>
<product id='0x1023'/>
</source>
</hostdev>
truyền ổ USB cho vm
sudo virsh attach-device maverick2 /tmp/a.xml
TUY NHIÊN điều này không hoạt động với apparmor kích hoạt. Bạn phải vô hiệu hóa apparmor hoặc thêm
/dev/bus/usb/*/[0-9]* rw,
đến một trong hai /etc/apparmor.d/libvirt-qemu
(cho phép tất cả khách truy cập đầy đủ vào các thiết bị máy chủ vật lý) hoặc
/etc/apparmor.d/libvirt/libvirt-<uuid>
sẽ chỉ cung cấp cho một khách truy cập. (Cảm ơn jdstrand đã giúp đỡ để có được điều đó.)
address
yếu tố này. Khi sử dụng nhà cung cấp và sản phẩm, tôi không thể gắn 2 ổ USB giống nhau. Nó sẽ chỉ đi qua cái đầu tiên.