作业环境
服务器端
操作系统:Red Hat Enterprise Linux Server release 6.0 (Santiago)
KVM:qemu-kvm-0.12.1.2-2.113.el6.x86_64
客户端
操作系统:Windows 7
KVM管理工具:Xming 6.9
一、安装KVM及相关软件
1、KVM 需要有 CPU 的支持(Intel vmx 或 AMD svm),在安装 KVM 之前检查一下 CPU 是否提供了虚拟技术的支持:
[root@etone ~]# egrep '^flags.*(vmx|svm)' /proc/cpuinfo
有显示, 有显示则说明处理器具有VT功能
2、在主板BIOS中开启CPU的Virtual Technolege(VT,虚化技术)
3、安装kvm及其需要的软件包
[root@etone ~]# yum install kvm virt-* libvirt
4、检查kvm模块是否安装,使用以下命令显示两个模块则表示安装完成
[root@etone ~]# lsmod | grep kvm
5、客户端安装Xming远程管理软件
一路默认就OK了,装到当前Win 7系统的系统盘。
二、启动virt-manager管理界面
1、客户端
运行Xming,需要若干设置,基本是一路默认,在“Specify parameter settings”中,勾选“No Access Control”选项。
2、服务器端
启动libvirtd服务,并保证下次自动启动
[root@etone ~]# service libvirtd start
Starting libvirtd daemon: [ 确定 ]
[root@etone ~]# chkconfig libvirtd on
将KVM显示导出到客户端PC
[root@etone ~]# export DISPLAY=10.8.110.28:0
[root@etone ~]# virt-manager
3、此时,在客户端Win 7系统中会自动弹出Virtual Machine Manager(VMM)管理界面
4、注:当前的Red Hat版本下,客户端VMM无法显示文字内容
需在服务器物理机上手动安装相关字体包
[root@etone ~]# yum install dejavu-fonts-common-2.30-2.el6.noarch
[root@etone ~]# yum install dejavu-sans-fonts-2.30-2.el6.noarch
三、远程创建和管理KVM虚拟机
1、将Windows2003-Enterprise-SP1的iso镜像上传到服务器端。
2、在客户端Virtual Machine Manager工具栏中,单击“New”,弹出创建虚拟机对话框。五个步聚,按提示操作基本能顺利创建:
? 第一步是设置虚机名称,选择安装方式,这里设为从“Local install media”安装;
? 第二步选择iso镜像,并选择操作系统类型及其具体的版本;
? 第三步设置内存大小和CPU数量;
? 第四步创建虚拟硬盘;
? 第五步是摘要信息
3、虚拟机创建完成后,直接运行并从CDROM启动安装Guest OS
4、Guest OS安装完成后,在Virtual Machine Manager主界面监控列表中可见
通过工具栏中的“Open”按钮,可以进入该虚拟机管理界面,在其“Consol”中可操作Guest OS
“Details”中可查看或修改Guest OS的配置信息
5、安装完成后需要将默认的IDE硬盘和网卡换成virtio,并打上驱动程序,这样性能就可以得到提升。
6、在远程管理KVM虚拟化物理主机的过程中,可以动态调节VM的内存,实现clone,开机,关机,暂停主机等操作。
7、服务器端使用virsh list命令可查看主机虚拟化情况
[root@etone ~]# virsh list
8、KVM虚拟机的信息保存在 /var/lib/libvirt目录下
三、KVM默认网络配置
1、kvm上网有两种配置,
一种是default,它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。
另外一种方式是bridge方式,可以使用虚拟机成为网络中具有独立IP的主机。
yum install bridge-utils
2、Guest OS安装完成时,网卡默认为“Realtek RTL8139 Family PCI Fast Ethernet NIC”,并已装好网卡驱动。其上网方式是默认的NAT,内网地址为192.168.0.0网段的内网地址。
3、在服务器端查看kvm桥接情况,三组对比数据如下:
a.没有虚拟机运行时
[root@etone ~]# brctl show
b.有一台虚拟机运行时
[root@etone ~]# brctl show
c.有两台虚拟要运行时
[root@etone ~]# brctl show
4、virbr0的配置文件在/var/lib/libvirt/network目录下,默认配置为:
[root@etone ~]# cat /var/lib/libvirt/network/default.xml
四、配置bridge上网方式
1、创建桥接器
在/etc/sysconfig/network-scripts目录下,创建一个ifcfg-br0 文件,其类型设为Bridge:
[root@etone ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTRPOTO=static
IPADDR=10.8.0.124
NETMASK=255.255.0.0
NETWORK=10.8.0.0
GATEWAY=10.8.1.254
ONBOOT=yes
2、将物理接口桥接到桥接器
修改eth0的内容(本服务器是用eth0上网的),去掉其IP相关信息,加上“BRIDGE=br0”,将其桥接到br0上;如果是双网卡或是多网卡,照此过程修改:
[root@etone ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:1e:c9:f0:b6:a7
NM_CONTROLLED=yes
ONBOOT=yes
#IPADDR=10.8.0.123
BOOTPROTO=none
#NETMASK=255.255.0.0
TYPE=Ethernet
#GATEWAY=10.8.1.254
#DNS1=10.8.1.1
IPV6INIT=no
USERCTL=no
BRIDGE=br0
3、重启物理机网络服务
[root@etone ~]# service network restart
此时,物理机的IP地址由10.8.0.123变成了10.8.0.124。
4、查看当前桥接情况(有一个虚拟机正在运行)
[root@etone ~]# brctl show
5、将虚拟机接口桥接到桥接器
[root@etone ~]# brctl delif virbr0 vnet0
[root@etone ~]# brctl addif br0 vnet0
[root@etone ~]# brctl show
这一步也可以在Virtual Machine Manager中进行。
6、将虚拟机Guest OS IP设置为同一网段地址:10.8.110.220
此时,该虚机可以访问外部网络,并可被(由于是局域网环境,这里仅限于被10.8.0.0/255.255.0.0)外部网络访问。