当前位置:首页 > 虚拟化 > 正文

请简述一下kvm虚拟化过程(kvm虚拟化与vmware区别)


一、企业级虚拟化Kvm实战

常用的虚拟化产品有哪些
(redhat)企业级

--Vmware-workstation(windows和linux)桌面级
--Vmware-fusion(mac)
--Vmware-esxi(企业级)本身就是一个操作系统。
-v(微软)
(oracle公司--Windowslinux)virtulbox
(rhel6之前所有版本的默认虚拟化产品)
分类虚拟化技术简介:

我们通常所说的虚拟化主要是指平台虚拟化技术,它是利用控制程序(ControlProgram,也称为VirtualMachineMonitor(虚拟监视器VMM)或Hypervisor)来隐藏的。特定计算平台的实际物理特性为用户提供了一个抽象的、统一的、模拟的计算环境(称为虚拟机)。
平台虚拟化类型

完全虚拟化:

半虚拟化:

硬件辅助虚拟化

部分虚拟化
企业级虚拟化和桌面级虚拟化的区别

从rhel6开始,kvm模块直接做成内核的一部分

默认内核不支持xen在rhel6之前的企业版本中,需要使用xen功能重新安装内核

KVM针对的是运行在x86硬件上的驻留在内核的虚拟化基础设施。KVM是第一个成为本机Linux内核(2.6.20)一部分的虚拟机管理程序,由AviKivity开发和维护,现在归红帽所有,该虚拟机管理程序提x86虚拟化,可以访问PowerPC®和IA64。此外,最近还为对称多处理(SMP)主机添加了KVM。(和guest)支持,并且支持主动迁移(允许guest操作系统在物理服务器之间迁移)等企业级功能

KVM是作为内核模块实现的,因此Linux只需要加载这个模块。它成为一个虚拟机管理程序。KVM为支持虚拟机管理程序指令的硬件平台(例如Intel®虚拟化技术[IntelVT]或AMD虚拟化[AMD-V]产品)提供完整的虚拟化。KVM还支持半虚拟化客户操作系统,包括Linux和Linux。Windows®。

该技术由两个组件实现。第一个是可加载的KVM模块。当安装在Linux内核中时,它可以通过/proc管理虚拟化硬件。文件系统公开其功能。第二个组件用于PC平台仿真,由QEMU的修改版本提供。QEMU作为用户空间进程执行,并根据来宾操作系统请求与内核进行协调。

当一个新的操作系统在KVM上启动时(通过一个名为kvm的实用程序),它就成为主机操作系统的一个进程,因此可以像其他进程一样进行调度。但与传统的Linux进程不同,来宾操作系统被虚拟机管理程序识别为处于“来宾”模式(独立于内核和用户模式)。

每个客户操作系统都是通过/dev/kvm设备进行映射的,它们都有自己的虚拟地址空间,该虚拟地址空间映射到主机内核的物理地址空间。如所述,KVM使用底层硬件的虚拟化支持来提供全(本机)虚拟化。I/O请求通过主机内核映射到在主机(虚拟机管理程序)上执行的QEMU进程。

KVM在Linux环境中作为主机运行,但只要底层硬件虚拟化支持,就可以支持大量的客户操作系统。


二、kvm虚拟化分为哪三层?

KVM虚拟化分为以下三层:

1.KVM的第一层

KVM的第一层本质上是Linux内核本身,从Linux2.0开始。6.20从版本1开始,KVM已完全正式包含在Linux内核中。因此,KVM作为一个模块存在于Linux内核中,我们在安装系统时就已经安装了它。KVM模块已加载,因此我们只需在CLI命令行模式下激活KVM模块即可。

2.第二层QEMU

第二层QEMU于2012年集成到主流QEMU中。从现在开始,实现KVM不需要特殊的qemu-kvm(你仍然可以使用它,目前CentOS使用它),但你只需要在通用QEMU命令中添加“-enable-kvm”选项即可启用KVM使用函数驱动虚拟机,即QEMU可以调用KVM内核,因此效率比纯QEMU高很多。

3.第三层KVM管理工具

第一层KVM和第二层QEMU解决之后,就只剩下KVM管理工具了,如果你公司的云计算团队只有40人的话。50人,WebVirtMgr、ProxmoxVE这样的管理工具比较适合,作为后盾,可以玩玩OpenStack这样的云计算管理平台。