CloudStackのKVMにUSBパススルー
2017年2月4日
この前設定したUSB/IPだと接続がよく切れるし、UPSのUSBが使えなくなったので、
USBパススルーにしようと思い、
CentOSのKVM仮想マシンマネージャーだとVMにデバイスをアタッチできていたので、CloudStackで起動中のインスタンスにvirshでアタッチしてみた。
再起動時に自動でアタッチしてくれない問題は残るが。。
– 手順 –
1.起動したインスタンスの内部名を覚えておく
インスタンスはWindowsで、内部名は i-2-3-VM
2.CloudStackホスト側の設定
①USBのリストでデバイスを確認する。
1 |
#lsusb |
1 2 3 4 5 6 7 8 9 |
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 007: ID 0557:2419 ATEN International Co., Ltd Bus 001 Device 003: ID 0557:7000 ATEN International Co., Ltd Hub Bus 001 Device 008: ID 1774:1002 Bus 001 Device 006: ID 413c:2003 Dell Computer Corp. Keyboard Bus 001 Device 004: ID 045e:0047 Microsoft Corp. IntelliMouse Explorer 3.0 Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub Bus 001 Device 005: ID 051d:0002 American Power Conversion Uninterruptible Power Supply Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub |
使いたいデバイスは、Bus 001 Device 008: ID 1774:1002
②実行中のKVMインスタンスを確認
1 |
#virsh list |
1 2 3 4 5 6 |
Id 名前 状態 ---------------------------------------------------- 1 r-4-VM 実行中 2 v-1-VM 実行中 3 s-2-VM 実行中 6 i-2-3-VM 実行中 |
i-2-3-VMは実行中になっている。
③デバイス設定のXMLを作成する
lsusbで確認したidを設定する。
1 2 3 4 5 6 |
<hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x1774'/> <product id='0x1002'/> </source> </hostdev> |
④virshでデバイスを接続
1 2 |
#virsh attach-device i-2-3-VM usb1774:1002.xml デバイスが正常に接続されました |
切断するときは、detach-deviceを使う
1 |
#virsh detach-device i-2-3-VM usb1774:1002.xml |
※インスタンスのOSを再起動しても、インスタンスを停止していなければ接続は維持される模様。。
3.インスタンスのWindowsからUSBデバイスを使う
使えた(∩´∀`)∩
デバイスマネージャには表示されない(´ヘ`;) う~ん・・・