關於 KVM 與其他虛擬化軟體的比較。
- Ubuntu 11.10: Xen vs. KVM vs. VirtualBox
- Xen vs KVM vs VirtualBox - Comparison of Open Source Virtualization Software
目前 Ubuntu 除了可以容易安裝 KVM 所需的工具套件外,也有寫得算清楚的使用說明。
https://help.ubuntu.com/community/KVM/
為充分利用資源有限的硬體資源,所以在 Host 上並不安裝圖形化桌面環境,只透過 command-line 進行維護。
先安裝 virsh 的套件。
sudo apt-get install libvirt-bin
利用 virsh 連到 KVM Host 進行維護。
virsh --connect qemu:///system
使用 list --all 列出所有虛擬機器。
virsh list --all
輸出範例。
Id Name State
----------------------------------
1 vm1 running
3 vm2 running
維護指令包括:
virsh shutdown vm1
virsh destroy vm1
virsh start vm1
virsh suspend vm1
virsh resume vm1
安裝 virtinst 套件,用於自動建立 VM 並安裝 Guest OS。
sudo apt-get install virtinst
使用 virt-install 指令建立名稱「vm3」的虛擬機器,設定記憶體 1024MB、單顆 CPU、硬碟容量 20GB,並指定從 http://tw.archive.ubuntu.com/ubuntu/dists/precise/main/installer-i386/ 位置自動安裝作業系統,如此一來就不需要先下載 .iso 檔案。
sudo virt-install --connect qemu:///system -n linuxvm -r 1024 --vcpus=1 --disk path=/var/lib/libvirt/images/linuxvm.img,size=20 --os-type linux --os-variant ubuntuprecise --location http://tw.archive.ubuntu.com/ubuntu/dists/precise/main/installer-i386/ --accelerate --network=bridge:br0 --hvm --nographics --network=network:default \ --extra-args="auto text console=tty1 console=ttyS0,115200"
等待開機程式載入,就會進入 Ubuntu Linux Server 純文字的安裝模式。
![]() |
Ubuntu Linux 12.04 LTS in Console Text-based Installation |
![]() |
Ubuntu Linux 12.04 LTS in Console Text-based Installation |
關於 virt-install 指令可參考:Installing a KVM Guest OS from the Command-line (virt-install)
在等待虛擬機器建置過程,可利用 htop 方便觀察主機狀態。
sudo apt-get install htop
htop
若需要重新連上虛擬機器的 Console:
virsh console linuxvm
刪除虛擬機器的步驟。
virsh destroy linuxvm
virsh undefine linuxvm
virsh vol-delete --pool default linuxvm.img
第二種快速自動化安裝作業系統的方法,可以使用 ubuntu-vm-builder 或 vmbuilder 指令。
sudo apt-get install ubuntu-vm-builder python-vm-builder
使用 ubuntum-vm-builder 的範例。
sudo ubuntu-vm-builder kvm precise --addpkg vim --mem 1024 --libvirt qemu:///system
使用 vmbuilder 的範例(+ 進階參數設定)。
先切換成 root 身分。
sudo su -
切到 libvirt 的 images 資料夾下。
cd /var/lib/libvirt/images
查看 vmbuilder 可用的選項:
vmbuilder kvm ubuntu --help
執行 vmbuilder 加上參數指定選項設定。
vmbuilder kvm ubuntu \
--domain=kvm \
--dest=linuxvm \
--arch=i386 \
--hostname= linuxvm \
--mem=1024 \
--cpus=1 \
--user=kyle \
--pass=reverse \
--bridge=br0 \
--ip=192.168.0.101 \
--mask=255.255.255.0 \
--gw=192.168.01. \
--dns=8.8.8.8 \
--iso=/var/lib/libvirt/images/ubuntu-12.04.1-server-i386.iso \
--suite=precise \
--components='main,universe,restricted' \
--addpkg=vim \
--addpkg=build-essential \
--addpkg=openssh-server \
--libvirt=qemu:///system
結論:KVM + Ubuntu Server 建置虛擬化伺服器有優異的效能,而容易在全文字的 Console 介面下操作,甚至包括安裝作業系統都在純文字模式中進行,對於經常需要遠端連線操作的管理者,即使是利用速度很龜又不穩的 3G 網路,也可以輕鬆維護虛擬系統(建議搭配 mosh 讓 ssh 連線比較順)。
沒有留言:
張貼留言