Linux KVM 下是可以建立 Windows 的虛擬機的 , 目前在我的 proxmox ve 下就可以建立 XP 及 Windows 2003/2008 , 但有一些重點是要和大家分享的
我想大部分有玩過 Vmware 系列產品的人應該知道 Vmware 有 vmware tools 可以安裝 , vmware tools 內就有一些 driver 可增進效能 , 而在 KVM 的世界中有個叫 virtio 的設備 , 例如 virtio 網卡 , virtio 的硬碟 , 有的 OS 有支援 , 例如我測試過 CentOS 5.4 就有該網卡與硬碟的 driver , 而在 Windows 下則沒有 !
但好家在 , RedHat 很有良心開發了 Windows 版本的 virtio driver , 目前 RedHat 所開發的 driver 支援性如下
- Windows XP : 只有網卡有支援 32/64bit , 硬碟部分只支援到 32bit , 所以 XP 跑 32bit 版本最好
- Windows 2003/2008/VISTA/Widows7 : 支援網卡及硬碟到 32/64 bit
能用 virtio 就盡量用 , 這對性能很有幫助 , 要下載 Windows 的 VirtIO Driver 請至下面連結可以找到最新版本
http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers
而 Google 上可能會找到其他 RedHat 版本的 driver 可能有點舊了 , 甚至沒有 XP 的硬碟 Driver , 所以這個 kvm 官方網站上最新的就有支援 , 隨時可以到這個連結去看看有沒有最新版的 Driver , 搞不好以後有 XP 64bit 的硬碟 Driver
順帶一提 , 由於我的 Server 沒有 floppy , 所以安裝 Windows 2003 時 , 沒辦法直接裝 virtio 硬碟的 driver , 這樣就沒有辦法識別到硬碟 , 而 Windows 2008 的安裝程式有支援從 CD-ROM 載入驅動 , 可以在安裝期間切換 CD-ROM 到 Driver 的 ISO 檔 , 所以沒這問題 , 而且 proxmox ve 目前也沒有支援虛擬的 floppy driver , 所以我就用一種偷吃步來做
- 首先 , 在建立 KVM Win2003 時 , 仍是將網卡設定為 virtio , 硬碟是 IDE , 先不啟動虛擬機
- 進入 Hardward 新增一顆 1G 的 virito HDD , 檢查一下 Options 裡頭第一顆開機蝶是不是 IDE
- 啟動虛擬機 , 開始安裝 Windows 2003 , 此時安裝的時候 , 會裝在 IDE 那顆
- Windows 2003 裝好之後 , 回到 proxmox ve 的管理介面將 CD-ROM 切到 virtio driver 做成的的 ISO 檔 , 此時再由 Windows 2003 中更新驅動
- 更新驅動程式後 , 應該硬體裝置管理員都有識別到 RedHat 的網卡及 SCSI 了 , 同時也會多出一顆硬碟 , 然後將 Windows 2003 關機
- 現在從 proxmox ve 管理介面將 virtio HDD 做 Delete , Delete 掉之後會發現 Unused disk images , 也就是說 raw 檔還在 , 做這個動作只是把裝置刪除 , 並不會把檔案刪除 , 要把檔案真正刪除 , 還要對該 raw 檔做 Remove From Disk
- 將 IDE HDD Delete 掉 , 但千萬不要做 Remove From Disk
- 現在應該沒有任何硬碟可以用 , 於是我們再新增一顆硬碟 , 管理介面中可以用現成的檔案當硬碟 Use an existing virtual disk
- 於是這次新增時候選 virtio 介面 , 並且使用原本的 RAW 建立好之後就可以重開虛擬機了
上述方式 , XP 也可以如法泡製 , 根據測試 , 在我的 Gigabit 網路下 , 透過網路芳鄰從 Win2003 VM 抓大檔到我的桌機 , 會有 40MBytes/s 的傳輸速度 , 這樣就等於至少有 400Mbps 的速度 , 這樣的表現非常好 , 若是用 e1000 的網卡及 IDE 硬碟設定 , 下載速度不到 20MB
通告: 自組Server參考資料 « 倉庫
感谢分享。
有时间也把windows换成virtio.
没有集成virtio驱动的镜像吗?
有啊 http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/