KVM是Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM已成为学术界的主流VMM之一。

KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术),是基于硬件的完全虚拟化而Xen早期则是基于软件模拟的Para-Virtualization(半虚拟化技术)新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization(全虚拟化技术)

安装方法

一、安装准备

1、确定机器有VT

终端输入命令: grep vmx /proc/cpuinfo (INTEL芯片)

grep svm /proc/cpuinfo (AMD芯片)

不知道芯片的生产厂商则输入:egrep '(vmx|svm)' /proc/cpuinfo

如果flags: 里有vmx 或者svm就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法成功安装KVM虚拟机。

2、确保BIOS里开启VT

Intel(R) Virtualization Tech [Enabled]

如有必要,还需在BIOS中开启VT-d

3. 确保内核版本较新,支持KVM

用uname -r查看内核版本,如果在2.6.20以下的linux版本,需升级内核。

二、安装KVM

下面就Ubuntu和CentOS下安装使用KVM虚拟机做介绍:

Ubuntu 中用guest登陆,安装KVM的命令为:

sudo apt-get install kvm qemu qemu-kvm virt-manager kernel-package linux-source kqemu-source build-essential

kvm安装成功后会有/dev/kvm,如果无需图形管理器,只需要安装前三个即可。

再来查看下KVM是否安装成功,执行:virsh -c qemu:///system list

如果输入结果像下面这样的,那么成功了:

Connecting to uri: qemu:///system

Id Name State

----------------------------------

注1:CentOS中安装时,先要选择Selinux为enable,使用命令

#system-config-securitylevel-tui

可查看或修改selinux的状态。

注2:CentOS中用root登陆时则安装命令为:

yum install kvm kmod-kvm qemu

再装入kvm模块:modprobe kvm-intel (Intel机器) 或者 modprobe kvm-amd (amd机器)

注3:可以用以下命令来检查是否装入kvm模块:

/sbin/lsmod | grep kvm

如果输出关于kvm版本的信息则已装入kvm模块

注4:安装好后,可使用qemu-kvm命令,输入该命令,如果系统显示未知的命令,可查看/usr/libexec中是否有qemu-kvm可执行文件,如果有,将其拷贝到/bin目录下即可。如果确实按照上面的步骤进行了,却在/bin,/usr/libexec,/usr/bin,/usr/sbin里都找不到qemu-kvm可执行文件,可执行以下命令:

#yum provides "*/qemu-kvm"

注5:安装新内核后,可能有部分软件版本过低,不兼容。比如firefox因版本过低,无法启动。

CentOS下可使用如下命令更新该软件(以firefox为例):

#yum update firefox

三、在KVM下安装虚拟机

1、用QEMU创建磁盘镜像

sudo qemu-img create –f qcow windows.img 8G

注:在CentOS和新版Qemu中为:qemu-img create –f qcow2 windows.img 8G

2、使用KVM安装Guest VM

光盘安装:

sudo kvm –localtime –cdrom /dev/cdrom -m 512 -boot d win2.img

硬盘安装:

sudo kvm –localtime –m 512 –hda windows.img –cdrom winxp.iso –boot d –clock –rtc –no-acpi

注:官方推荐使用 -no-acpi 参数,原因是 qemu/kvm不太支持,可能造成 cpu 的占用偏高。

注1:CentOS下硬盘安装为 qemu-kvm –localtime –m 512 –hda windows.img –cdrom winxp.iso –boot d –no-acpi 即需要去掉了-clock rtc选项,否则会出现无法初始化时钟。

注2:CentOS quest mouse: export SDL_VIDEO_X11_DGAMOUSE=0可解决VM中无法识别USB鼠标的问题。

注3:安装win 7时,不能使用-no-acpi选项。

使用

KVM启动Guest

① sudo kvm –boot c –m 512

–hda windows.img

② sudo kvm -boot c

-m 512

-hda /home/lm/kvm/winxp.img

-localtime

-net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tap0,script=no

-clock rtc

-soundhw es1370

-smp 2

注意:在KVM-87下,请去掉df=h

-m 512 分配512MB的内存

-hda /home/lm/kvm/winxp.img

-localtime 使用本地时间(一定要加这个参数,不然虚拟机时间会有问题)

-net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tapo,script=no

使用网络,并连接到一个存在的网络设备tap0,注意mac地址一定要自己编一个,特别是如果你虚拟了多个系统并且要同时运行的话,不然就MAC冲突了,在KVM-87下去掉df=h

-boot d 从光盘启动 (从镜像启动也是用这个。从硬盘启动则为 -boot c )

