搭建环境
操作系统:CentOS 6.5 final x86_64
KVM:qemu-kvm-0.12.1.2-2.479.el6_7.3.x86_64
工具:Win7和vnc-viewer(先在服务器端装好VNC,通过VNC viewer连接服务器CentOS)
一、安装KVM及相关软件
1、KVM 需要有 CPU 的支持(Intel vmx 或 AMD svm),在安装 KVM 之前检查一下 CPU 是否提供了虚拟技术的支持:
[root@tsm-test2 kvm]# egrep '^flags.*(vmx|svm)' /proc/cpuinfo|more
有显示, 有显示则说明处理器具有VT功能
2、在主板BIOS中开启CPU的Virtual Technolege(VT,虚化技术)
3、安装kvm及其需要的软件包
[root@tsm-test2 kvm]# yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt libvirt-python python-virtinst
或
[root@tsm-test2 kvm]# yum groupinstall KVM
4、检查kvm模块是否安装,使用以下命令显示两个模块则表示安装完成
[root@tsm-test2 kvm]# lsmod | grep kvm
kvm_intel 52570 0
kvm 314739 1 kvm_intel
二、启动virt-manager管理界面
1、客户端
VNC-viewer到服务器端,需要服务器安装好图形界面
2、服务器端
[root@tsm-test2 kvm]# yum –y install tigervnc-server
[root@tsm-test2 kvm]# vncserver :1
说明:默认:1则为5901端口,请注意防火墙
启动libvirtd服务,并保证下次自动启动
[root@tsm-test2 kvm]# service libvirtd start
Starting libvirtd daemon: [ 确定 ]
[root@tsm-test2 kvm]# chkconfig libvirtd on
三、远程创建KVM虚拟机
使用vnc viewer按如下图连接, IP:1
1.、打开Application=> System Tools => Virtual Machine Manager就可以装虚拟机了,功能跟VMware类似
2、右击“localhost“这行,出现”New“
3、输入虚拟机Name
4、选择安装系统的ISO文件
5、设置内存大小和CPU核数
6、分配虚拟磁盘大小,这里选择取消”立即分配“
7、我们选使用默认的网络连接模式,后续再修改
8、启动虚拟机,这时可以看到系统安装界面了
9、安装好系统以后虚拟机重启中,这时已经完成虚拟机的安装
四、在远程管理KVM虚拟化物理主机的过程中,可以动态调节VM的内存,实现clone,开机,关机,暂停主机等操作。
1、服务器端使用virsh list命令可查看主机虚拟化情况
[root@tsm-test2 kvm]# virsh list
Id Name State
----------------------------------------------------
2 tsm-pro-test2 running
[root@tsm-test2 kvm]#
我在上面装了centOS的虚拟机,命名为tsm-pro-test2
2、KVM虚拟机的信息保存在 /var/lib/libvirt目录下
3、KVM默认网络配置
kvm上网有两种配置,一种是default,它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。另外一种方式是bridge方式,可以使用虚拟机成为网络中具有独立IP的主机。
五.配置bridge上网方式
1、创建桥接器
在/etc/sysconfig/network-scripts目录下,创建一个ifcfg-br0 文件,其类型设为Bridge:
[root@tsm-test2 network-scripts]# more ifcfg-br0
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=static
IPADDR=10.0.0.15
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
[root@tsm-test2 network-scripts]#
2、将物理接口桥接到桥接器
修改eth0的内容(本服务器是用eth0上网的),去掉其IP相关信息,加上“BRIDGE=br0”,将其桥接到br0上;如果是双网卡或是多网卡,照此过程修改:
[root@tsm-test2 network-scripts]# cat ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
BRIDGE=br0
[root@tsm-test2 network-scripts]#
3、重启物理机网络服务
[root@etone ~]# service network restart
4、查看当前桥接情况(有一个虚拟机正在运行)
[root@tsm-test2 network-scripts]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.98be944266a2 no eth0
vnet0
virbr0 8000.5254007820dd yes virbr0-nic
[root@tsm-test2 network-scripts]#
5、将虚拟机接口桥接到桥接器
# brctl delif virbr0 vnet0
# brctl addif br0 vnet0
这一步也可以在Virtual Machine Manager中进行。
6、将虚拟机centOS KVM IP设置为同一网段地址:10.0.0.*
此时,该虚机可以访问外部网络,并可被外部网络访问。