Ánh xạ ổ đĩa USB trực tiếp đến máy ảo KVM?


9

Tôi đang tìm kiếm thông tin về việc ánh xạ ổ đĩa hiện có (ổ USB) sang máy ảo KVM bằng libvirt. Tôi đã đi qua http://libvirt.org/formatst Storage.html#StoragePoolTarget . Nhưng tôi hoàn toàn không hiểu những tùy chọn nào là cần thiết để hiển thị một thiết bị hiện có cho VM (hoặc nếu nó thậm chí có thể).

Từ những gì tôi đang đọc, targetphần tử đang mong đợi một pathphần tử vào một thư mục trên máy để lưu trữ một hình ảnh dựa trên tệp. Có thể pathlà một thiết bị như /dev/sdc1? với một typesố raw?

Câu trả lời:


9

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ở đâ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 đó.)


1
Cảm ơn, trang đó rất hữu ích. Tôi đã làm cho nó hoạt động. Nhưng thay vì một nhà cung cấp và sản phẩm, tôi đã sử dụng addressyế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.
Andy Shinn
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.