KVM虚拟化部署
KVM必须在具备Intel VT或AMD-V功能的x86平台上运行。KVM包含一个为处理器提供底层虚拟化,可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko)。使用一个经过修改的QEMU(qemu-kvm),作为虚拟机上层控制和界面。
由于KVM仅是一个简单的虚拟化模块,所以它的内存管理没有自我实现,需借助于Linux内核实现内存管理。KVM能够使用Linux所支持的任何存储,在驱动程序的实现上,直接借助于Linux内核来驱动任何硬件。在性能上KVM继承了Linux很好的性能和伸缩性,在虚拟化性能方面,已经达到非虚拟化原生环境95%左右的性能(官方数据)。KVM拓展性也非常好,客户机和宿主机都可以支持非常多的CPU数量和非常大的内存,可以过载使用CPU和内存,还可借助KSM技术实现对内存的过量使用,且保证性能依旧非常不错。
KVM架构
第一步:在实验开始之前,需要有两个工作要做一是开启服务器本身的虚拟化支持,这个在BIOS中开启,另外一个是vm中开启。
虚拟化开启并安装centos系统,建议centos安装64bit。进入系统,首先查看服务器是否支持虚拟化,可以使用如下命令:
more /proc/cpuinfo |grep svm
more /proc/cpuinfo |grep vmx
通过上图我们可以很明显的看到,服务器是支持虚拟化的。那么接下来,我们开始安装KVM
第二步:现在我们来安装kvm及其所需的软件包,可以通过以下命令:
yum -y install qemu-kvm libvirtpython-virtinst bridge-utils
如果你想通过图形化方式来管理KVM的话,可以安装如下软件包:
第三步:以上安装完毕后,我们检测kvm模块是否安装,可以使用如下名:lsmod|grep kvm
通过上图,我们可以很明显的看到kvm模块已经安装成功。
下面我们检测下kvm是否安装成功,我们可以使用以下命令
virsh -c qemu:///system list
(如果这里出现报错,请重启服务器)
第四步:因为虚拟机中网络,我们一般都是和公司的其他服务器是同一个网段,所以我们需要把KVM服务器的网卡配置成桥接模式。这样的话KVM的虚拟机就可以通过该桥接网卡和公司内部分其他服务器处于同一网段。
编辑网卡:
cp/etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-scripts/ifcfg-br0
下面我们来配置桥接网卡br0,根据上述的资料显示,我们知道该网卡时用来做桥接使用的。我们只需要把设备名,修改为br0,设备类型设置为Bridge桥接模式。如下图:
vi/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.240
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
配置完毕后桥接网卡br0后,我们现在来配置物理网卡eth0,
vi/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:98:F6:00
ONBOOT=yes
BRIDGE=br0
重启并查看网卡,使之生效。/etc/init.d/networkrestart
以上配置完毕后,我们现在开始使用KVM安装虚拟机,但是在这之前我们还有几个工作要做。
关闭防火墙:
/etc/init.d/iptables stop
chkconfig iptables off
第五步:创建ISO镜像文件夹,我是使用本地iso镜像;
创建/mnt/iso,把镜像通过scp上传到这个目录即可。
第6步:使用virt-manager建立一个KVM虚拟机
看到这里你就非常熟悉了。