目前在Linux上流行的虚拟机软件有kvm和xen等,从Linux2.6.20之后,kvm被集成在各个Linux的主要发行版之中。

kvm是kernel-based virtual machine的简称。

在使用kvm之前,先查看cpu信息,看是否支持虚拟化,命令:

cat /proc/cpuinfo

在列出的信息中有如下一行:

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mcacmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nxlm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx smxest tm2 ssse3 cx16 xtpr sse4_1 lahf_lm

如果里面有vmx或是svm,那么恭喜了,你的cpu是可以支持安装虚拟机的。

安装:

我的系统是ubuntu 12.10 server,在安装系统的时候就选择了virtual machine host,各位如果不是ubuntu的,可以自行安装,这里就不详细说明了。

此外,还需要自行安装virtinst,用来创建虚拟机分区及安装系统。

sudo apt-get install virtinst virt-viewer

修改网络配置

准备:

安装虚拟系统,需要有一个系统的iso镜像文件,并将iso文件挂载起来:

sudo mkdir /media/iso
sudo mount -o loop /vms/iso/ubuntu-12.04-server-i386.iso /media/iso
cd /media/iso
python -m SimpleHTTPServer &

这样,就使用python创建了一个简易的http server,留作之后的安装步骤使用。

创建虚拟机:

将以下内容写到一个bash脚本,如:build.sh

#!/bin/bash
if [ "$#" -ne 2 ]; then
echo "Usage: $0  "
exit 0

fi
name=$1
file=$2

virt-install -n ${name} 
-r 512 --vcpus=2 --nographic 
--os-type=linux --os-variant=ubuntuLucid 
--disk path=${file},size=5 
-v --arch=i386 -d 
--connect qemu:///system 
--accelerate 
--location http://localhost:8000/ubuntu  
--extra-args="text console=tty0 utf-8 console=ttyS0,115200"

使用:

使用刚刚创建的bash脚本即可开始创建虚拟系统,执行后很快就会进入到系统的安装界面,按照向导操作即可。

./build.sh vmname1 /vms/imgs/vm1.img

虚拟机配置:

1、查看虚拟机:

virsh --connect qemu:///system

会进入到虚拟机管理的shell界面,通过

list --all

命令,可以列出当前全部的虚拟机,并看到当前虚拟机的状态。

2、启动虚拟机

start vmname1

3、停止虚拟机

shutdown vmname1

4、删除虚拟机

undefine vmname1
destroy vmname1