-smp 2 smp处理器个数为2个,如果你是4核处理器,后面的数字就为4

-clock rtc

使用rtc时钟(如果不开启此选项,WINXP可能会很慢)

KVM管理工具

能够管理KVM的工具很多。首先是单个资源的基础虚拟化管理,有开源的虚拟化工具集libvirt(lib virtual tools)通过命令行接口提供安全的远程管理,可管理单个系统

然后是管理全部运行KVM的多个服务器,有两种:用Red Hat Enterprise Virtualization-Management,即RHEV-M(管理多个RHEV-H系统)和IBM Systems Director VMControl(管理多个RHEL系统)。

最后有Tivoli产品。包括Tivoli Provisioning Manager、Tivoli Service Automation Manager与Tivoli Monitoring for Virtual Servers。

IBM Systems Director VMControl

IBM Systems Director VMControl既能实现异构多平台管理,也能实现异构多系统管理。VMControl是IBM平台管理方案Systems Director的一部分,覆盖了虚拟化管理三个关键领域:虚拟化、管理与自动化。VMControl也可作为独立的产品插件使用。

前不久,IBM发布了新版VMControl 2.4,可管理KVM与其他hypervisor(超级监督者,管理程序,虚拟机监视器)。VMControl即能管理物理资源也能管理虚拟资源,还能管理异构hypervisor。用户在现有运行VMware的环境中再安装KVM,管理也无压力。

VMControl 2.4允许跨平台跨hypervisor的镜像管理,降低了复杂性、提升了生产效率。该软件支持IBM PowerVM、z/VM VMware、Microsoft Xen 与KVM服务器虚拟机技术。主要分为三个版本:

  • VMControl Express Edition:轻松管理虚拟机。发现虚拟化资源,了解系统运作情况,并能虚拟工作负载。包括查看、创建、修改与删除虚拟机;开启、停止与迁移虚拟机,以及管理多hypervisor。

  • VMControl Standard Edition:侧重管理虚拟机镜像。添加对虚拟镜像库的完整支持,包括创建、捕捉、输入和部署镜像。自动化资源配置并能移动资源。

  • VMControl Enterprise Edition:自动化工作负载配置。创建并启用系统池管理,自动移动工作负载,完全支持KVM。

Tivoli产品系列

Tivoli是IBM Systems Director与VMControl的有益补充。提供高级别的端到端管理功能。主要的Tivoli产品已经能够支持KVM。Tivoli重要功能有如下三个:

  • IBM Tivoli Monitoring:通过对候选虚拟化服务器历史趋势的分析,作出整合级别的优先次序。此外,让用户对系统事件作出最佳反应。

  • Tivoli Provisioning Manager:为物理与虚拟软硬件提供端到端的自动功能。包括发现并追踪虚拟资源、同时创建上百台虚拟机,以及自动为Linux服务器配置软件。

  • Tivoli Service Automation Manager:自动请求、部署、监控并管理云计算服务。通过自动化与对技能需求的降低,减少了服务交付成本,同时交付了高度标准化的IT服务,节省了IT管理员时间去完成高价值任务。

RHEV-M

RHEV-M(Red Hat Enterprise Virtualization-Management)使用图形用户界面管理物理与逻辑资源。允许管理员查看并管理虚拟机及其镜像,还支持热迁移,配置高可用性集群。随着RHEV 3.0的发布,RHEV-M 3.0也已可用。

作为红帽虚拟化平台的核心组件,RHEV-M管理控制台还能运行虚拟机的主机节点。可将RHEV-H hypervisor或带有虚拟化授权的R红帽企业Linux服务器配置为节点。这两种类型的节点使用KVM作为底层的hypervisor。RHEV-H hypervisor是设置RHEV节点的默认选项,它是裸机hypervisor,只包含了运行虚拟机RHEL代码的一个子集。正因为如此,RHEV-H主机的维护更加容易。此外,这些主机需要较少的补丁和维护就能确保其安全性。

RHEV-H基础文件系统只有100多MB而且运行在内存中,这避免了对基础镜像的改变。专用的安全增强型Linux策略以及防火墙阻塞了所有流量,保证了RHEV-H节点的安全性。

RHEV管理器同样还支持运行KVM的RHEL主机。这一特性使在现有RHEL环境中部署RHEV更加容易。

此外,还有很多开源工具可以管理KVM。比如,IBM、红帽等厂商加入到oVirt,这个开源虚拟化项目提供功能丰富的服务器虚拟化管理系统,为主机和子机提供高级功能,包括高可用性热迁移存储管理系统调度等。

转自:百度百科-验证

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