在同一台機器上,直接安裝Ubuntu,在KVM上開一台VM起來,速度跟XenServer的VM有明顯落差,開始找原因。
一開始是往 disk 的方向找;XenServer是使用一個LV當做VM的disk,在KVM上我本來是用file當做VM的disk;使用一個LV給KVM的VM當disk後,速度一樣緩慢,這個可能有影響,但不是主因。
以下是使用libvirt,劃一個LV給VM用的domain XML片段
其中,/dev/ubuntu/kvm_3即是一個LV。
後來乾脆在Ubuntu安裝GUI (Ubuntu Server 原本無 GUI),再安裝virt-manager,使用virt-manager create一個VM,同樣使用file當VM的image;start VM後,發現VM速度很快,至此幾乎確認問題應該不在 disk。
使用virsh dumpxml將virt-manager create的VM的XML show出來,再一行一行比對,發現最根本原因在於第一行,virt-manager的VM是
我原來用libvirt create VM的第一行是
答案揭曉,若將domain type設定為qemu,會呼叫的emulator為/usr/bin/qemu-system-x86_64;若將domain type設定為kvm,emulator為/usr/bin/kvm。
因為Core i7有 vmx flags,使用kvm的方式會快上許多,若使用qemu當emulator,可能會有一次轉換的動作,導致效能低落。
將所有 VM 的 domain type 換成 KVM 後,速度已有明顯改善。
沒有留言:
張貼留言