2013年1月20日

Ubuntu Linux KVM 虛擬機器維護與 Guest OS 文字介面安裝

上次的筆記是關於 KVM 虛擬化伺服器的建置,免費的虛擬化解決方案中,KVM 虛擬機器的執行效能相當好,只要配置足夠的記憶體、使用固態硬碟,就能輕鬆將伺服器一台變多台。

關於 KVM 與其他虛擬化軟體的比較。

目前 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


在等待虛擬機器建置過程,可利用 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 連線比較順)。

沒有留言:

張貼留言

lyhcode by lyhcode
歡迎轉載,請務必註明出處!