libvirt と、virt-manager を備えたホットスワップ可能な単一の USB ポート - もうすぐ完成?

libvirt と、virt-manager を備えたホットスワップ可能な単一の USB ポート - もうすぐ完成?

説明

Debian ゲストで USB が表示されません。ログからは明らかなことは何もわかりませんが、仮想化の経験があまりないため、構成の手順を 1 つ見逃したのではないかと思います。経験豊富な人にとっては非常に小さなことで明らかなことかもしれません。

ソフトウェア

QEMU エミュレータ バージョン 5.0.0 (Debian 1:5.0-5ubuntu6~ppa00)

ホスト: Ubuntu 20.04

ゲスト: Debian 11

ホットプラガー

再現する手順

  • 追加ppa:jacob/仮想化qemu-kvm の場合、Ubuntu の 20.04 リポジトリには 4.x しかなく、バックポートによって多くのエラーが発生しました。

  • sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager

  • 「ストレージ パスを指定する必要があります」というバグが発生した場合は、インストーラー ISO をストレージに使用する場所に移動し、そこで再度選択することで回避できます。その後、ストレージ用のボリュームを作成できるようになります。

  • virt マネージャーに他の変更を加えずに Debian 11 をインストールします。

私のモニター.pyUSB 2 キーと USB 3 キーを順番に接続および切断したときの出力は次のようになります。

DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-2
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb4/4-2
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0
  • config.yaml:
virtual_machines:

  debian:
    socket: /tmp/my-vm-sock
    delay: 1
    hubs:
      - xhci0.0
      - xhci1.0
    ports:
      - /devices/pci0000:00/0000:00:14.0/usb3/3-2
      - /devices/pci0000:00/0000:00:14.0/usb4/4-2

USB キーは取り外したままにしておきます。

  • /etc/udev/rules.d/99-zzz-local.rules:
SUBSYSTEM=="usb", ACTION=="add", RUN+="/bin/bash -c 'python3 /home/anonymousaard/hotplugger/hotplugger.py >> /tmp/hotplugger.log' 2>&1"
SUBSYSTEM=="usb", ACTION=="remove", RUN+="/bin/bash -c 'python3 /home/anonymousaard/hotplugger/hotplugger.py >> /tmp/hotplugger.log' 2>&1"
  • /etc/libvirt/qemu/debian.xmlを編集する

上位 4 行と、hotplugger readme で提案されている qemu 引数を組み合わせて次の形式にする前は、xhci が見つからないというエラーが発生していました。

<qemu:arg value="-device"/>
<qemu:arg value="nec-usb-xhci,id=xhci0"/>
<qemu:arg value="-device"/>
<qemu:arg value="nec-usb-xhci,id=xhci1"/>
<qemu:arg value="-chardev"/>
<qemu:arg value="socket,id=mon1,server=on,wait=off,path=/tmp/my-vm-sock"/>
<qemu:arg value="-mon"/>
<qemu:arg value="chardev=mon1,mode=control,pretty=on"/>
</qemu:commandline>
</domain>
export EDITOR=nano
sudo virsh edit debian

debian.xml ファイル

  • apparmor の問題を回避するには、readme に従って qemu.conf を編集します。

  • hotplugger/tmp を削除し、システムを再起動し、udev を再起動し、udev のログファイルを表示するトラブルシューティング手順を完了します。

  • Debian を起動し、ログインしたら USB キーをポートに接続し、ホストでは正常に認識されるものの、Debian では何も表示されないことを確認します。これをもう一度実行して、最初の udev エラーが再起動によるものであることを確認します。

私が説明したセットアップや添付のログの中に、問題が何であるか、またそれをどのように解決できるかを示唆する明らかな点はありますか?

ホットプラグログ udev.log libvirt_debian.log

関連情報