萬盛學電腦網

 萬盛學電腦網 >> 網絡應用技術 >> 應用教程 >> KVM客戶機怎麼來的使用主機USB設備

KVM客戶機怎麼來的使用主機USB設備

   KVM命令行參數

  -usb 打開usb驅動程序,啟動客戶機usb支持

  -usbdevice devname 為客戶機增加usb設備,devname有多種形式,詳見man kvm,這裡只涉及一種形式host:vendor_id:product_id,也就是-usbdevce vendor_id:product_id

  獲取USB設備參數

  將usb設備插入主機之前

  $lsusb > usb.old

  usb設備插入主機之後

  $lsusb > usb.new

  然後

  vimdiff usb.old usb.new

  找到新增加的那一行,類似下面這行

  Bus 002 Device 004: ID 13fd:1040 Initio Corporation

  ID後面的兩個字段分別是vendor_id和product_id

  映射usb設備

  客戶機命令行添加這兩個參數

  sudo kvm -usb -usbdevice host:13fd:1040 …

  這樣客戶機就可以看到映射的USB設備了

  小問題

  把移動硬盤映射到客戶機做測試,虛擬客戶機竟然無法啟動了,從遠程vnc看一直停留在Booting from Hard Disk…,搜索了下下也無結果,後來靈光一閃,是不是因為移動硬盤成了啟動磁盤?果然如此,修改引導參數如下

  -boot order=c,menu=on

  這裡增加了menu=on,這樣啟動的時候按F12可以選擇從哪個驅動器啟動,重新啟動,果然看到移動硬盤成了第一個啟動設備,選擇本地硬盤正常啟動系統,從客戶機裡也可以看到移動硬盤。

  據了解,現在KVM還沒有命令行參數可以設置從第二塊硬盤啟動,也有人在提這個事情,建議order=e從第二塊硬盤啟動,依次類推。

  update:

  參數-usbdevice devname映射普通的USB設備有兩種格式,devname可以指定為

  host:bus.addr

  host:vendor_id:product_id

  上面-usbdevice host:13fd:1040指定的是host:vendor_id:product_id這種格式,對於例子中顯示的USB設備,也可以以host:bus.addr格式設定參數

  host:2.4

  其中2為總線號,4為設備在總線上的地址Bus 002 Device 004,但是使用host:bus.addr這種格式有一個缺點,如果USB設備換一個插口,其總線和設備號會發生變化,而 host:vendor_id:product_id這種格式則不受影響,即便客戶機換到另一台主機上跑也是一樣。

  update again(09/19/2012):

  KVM主機上插了兩個同類型的usb設備,這個兩個usb設備的verdor_id和product_id竟然完全一樣,那只能通過host:bus.addr這種方式為客戶機指定usb設備了,不然kvm主機會不知所措吧。

copyright © 萬盛學電腦網 all rights reserved