在指令行中安裝kvm ubuntu 10.04虛拟機
posted in linux on 2011-06-12 17:09:32 , tagged with kvm, linux, ubuntu.
一般虛拟機都很容易安裝,尤其是使用有圖形界面的虛拟機軟體。
但在某些場合,隻能指令行安裝。
現在linux流行的虛拟機軟體有xen\kvm等。ubuntu自從9.04開始,從源中去掉xen,轉為提供kvm。本文記錄下指令行安裝kvm虛拟機的過程。
host主機是在ubuntu 11.04,安裝的guest主機将使用ubuntu 10.04
準備
1 sudo apt-get install kvm libvirt-bin virtinst
你還需要有一個ubuntu 10.04 的iso,我選用的是server 32位版。然後把iso mount起來
1 sudo mkdir /media/iso
2 sudo mount -o loop /media/1t/iso/linux/ubuntu-10.04.2-server-i386.iso /media/iso
3 cd /media/iso
4 python -m simplehttpserver
使用python指令可以以目前目錄為根目錄,建立一個簡易http server,留作之後的步驟使用。
建立虛拟機
将以下内容寫到一個bash腳本,如build.sh:
1 #!/bin/bash
2
3 if [ "$#" -ne 2 ]; then
4 echo "usage: $0 "
5 exit 0
6 fi
7
8 name=$1
9 file=$2
10
11 virt-install -n ${name} \
12 -r 512 --vcpus=2 --nographic \
13 --os-type=linux --os-variant=ubuntulucid \
14 --disk path=${file},size=5 \
15 -v --arch=i386 -d \
16 --connect qemu:///system \
17 --accelerate \
18 --location http://localhost:8000/ubuntu \
19 --extra-args="text console=tty0 utf-8 console=ttys0,115200"
使用
1 ./build.sh datanode1 vm1.img
即可開始建立guest os,過程中會有一段時間黑屏,kvm程序會占用大量cpu,這是正常的,請耐心等待。
很快會進入到指令行安裝ubuntu的界面,按照向導操作即可。其中有一步讓你選安裝什麼包,請選上openssh,當然你也可以之後再安裝。(其中有一步是選擇源鏡像,按照某文章,是可以用iso mount起來,然後建立http伺服器來作為源的,但我嘗試失敗了,如果你知道,請告訴我)
經過漫長的從網上源下載下傳安裝後,ubuntu guest os就已經裝好了。
配置虛拟機
使用virsh指令可以進入虛拟機管理shell,list –all指令可以列出現有的虛拟機。
使用start datanode即可啟動虛拟機,使用console datanode即可把目前console連接配接上虛拟機。
登入進虛拟機後,檢視下ip。推薦使用ssh登入虛拟機而不是console,console模式在vi編輯時會有問題,應該是shell的問題,懶得深究了。
預設kvm的虛拟機會使用nat/dhcp配置,這裡我把它改成static ip,友善之後ssh登入。
配置靜态ip
1 sudo vi /etc/network/interfaces
将iface eth0 inet dhcp那行注釋掉,配置如下:
1 iface eth0 inet dhcp
2 iface eth0 inet static
3 address 192.168.122.101
4 netmask 255.255.255.0
5 gateway 192.168.122.1
然後執行指令
1 sudo ifdown eth0 && sudo ifup eth0
建立第二個虛拟機
有了第一個虛拟機,如果需要建立另一個一模一樣的虛拟機,可以使用virt-clone指令。
1 virt-clone --connect=qemu:///system -d -f vm2.img -o datanode1 -n datanode2
複制好之後,需要修改一些地方以便與之前源虛拟機區分開來。
通過console連接配接上datanode2,編輯/etc/hosts和/etc/hostname,修改datanode1為datanode2
然後執行
1 sudo rm /etc/udev/rules.d/70-persistent-net.rules
2 sudo reboot
重新開機後即可讓虛拟機生成自己的網絡配置
重複上一節的配置靜态ip步驟,并在host主機内配置hosts指向guest os的位址。至此,多個虛拟機的配置即告完成。
參考:
installing an ubuntu 10.x kvm guest os from the command-line (virt-install and virsh)
kvmcreateguests
how clone a kvm virtual machine on ubuntu server