在命令行中安装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