Eu tenho um host KVM no Ubuntu 15.10 Server. Eu sou bastante novo nisso, então eu estou gerenciando isso através de uma VM do Ubuntu 15.10 Desktop rodando sobre si mesmo e acessando o host através do Virtual Machine Manager. Isso funciona surpreendentemente bem.
Eu não quero instalar uma GUI no próprio servidor, mas eu quero ser capaz de usar o Handbrake GUI para ripar DVDs de uma unidade USB conectada ao host. Para esse fim, eu gostaria de ter uma VM Ubuntu Desktop em execução e passar a unidade de DVD (como um dispositivo USB) através da VM.
Eu sinto como se eu batesse em uma parede, no entanto. Eu acho que o udev está me causando problemas, mas honestamente não tenho certeza.
No host, posso ver a unidade como um dispositivo USB (com outros dispositivos USB cortados):
root@bannoth:~# lsusb
...
Bus 001 Device 012: ID 152e:2507 LG (HLDS) PL-2507 IDE Controller
...
E posso ver o que acontece quando é plugado no host:
root@bannoth:~# dmesg
[147647.109561] usb 1-2.4.1: new high-speed USB device number 12 using xhci_hcd
[147647.233207] usb 1-2.4.1: New USB device found, idVendor=152e, idProduct=2507
[147647.233211] usb 1-2.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[147647.233214] usb 1-2.4.1: Product: Super Multi Rewriter
[147647.233216] usb 1-2.4.1: Manufacturer: HLDS Inc.
[147647.233218] usb 1-2.4.1: SerialNumber: P01070517213514
[147647.234262] usb-storage 1-2.4.1:1.0: USB Mass Storage device detected
[147647.234329] scsi host16: usb-storage 1-2.4.1:1.0
[147648.270381] scsi 16:0:0:0: CD-ROM HL-DT-ST DVD-RAM GSA-E60L 1.00 PQ: 0 ANSI: 0
[147648.353087] sr 16:0:0:0: [sr1] scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form2 cdda tray
[147648.353223] sr 16:0:0:0: Attached scsi CD-ROM sr1
[147648.353328] sr 16:0:0:0: Attached scsi generic sg21 type 5
No Virtual Machine Manager para o convidado, adicionei o 152e: 2507 como um dispositivo USB:
Maslsusb
noconvidadonãomostra:
Combasenoslogsdmesgdohostmostrandoqueaunidadeestásendodisponibilizadaautomaticamentenohostcomo/dev/sr1,minhahipóteseatualéqueissoestáimpedindoqueoconvidadoocapturecomoumdispositivoUSBemvezdeumblocomaisgenéricodispositivo.
Achoquepossoescreverumaregradoudevparaevitarqueissoaconteça,masnãoseicomofazerissoseminterromperaoutraunidadeUSBconectadaaohost.
Tambémpodeseraparente,jáqueodmesgmostravárioserrosrelacionadosquandoaVMconvidadaéinicializada.Eununcatenteisolucionaressetipodecoisaantes,erealmentenãoseiporondecomeçar.
root@bannoth:~#dmesg[149839.524093]br0:port6(vnet4)entereddisabledstate[149839.525262]devicevnet4leftpromiscuousmode[149839.525263]br0:port6(vnet4)entereddisabledstate[149839.913759]audit_printk_skb:153callbackssuppressed[149839.913761]audit:type=1400audit(1450187066.578:102):apparmor="STATUS" operation="profile_remove" name="libvirt-0afd0bc5-f77c-4094-bc27-b859a97729c1" pid=13325 comm="apparmor_parser"
[149844.189015] audit: type=1400 audit(1450187070.850:103): apparmor="STATUS" operation="profile_load" name="libvirt-0afd0bc5-f77c-4094-bc27-b859a97729c1" pid=13328 comm="apparmor_parser"
[149844.189071] audit: type=1400 audit(1450187070.850:104): apparmor="STATUS" operation="profile_load" name="qemu_bridge_helper" pid=13328 comm="apparmor_parser"
[149844.243783] device vnet4 entered promiscuous mode
[149844.263809] br0: port 6(vnet4) entered forwarding state
[149844.263817] br0: port 6(vnet4) entered forwarding state
[149844.418828] audit: type=1400 audit(1450187071.078:105): apparmor="STATUS" operation="profile_replace" name="libvirt-0afd0bc5-f77c-4094-bc27-b859a97729c1" pid=13348 comm="apparmor_parser"
[149844.427881] audit: type=1400 audit(1450187071.090:106): apparmor="STATUS" operation="profile_replace" name="qemu_bridge_helper" pid=13348 comm="apparmor_parser"
[149844.516538] audit: type=1400 audit(1450187071.178:107): apparmor="DENIED" operation="open" profile="libvirt-0afd0bc5-f77c-4094-bc27-b859a97729c1" name="/run/udev/data/c189:1" pid=13350 comm="qemu-system-x86" requested_mask="r" denied_mask="r" fsuid=111 ouid=0
[149844.516591] audit: type=1400 audit(1450187071.178:108): apparmor="DENIED" operation="open" profile="libvirt-0afd0bc5-f77c-4094-bc27-b859a97729c1" name="/run/udev/data/c189:2" pid=13350 comm="qemu-system-x86" requested_mask="r" denied_mask="r" fsuid=111 ouid=0
[149844.516637] audit: type=1400 audit(1450187071.178:109): apparmor="DENIED" operation="open" profile="libvirt-0afd0bc5-f77c-4094-bc27-b859a97729c1" name="/run/udev/data/c189:4" pid=13350 comm="qemu-system-x86" requested_mask="r" denied_mask="r" fsuid=111 ouid=0
[149844.516688] audit: type=1400 audit(1450187071.178:110): apparmor="DENIED" operation="open" profile="libvirt-0afd0bc5-f77c-4094-bc27-b859a97729c1" name="/run/udev/data/c189:129" pid=13350 comm="qemu-system-x86" requested_mask="r" denied_mask="r" fsuid=111 ouid=0
[149844.516730] audit: type=1400 audit(1450187071.178:111): apparmor="DENIED" operation="open" profile="libvirt-0afd0bc5-f77c-4094-bc27-b859a97729c1" name="/run/udev/data/c189:257" pid=13350 comm="qemu-system-x86" requested_mask="r" denied_mask="r" fsuid=111 ouid=0
[149844.838540] kvm: zapping shadow pages for mmio generation wraparound
[149845.314126] kvm [13350]: vcpu0 unhandled rdmsr: 0x570
[149845.314296] kvm [13350]: vcpu1 unhandled rdmsr: 0x570
[149845.914154] kvm [13350]: vcpu0 unhandled rdmsr: 0x606
[149846.671275] kvm [13350]: vcpu0 unhandled rdmsr: 0x611
[149846.671393] kvm [13350]: vcpu0 unhandled rdmsr: 0x639
[149846.671500] kvm [13350]: vcpu0 unhandled rdmsr: 0x641
[149846.671638] kvm [13350]: vcpu0 unhandled rdmsr: 0x619
[149846.750752] kvm [13350]: vcpu0 unhandled rdmsr: 0x611
[149846.750875] kvm [13350]: vcpu0 unhandled rdmsr: 0x639
[149846.750979] kvm [13350]: vcpu0 unhandled rdmsr: 0x641
Isso é algo razoável de se tentar? Existe um caminho óbvio para frente ou devo desistir e passar para outra solução?