PS:虚拟化技术已经成为未来计算机技术的一个重要的发展方向。Linux在虚拟化方面已经有了很多种解决方案:VMware、VirtualBox、Xen和KVM。最近利用课余时间学习xen让自己收获良多,所以想了解更多更深的原理,更多搭建虚拟化集群解决方案,下面将分享一下kvm的搭建学习过程!
-
KVM简介
KVM是一个全虚拟化的解决方案。可以在x86架构的计算机上实现虚拟化功能。但KVM需要CPU中虚拟化功能的支持,只可在具有虚拟化支持的CPU上运行,即具有VT功能的Intel CPU和具有AMD-V功能的AMD CPU。
在kvm技术中应用到2样东西:kvm+qemu
kvm负责cpu虚拟化+内存虚拟化,实现了cpu和内存的虚拟化,但kvm不能模拟其他设备;
qemu是模拟IO设备(网卡,磁盘),kvm加上qemu之后就能实现真正意义上服务器虚拟化。
因为用到了上面两个东西,所以一般都称之为qemu-kvm -
宿主机和虚拟机重要概念
-
宿主机
“宿主机”就是你安装kvm的机器,是真实的机器.不是虚拟机,在vmware中通过搭建centos再安装kvm的实验事实告诉我这个不能现实的!
-
虚拟机
虚拟机是指通过虚拟化技术虚拟出来的机器!就像本测试kvm方案下虚拟出机器一样,不是真实存在的!是程序的一种虚拟化!
-
-
作业环境
#宿主机端: #操作系统:CentOS-6.5-x86_64-minimal #cpu类型:intel
-
检查宿主机CPU是否支持虚拟化
在主板BIOS中开启CPU的Virtual Technolege(VT,虚化技术)
#全虚拟化检查:结果大于0表示支持 #其中vmx是intel cpu 标志,svm是amd cpu 标志 [root@local ~]# cat /proc/cpuinfo | egrep '(vmx|svm)' | wc -l;
KVM 需要有 CPU 的支持(Intel vmx 或 AMD svm),在安装 KVM 之前检查一下 CPU 是否提供了虚拟技术的支持,有显示,有显示则说明宿主机处理器具有VT功能
-
升级宿主机系统
#安装常用系统软件包 [root@local ~]# yum -y install vim wget gcc make crontabs mlocate ntp lrzsz gcc-c++ autoconf setuptool ntsysv iptables system-config-securitylevel-tui system-config-network-tui sysstat dstat screen;
-
安装KVM
[root@local ~]# yum groupinstall Virtualization 'Virtualization Client' 'Virtualization Platform' 'Virtualization Tools'
Virtualization:提供虚拟机的环境,主要包含qumu-kvm
virtualization-client:管理和安装虚拟机实例的客户端,主要有python-virtinst,virt-manager,virt-viewer
virtualization-platform:提供访问和控制虚拟客户端的接口,主要有libvirt,libvirt-client
virtualization-tools:管理离线虚拟机镜像的工具,主要有libguestfs根据需求选择软件包。 -
开启libvirtd服务操作
libvirt是调用kvm虚拟化技术的接口用于管理kvn虚拟机的
#状态/开启/停止/重启 [root@local ~]# service libvirtd {status|start|stop|restart} libvirtd (pid 1607) is running... #加入开机启动 [root@local ~]# chkconfig libvirtd on #查看libvirtd开机启动runlevel [root@local ~]# chkconfig --list libvirtd libvirtd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
-
验证是否已经载入KVM模块
[root@local ~]# lsmod | grep kvm kvm_intel 54285 0 kvm 333172 1 kvm_intel
注: 如果没有显示kvm-intel内核模块,就说明宿主机 VT可能在BIOS里被关闭了,请开启