USB 드라이브를 libvirt KVM 가상 머신에 직접 매핑 하시겠습니까?


9

libvirt를 사용하여 기존 드라이브 (USB 드라이브)를 KVM 가상 머신에 매핑하는 방법에 대한 정보를 찾고 있습니다. http://libvirt.org/formatstorage.html#StoragePoolTarget 으로 이동했습니다 . 그러나 기존 장치를 VM에 노출하는 데 필요한 옵션이 무엇인지 이해할 수 없습니다 (가능한 경우).

내가 읽는 것에서 target요소는 path파일 기반 이미지를 저장하기 위해 시스템의 폴더에 요소를 기대하고 있습니다. path과 같은 장치 일 수 있습니까 /dev/sdc1? A의 typeraw?

답변:


9

'USB 패스 스루 | Edubuntu 위키 에서이 페이지 의 Libvirt '섹션 사용하기 . 여기여기에 더 많은 정보가 있습니다 .

게스트가 실행되는 동안 USB 드라이브를 핫 플러그 ​​/ 플러그를 뽑을 계획이 없다면 다음과 같은 섹션을 추가해보십시오.

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

VM의 XML 정의 파일에 추가하십시오. 전원을 켰을 때 USB에 할당 된 것과 일치하도록 소스 개발자를 변경하기 만하면됩니다. 그러나 다른 장치를 추가하거나 제거해도 USB의 dev 할당이 재부팅 후에도 계속 유지되도록 보장 할 수는 없습니다. 대신 위의 첫 번째 링크.

링크가 사라진 경우 연결된 문서의 관련 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

그러나 이것은 의류가 활성화 된 상태에서는 작동하지 않습니다. 의류를 비활성화하거나 추가해야합니다.

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

중 하나에 /etc/apparmor.d/libvirt-qemu(모든 손님에게 물리적 호스트 장치에 대한 전체 액세스 권한을 제공하는) 나에

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

액세스 할 수있는 한 명의 게스트 만 제공합니다. (직선을 얻는 데 도움을 주신 jdstrand에게 감사합니다.)


1
고마워, 그 페이지는 매우 도움이되었다. 나는 그것을 작동시켰다. 그러나 공급 업체와 제품 대신 address요소를 사용했습니다 . 공급 업체와 제품을 사용할 때 동일한 2 개의 USB 드라이브를 마운트 할 수 없었습니다. 첫 번째 것만 통과합니다.
Andy Shinn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.