Ubuntu下使用KVM


安装了一个Ubuntu 11.10,这个还算比较不错,稳定性嘛,还可以,UAC控制跟Win7的差不多,就是易用性差点。觉得它最棒的就是软件仓库,那简直就是个利器。装什么软件都不愁了。那么,一直想试一下它的KVM,这个内核2.6以上版本的都支持,据说速度贼快,反正我的CPU也支持VT技术,何不一用?

网上教程很多,个人感觉也不错,就是有一点,KVM做桥接(bridge)的时候,出现了点小问题,把它记录下来。

默认情况下,KVM是没有安装的,在安装之前,需要先检查一下,CPU是否支持VT技术

1. 切换到root模式
默认情况下,ubuntu的root帐号是没有启用的,要启用,需要做一些设置,为了安装方便,就启用root吧
sudo passwd root
输完密码后,su root进入高权限模式

2. 检查CPU信息
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 dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm dts tpr_shadow vnmi flexpriority
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm dts tpr_shadow vnmi flexpriority
如果出现这个,就表示支持VT技术 www.bkjia.com
还可以用这个命令
egrep -c  '(vmx|svm)' --color=always /proc/cpuinfo
如果为0,表示符合的个数为0,那么肯定不支持了,如果大于0,那么可能有一个或两个符合结果,就支持vmx或svm

3. 安装kvm所需软件,ubuntu这个很方便
apt-get ubuntu-virt-server python-vm-builder kvm-pxe

4. 将用户加入到kvm管理组里面
adduser “id -un” libvirtd
adduser “id -un“ kvm
如果id -un无法加入,那么使用用户名替换

5. 检测安装是否成功
运行virsh -c qemu:///system list
如果出现
root@server1:~# virsh -c qemu:///system list
 Id Name                 State
----------------------------------
6. KVM的桥接
默认情况下,启动kvm后,自带NAT模式,生成一个网卡virbr0,网段是192.168.122.0的,这个虽然可以联网,但是网络功能受限,毕竟,一些服务需要端口都要开,NAT模式不能满足需求,那么就需要使用桥接模式,使用这个模式需要单独下载安装桥接软件
apt-get install bridge-utils

7. 桥接配置
安装完成后,还需要配置一下桥接接口,在ubuntu下,桥接接口被定义为br0,需要手动配置一下,这个地方弄错了,配置的时候出现问题,导致无法上网,所以需要小心配置。这个无非就是配置ubuntu的网络设置,跟RHEL
里面的system-config-network是一样的。在ubuntu中,使用vim打开网络配置文件
/etc/network/interfaces
记得提前安装vim,ubuntu的vi难用至极
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto br0
iface br0 inet dhcp
bridge_ports eth0
这个配置文件定义了3个网卡设备,lo跟eth0不用说了,关键是br0,配置跟eth差不多,关键是bridge_ports eth0
指定要桥接到哪一块网卡,这个需要明确定义
说一下配置文件interfaces,跟RHEL还真不太一样
开机自动启动网卡
auto 网卡接口
获取IP的方式,dhcp或静态
iface eth0 inet dhcp(static)
如果是静态的话,还需要设置ip与网关

address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
跟RHEL还真不太一样啊。
ok了,保存之后就开始下一步了

8. 启动网络服务
有两种方法
/etc/init.d/networking restart
或者
ifup br0
9. 查看配置结果
ifconfig
可以看到br0已经启动了
br0       Link encap:以太网  硬件地址 00:22:15:ca:59:2e 
          inet 地址:192.168.1.102  广播:192.168.1.255  掩码:255.255.255.0
          inet6 地址: fe80::222:15ff:feca:592e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1
          接收数据包:10 错误:0 丢弃:0 过载:0 帧数:0
          发送数据包:47 错误:0 丢弃:0 过载:0 载波:0
          碰撞:0 发送队列长度:0
          接收字节:1920 (1.9 KB)  发送字节:10157 (10.1 KB)
10. 现在可以启动KVM管理器,通过图形界面安装虚拟机了
11. 其实还有命令行安装,这个比较cool,还没开始看,等下一篇。
12. 期望有snapshot功能,这个功能可方便了,特别是做实验的时候,相当方便,不知道kvm有这个功能不

相关内容