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

kvm 虚拟化中有哪些项目(什么是kvm虚拟化)

求科普kvm是什么?目前哪些公司做这方面的技术比较靠谱?kvm是KeyboardVideoMouse的缩写。KVM切换器允许您通过直接连接到键盘、视频和鼠标(KVM)端口来访问和控制计算机。KVM技术不需要有针对性的服务器软件更新。这意味着可以在BIOS环境中随时访问目标计算机。KVM提供真正的主板级访问并支持多平台服务器和串行设备。目前,室内微距在这方面做得非常好!

虚拟化技术的分类

虚拟硬件虚拟机(Virtualmachine或VM),计算机上能够像真机一样运行程序的软件,使应用程序能够实现便携,让程序可以在便携设备中运行,而无需在操作系统中安装跨平台虚拟化,这使得针对特定CPU或操作系统的软件无需修改就可以在其他平台上运行,例如Wine虚拟设备,它运行在虚拟化平台上。面向应用的虚拟机镜像模拟器是完全虚拟化的,敏感指令在操作系统和硬件中被捕获和处理,不需要改变客户操作系统。所有软件都可以在虚拟机中运行,如IBMCP/CMS、VirtualBox、VMwareWorkstation硬件辅助虚拟化,利用硬件(主要是CPU)帮助处理敏感指令来实现完整的虚拟化功能,客户操作系统不需要被改变。比如VMwareWorkstation、Xen、KVM都是部分虚拟化,虚拟化部分应用程序,而不是整个操作系统的半虚拟化/半虚拟化,为应用程序提供底层。硬件类似,但软件界面不一样,必须改变客户操作系统,比如早期Xen操作系统层面的虚拟化,让操作系统内核支持多用户空间设备,比如如ParallelsVirtuozzoContainers、类Unix系统上的chroot、SolarisZone平台虚拟化将操作系统和硬件平台资源分离为应用程序虚拟化,在操作系统和应用程序之间建立虚拟环境虚拟内存,将不连续的内存区域和甚至将硬盘空间划分为统一、连续的内存地址。存储虚拟化,将物理存储空间(如硬盘)划分为不同的逻辑存储空间。网络虚拟化,将不同网络的软硬件资源组合成一个虚拟统一的虚拟专用网络(VPN),在大型网络(通常是互联网上的不同计算机(节点)通过加密连接组成的虚拟网络。它具有类似于内存虚拟化将网络系统中的随机内存聚合起来,形成统一的虚拟内存池桌面虚拟化可以在本地计算机上查看和操作远程计算机,在远程计算机上运行程序和存储信息数据库虚拟化软件虚拟化服务虚拟化虚拟化发展时间表

企业级虚拟化Kvm实战

最常用的虚拟化产品有哪些?
1.企业级的Kvm(Redhat)

--桌面端的Vmware工作站(Windows和Linux)level
--Vmware-fusion(mac)
--Vmware-esxi(企业级)是一个独立的操作系统。
-v(微软)
(Oracle公司-Windowslinux)virtulbox
(rhel6之前所有版本的默认虚拟化产品)
分类虚拟化技术:

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

全虚拟化:

半虚拟化:

硬件辅助虚拟化

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

从rhel6开始、kvm模块直接安装集成部分内核

rhel6之前的企业版默认内核不支持xen,需要重新安装带有Xen功能的内核

该虚拟机管理程序提供x86虚拟化,可以访问PowerPC®和IA64。此外,最近添加了KVM以支持SMP主机(和来宾)并支持主动迁移(支持来宾功能)等企业级功能。需要在物理服务器之间迁移的操作系统)。

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

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

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

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

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

虚拟化技术KVM和XEN的区别虚拟化的类型
全虚拟化
全虚拟化也是虚拟化的原始技术,这种模型使用虚拟机来协调客户操作系统与原始硬件。为了在VMM来宾操作系统和裸硬件之间进行协调,虚拟机管理程序必须捕获并处理一些保护指令。
图1全虚拟化模型
全虚拟化运行速度比硬件模拟快,但性能不如裸机,因为hypervisor要占用一些资源。
半虚拟化
半虚拟化是另一种类似于全虚拟化的技术。它使用虚拟机管理程序来共享对底层硬件的访问,但来宾操作系统集成了虚拟化代码。这种方法不需要重新编译或陷阱,因为操作系统本身可以很好地与虚拟进程配合使用。
图2半虚拟化模型
半虚拟化需要对来宾操作系统进行一些修改,以使其意识到自己处于虚拟化环境中;提供性能。与原来的操作系统类似。
虚拟化技术
基于内核的虚拟机(KVM)基于内核的虚拟机
KVM是集成到Linux内核和X86中的虚拟机管理程序。架构针对Linux的完整虚拟化解决方案,其硬件支持虚拟化技术(IntelVT或AMD-V)。它是一个小型的Linux模块,使用Linux执行许多任务,例如调度任务、管理内存以及与硬件设备交互。
图3KVM虚拟化平台架构
Xen
Xen是第一种运行在裸机上的虚拟化管理器(管理程序)。Xen支持全虚拟化和半虚拟化,支持虚拟机管理程序和虚拟机之间的通信,并且可在所有版本的Linux上免费使用,包括RedHatEnterpriseLinux和SUSELinuxEnterpriseServer。Xen最重要的优势是半虚拟化。此外,未经修改的操作系统也可以直接在xen(例如Windows)上运行,从而有效地允许虚拟机无需模拟即可运行,从而允许虚拟机无需虚拟机管理程序即可连接到虚拟机管理程序。通过模拟虚拟硬件实现高性能。
图4Xen虚拟化平台架构
QEMU
QEMU是一组由FabriceBellard编写的模拟处理器的免费软件。它与Bochs和PearPC类似,但具有后两者所不具备的一些特性,例如高速和跨平台功能。QEMU可以通过开源加速器kqemu模拟接近真实计算机的速度。
KVM与QEMU的关系
准确的说,KVM是Linux
内核的一个模块。您可以使用modprobe命令加载KVM模块。加载模块后,您可以通过其他工具创建额外的虚拟机。但仅有KVM模块还不够。这是因为用户无法直接控制内核模块执行操作。您还需要拥有在用户空间中运行的工具。对于这个用户空间工具,kvm开发人员选择了已经成熟的开源虚拟化软件QEMU。QEMU也是虚拟化软件。它的特点是可以虚拟各种CPU。例如,PowerCPU可以在x86CPU上虚拟化,并用于编译可以在Power上运行的程序。KVM使用了QEMU的部分内容并稍作修改,成为允许您控制KVM的用户空间工具。因此,您可以看到官方KVM下载有两个部分(qemu和kvm)和三个文件(KVM模块、QEMU工具以及这两个文件的集合)。这意味着您只能升级KVM模块或只能升级QEMU工具。这就是KVM和QEMU的样子。
图5KVM与QEMU关系