1.kvm在server端的部署(针对rhel6系统,可以构建本地更新源)
对服务器实行kvm虚拟化首先需要确认服务器的物理硬件是否支持
#cat /proc/cpuinfo | grep (vmx|smv)
如果服务器对kvm支持,则可以安装kvm模块虚拟化物理主机
安装kvm模块
#yum install qemu-kvm.x86_64
安装kvm调试工具(可以不安装)
#yum install qemu-kvm-tools.x86_64
安装python组件,主要用来记录创建vm时的xml文件
#yum install python-virtinst.noarch
安装qemu组件,使用qemu命令来创建磁盘,启动虚拟机等
#yum install qemu-img.x86_64
安装网络支持工具
#yum install bridge-utils.x86_64
安装虚拟机管理工具,使用virsh来管理虚拟机
#yum install libvirt
安装图形界面管理虚拟机(对于远程的被管理主机,可以不安装)
#yum install virt-manager
2.检查kvm模块是否安装完成
#lsmod | grep kvm
会显示两个模块
kvm_intel/ kvm_amd
kvm
3.检查物理主机虚拟化完成情况
#virsh list
正确安装后会有以下显示:
Id Name State
----------------------------------
5.在本地管理端安装virt-manager
#yum install virt-manager
或者
#apt-get install virt-manager
以上五个步骤可以总结出以下的图形
server <------------------------------> client
qemu-kvm.x86_64 virt-manager
python-virtinst.noarch
qemu-img.x86_64
bridge-utils.x86_64
libvirt
然后就可以在远端进行访问和控制server的虚拟机。
6.网络配置
rhel的配置如下:
创建一个ifcfg-br0 文件 路径/etc/sysconfig/network-scripts/ifcfg-br0
填写以下内容:
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.1.213
NETMASK=255.255.255.0
GATEWAY=192.168.1.10
ONBOOT=yes
修改eth0的内容:/etc/sysconfig/network-scripts/ifcfg-eth0 成以下的形式:
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0
NM_CONTROLLED=no
如果是双网卡或是多网卡,照此过程修改即可。
然后重启物理机网络
#service network restart
debian的配置如下:
/etc/network/interfaces
auto eth0 --> 改成 auto br0
其他的更改成以下的形式:
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_maxwait 0
bridge_fd 0
如果有多块网卡,照次修改即可。
最后重启网络
#/etc/init.d/networking restart
7.创建lvm存储池容纳虚拟机镜像,同时远程连接物理主机进行管理。
创建lvm存储池的过程可以参考有关lvm的使用的文档。
远程连接主机需要被管理的物理主机开启远程root的功能,可以采用rsa加密提供密码的方式提高安全性,同时还可以采用限制访问ip的方法进一步保证安全。
virt-manager--->建立新的连接---->选择ssh连接方式
输入访问主机的用户和ip以及端口如:
[email protected]:168
然后输入密码就可以连接到远程的主机了。
由于使用的vnc来连接远程虚拟机的,所以可以显示图形界面,但是受网速影响较大。当然也可以采用RedHat开源的Spice技术来得到虚拟化桌面的效果,后者可以尝试。
8. 对以上的总结:
在远程管理KVM虚拟化物理主机的过程中,可以动态的调节VM的内存,实现clone,开机,关机,暂停主机等操作。同时在有相关物理环境下也可以实行动态迁移。跟Xen虚拟化技术相比,KVM技术可以实现远程安装虚拟机的,而由于Xen自身的原因,利用libvirt还不能实现该功能。
在利用LVM的过程发现不能利用LVM的动态扩展技术对分配给VM的磁盘空间进行动态扩展,这方面由于KVM使用了Qemu作为磁盘模拟器的原因,对分配的LVM磁盘进行处理,添加了额外的因素导致LVM磁盘块不能被物理主机识别。看来Xen和KVM各有利弊。