在Ubuntu 12.04 LTS服务器上借助KVM实现虚拟化

本文解释了如何安装和使用KVM,以便在Ubuntu 12.04 LTS服务器上创建和运行虚拟机。我会介绍如何创建基于镜像的虚拟机,还会介绍如何创建使用逻辑卷(LVM)的虚拟机。KVM的全称是基于内核的虚拟机,它充分利用了硬件虚拟化技术,也就是说你需要支持硬件虚拟化的处理器,比如英特尔VT或AMD-V。

我不保证本文介绍的步骤适用于你的情况!

1. 首页附注

我在本文中使用主机名为server1.example.com和IP地址为192.168.0.100的机器作为KVM主机。

由于我们将以根用户权限(root privilege)运行本文介绍的所有步骤,所以可以用字符串sudo为本教程中的所有命令加上前缀,或者只需输入下面这个命令,立即成为根用户。

sudo su

2. 安装KVM和vmbuilder

首先检查你的处理器是否支持硬件虚拟化;如果支持,下面这个命令

egrep '(vmx|svm)' --color=always /proc/cpuinfo

应该会显示这样的内容:

root@server1:~# egrep '(vmx|svm)' --color=always /proc/cpuinfo

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush

mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl extd_apicid

pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch lbrv

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush

mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl extd_apicid

pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch lbrv

root@server1:~#

要是什么都没显示,那么你的处理器不支持硬件虚拟化,你必须在此停住。

想安装KVM和vmbuilder(创建基于Ubuntu的虚拟机的一个脚本),我们运行:

apt-get install ubuntu-virt-server Python-vm-builder kvm-ipxe

之后,我们必须将用户作为目前登录的用户(根用户)添加到群组libvirtd:

adduser `id -un` libvirtd

adduser `id -un` kvm

你需要退出,重新登录,那样新的群组成员资格才生效。

想检查KVM是否已成功安装,运行

virsh -c qemu:///system list

它显示的内容应该像这样:

root@server1:~# virsh -c qemu:///system list

Id Name State

----------------------------------

root@server1:~#

如果它显示的而是错误,那么准是出了什么问题。

接下来,我们需要在服务器上建立网桥,以便可以从其他主机访问我们的虚拟机,好像虚拟机是网络中的物理系统。

为此,我们安装了程序包bridge-utils......

apt-get install bridge-utils

并配置网桥。打开/etc/network/interfaces:

vi /etc/network/interfaces

在改动之前,我的文件像下面这样子:

# 该文件描述了系统上可用的网络接口,

# 以及如何激活这些网络接口。欲知详情,请参阅接口(5)。

# 回送网络接口

auto lo

iface lo inet loopback

# 主网络接口

auto eth0

iface eth0 inet static

address 192.168.0.100

netmask 255.255.255.0

network 192.168.0.0

broadcast 192.168.0.255

gateway 192.168.0.1

dns-nameservers 8.8.8.8 8.8.4.4

相关推荐