USBデバイスを他のPCに共有する

ryochack
·

Proxmox サーバー PC に組込み開発環境をまとめたい。

そのために、USB デバイスを手元のノート PC からサーバー PC に共有する方法を3通りほど試した。

  • ① USBIP で Proxmox VE LXC に USB デバイスを共有

  • ② USBIP で Proxmox VE VM に USB デバイスを共有

  • ③ SPICE USB redirect で Proxmox VE VM に USB デバイスを共有

① USBIP で Proxmox VE LXC に USB デバイスを共有

Proxmox VE の LXC に開発環境をまとめる想定でのユースケース。

  1. Client に USB デバイスを挿す

  2. Client から USBIP で USB デバイスを共有する

  3. Proxmox Host から USBIP で USB デバイスにアタッチする

  4. Proxmox Host から Proxmox LXC に USB デバイスを渡す

  5. Proxmox LXC から USB デバイスにアクセスする

② USBIP で Proxmox VE VM に USB デバイスを共有

Proxmox VE の VM に開発環境をまとめる想定でのユースケース。

  1. Client に USB デバイスを挿す

  2. Client から USBIP で USB デバイスを共有する

  3. Proxmox VM から USBIP で USB デバイスにアタッチする

  4. Proxmox VM から USB デバイスにアクセスする

③ SPICE USB redirect で Proxmox VE VM に USB デバイスを共有

Proxmox VE の VM に開発環境をまとめる想定でのユースケース。

  1. Client に USB デバイスを挿す

  2. Client から SPICE で USB デバイスを共有する

  3. Proxmox VM から USB デバイスにアクセスする

どれを採用するか

  • 使い勝手: ③ > ② > ①

    • ③の SPICE USB redirect が最も手順少なく利用ができる。次点で②。①は Proxmox Host から LXC へのデバイス共有設定が若干面倒。

  • 通信速度: ① = ② > ③

    • 通信速度は①②の USBIP が、③の SPICE redirect よりも3倍以上速い。

      • 128MB のデータを Client の USB メモリから、Proxmox VM に USBIP/SPICE 経由でコピーしたところ、USBIP は9.3秒で、SPICE は30.8秒で完了した。(ちなみに scp だと4秒で完了)

使い勝手とパフォーマンスを考慮し、 ②「Proxmox VM に Linux 開発環境を構築し、USBIP 経由で USB デバイスを共有」 を採用することにする。

補足情報

使用した USBIP と USB redirect に関する参考情報はこちら。