Proxmox VE USB Physical Port Mapping

26 五月

【作業環境】
Proxmox Virtual Environment 4.2


【USB 裝置列表】

~#
lsusb

Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching
Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 1398:ff04 Q-tec
Bus 001 Device 006: ID 0471:0999 Philips (or NXP)
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching
Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

如需查詢安裝埠別,則再加上參數「-t」…

~#
lsusb -t

/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p,
480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p,
480M
        |__ Port 3: Dev 6, If 0,
Class=Diagnostic, Driver=, 12M
        |__ Port 5: Dev 4, If 0,
Class=Human Interface Device, Driver=usbhid, 1.5M
綜合上列查詢結果,顯示 USB 裝置連接至「Bus1,Port3」與「Bus1,Port5」,代號分別為 1-3 及 1-5。

~#
vi /etc/pve/qemu-server/<VM_ID>.conf

設定內容可以 USB Port 作為裝置識別,如:
usb0: host=1-3
usb1: host=1-5

或以格式為 xxxx:xxxx 之「裝置 ID」加入設定項目:
usb0: host=1398:ff04
usb1: host=0471:0999

【連線狀態確認】

~#
qm monitor <VM_ID>

qm> info usb
  Device 0.1, Port 1, Speed 12 Mb/s, Product QEMU USB Tablet, ID:
tablet
  Device 1.0, Port 1, Speed 1.5 Mb/s, Product USB Host Device
  Device 1.0, Port 2, Speed 12 Mb/s, Product USB Host Device

其實,VM 作業系統啟動後,這些新加入的裝置能夠「即插即用」,應該比這個「qm monitor」查詢結果更重要吧。

【參考資料】
Proxmox
VE Wiki – USB physical port mapping

Proxmox
VE Wiki – USB Devices in Virtual Machines

VMware ESXi vmdk convert to KVM qcow2

13 五月

VMware 的 vmdk 檔轉換為 Proxmox VE 常用的 qcow2 檔,通常以 qemu-img 指令操作不會有太大問題。
可是在此之前面臨的狀況是,VMware ESXi 的硬碟映像檔並非單一的 vmdk 檔,這使得轉檔過程又多了一道關卡。
試著先在 VMware ESXi 中以「匯出 OVF 範本」功能,讓虛擬機器備份之餘,也能取出所需的 vmdk 檔,這是解決此一狀況的方法之一。

【作業環境】
Proxmox Virtual Environment 4.2

【匯出 OVF 範本】
VMware vSphere Client 點選虛擬機器,執行功能表中的「檔案」> 「匯出」>「匯出 OVF 範本」功能……
匯出格式選擇「檔案資料夾 OVF」,或「單一檔案 OVA」皆可,

  • 檔案資料夾 OVF 匯出範本,將在指定資料夾中產生三個備份檔,vmdk 檔即為其一,如:Debian8-disk1.vmdk。
  • 單一檔案 OVA 檔匯出後將前述三個備份檔打包,儲存為 ova 檔實為壓縮檔,直接以 tar 指令或視窗版的 7-zip
    等檔案壓縮程式,
    都可解出裡面的 vmdk 檔。

【上傳 vmdk 檔】
上傳 vmdk 檔至 Proxmox VE 儲存空間。

【qemu-img 轉檔】
qemu-img 指令轉換虛擬硬碟檔格式,例如:
 

~#
qemu-img convert -f vmdk Debian8-disk1.vmdk -O qcow2 Debian8.qcow2 -p

轉檔時間將視虛擬硬碟實際使用空間而定,加入參數「-p」可顯示作業進度。轉換後之 qcow2 檔複製或搬移至虛擬機器能讀取的儲存位置,
修改虛擬機器設定檔中虛擬硬碟路徑後,Linux VM 應該都能順利開機才是。Guest OS 是近期版本的 Linux,
搬家後首次開機前,放心地直接改用 VirtIO 系列網路及儲存虛擬硬體架構,開機結果也沒讓人失望。
倒是 Windows VM 雖然 qcow2 檔準備妥當,距離正常開機可能還有一段奮鬥歷程……Orz

【參考資料】
Proxmox
VE Wiki – Migration of servers to Proxmox VE

Proxmox VE Physical disk to kvm

8 五月

Proxmox VE 將整顆實體硬碟提供 VM 使用,參考官網說明文件後再將過程簡化,不論是本機硬碟或是外接式 USB
磁碟,幾分鐘就能輕易完成。

【作業環境】
Proxmox Virtual Environment 4.2

【查詢硬碟 ID】
先查詢這顆硬碟的 ID:
 

~#
ls -l /dev/disk/by-id/

以硬碟廠牌型號及容量等資訊為判斷依據,想在眾多字串中找出正確 ID應該不難。
例如:ata-ST2000DL003-9VT166_5YD1ZYK5
或是:usb-ST2000DL_5YD1ZYK5_222259D10955-0:0

【變更 VM 硬碟路徑】
修改以「vmid」命名的虛擬機器設定檔:

~#
vi /etc/pve/qemu-server/xxx(VMID).conf

更改或新增其中「虛擬」硬碟路徑如:
 virtio0:
/dev/disk/by-id/ata-ST2000DL003-9VT166_5YD1ZYK5,size=2000G

外接式 USB 磁碟路徑如:
virtio0:
/dev/disk/by-id/usb-ST2000DL_5YD1ZYK5_222259D10955-0:0,size=2000G
完工開機!

【參考資料】
Proxmox
VE Wiki – Physical disk to kvm