Сопоставление USB-накопителя напрямую с виртуальной машиной KVM libvirt?

Я ищу информацию о сопоставлении существующего диска (USB-накопителя) с виртуальной машиной KVM с использованием libvirt. Я перешел http://libvirt.org/formatstorage.html#StoragePoolTarget . Но я не совсем понимаю, какие параметры необходимы, чтобы выставить существующее устройство на виртуальную машину (или если это возможно).

Из того, что я читаю, элемент target ожидает path в папку на компьютере для хранения образа на основе файла. Может ли path быть такое устройство, как /dev/sdc1? с помощью type of raw?

9 голосов | спросил Andy Shinn 11 Jpm1000000pmWed, 11 Jan 2012 23:27:47 +040012 2012, 23:27:47

1 ответ


9

Проверьте «прошивку USB» Используя раздел Libvirt эту страницу из вики Edubuntu. Подробнее здесь и здесь .

Если вы никогда не планируете подключать /отключать USB-накопитель, пока гость работает, вы также можете попробовать добавить раздел, например

<disk type='block' device='disk'>
  <driver name='qemu' type='raw'/>
  <source dev='/dev/sdb'/>
  <target dev='sdb' bus='scsi'/>
</disk>

в файл определения xml вашего виртуального компьютера. Просто измените исходный dev, чтобы он соответствовал тому, что было присвоено вашему USB-порту, когда оно было подключено. Однако вы не можете гарантировать, что назначение dev для usb будет перезагружено, если другие устройства будут добавлены или удалены, поэтому я рекомендовал бы подход в первая ссылка выше.

Если ссылка исчезнет, ​​вот соответствующий раздел прошивки USB связанных документов:

  

Использование Libvirt

     

активировал ранее существовавший vm

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-накопитель в vm

sudo virsh attach-device maverick2 /tmp/a.xml
     

ОДНАКО, это не работает с включенным apparmor. Вы должны либо отключить apparmor, либо добавить

/dev/bus/usb/*/[0-9]* rw,
     

либо /etc/apparmor.d/libvirt-qemu (который дает всем гостям полный доступ к физическим хост-устройствам) или

/etc/apparmor.d/libvirt/libvirt-<uuid>
     

, который даст доступ только одному гостю. (Спасибо jdstrand за помощь в получении этого.)

ответил nedm 12 Jam1000000amThu, 12 Jan 2012 01:06:42 +040012 2012, 01:06:42

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132