虚拟化

什么是 KVM?

基于内核的虚拟机(KVM)是一种内建于 Linux® 中的开源虚拟化技术。具体而言,KVM 可帮助您将 Linux 转变为虚拟机监控程序,使主机计算机能够运行多个隔离的虚拟环境,即虚拟客户机或虚拟机(VM)。

KVM 是 Linux 的一部分。Linux 2.6.20 或更新版本包括 KVM。KVM 于 2006 年首次公布,并在一年后合并到主流 Linux 内核版本中。由于 KVM 属于现有的 Linux 代码,因此它能立即享受每一项新的 Linux 功能、修复和发展,无需进行额外工程。


KVM 如何运作?

KVM 将 Linux 转变为 1 类(裸机恢复)虚拟机监控程序。所有虚拟机监控程序都需要一些操作系统层面的组件才能运行虚拟机,如内存管理器、进程调度程序、输入/输出(I/O)堆栈、设备驱动程序、安全管理器以及网络堆栈等。由于 KVM 是 Linux 内核的一部分,因此所有这些组件它都有。每个虚拟机都像普通的 Linux 进程一样实施,由标准的 Linux 调度程序进行调度,并且使用专门的虚拟硬件,如网卡、图形适配器、CPU、内存和磁盘等。


实施 KVM

长话短说,您必须运行 2007 年以后发布的 Linux 版本,并且需要将它安装到支持虚拟化功能的 X86 硬件上。如果同时满足上述两个条件,那么您只需加载 2 个现有的模块(主机内核模块和处理器相关模块)、一个模拟器,以及任何能帮助您运行其他系统的驱动程序。


迁移到基于 KVM 的虚拟基础架构

在受合同制约的平台上构建虚拟基础架构,可能会限制您对源代码的访问。它意味着您的 IT 开发可能会沦为“姑息疗法”,而不是充满生机的创新工作,而合同的约束,也可能会妨碍您对云、容器和自动化的投资。迁移到基于 KVM 的虚拟化平台则意味着您可以检查、修改和完善虚拟机监控程序背后的源代码。而且,这里面不牵涉企业许可协议,因为没有要保护的源代码。它完全属于您。


KVM 功能

KVM 是 Linux 的一部分。Linux 也是 KVM 的一部分。Linux 有的,KVM 全都有。然而,KVM 的某些特点让它成为了企业的首选虚拟机监控程序。

KVM 利用安全增强型 Linux(SELinux)安全虚拟化(sVirt) 组合来加强虚拟机的安全性和隔离性。SELinux 在虚拟机周围建立安全边界。sVirt 则扩展 SELinux 的功能,使强制访问控制 (MAC)安全机制应用到客户虚拟机,并且预防手动标记错误。

KVM 能够使用 Linux 支持的任何存储,包括某些本地磁盘和网络附加存储(NAS)。还可以利用多路径 I/O 来增强存储并提供冗余能力。KVM 还支持共享文件系统,因此虚拟机镜像可以由多个主机共享。磁盘镜像支持精简置备,可以按需分配存储,不必预先备妥一切。

KVM 可以使用多种多样的认证 Linux 兼容硬件平台。由于硬件供应商经常助力内核开发,所以 Linux 内核中通常能快速采用最新的硬件功能。

KVM 继承了 Linux 的内存管理功能,包括非统一内存访问和内核同页合并。虚拟机的内存可以交换,也可通过大型宗卷支持来提高性能,还可由磁盘文件共享或支持。

KVM 支持实时迁移,也就是能够在物理主机之间移动运行中的虚拟机,而不会造成服务中断。虚拟机保持开机状态,网络连接保持活跃,各个应用也会在虚拟机重新定位期间正常运行。KVM 也会保存虚拟机的当前状态,从而存储下来供日后恢复。

KVM 继承了 Linux 的性能,针对客户机和请求数量的增长进行扩展,满足负载的需求。KVM 可让要求最苛刻的应用工作负载实现虚拟化,而这也是许多企业虚拟化设置的基础,如数据中心和私有云等(通过 OpenStack®)。

在 KVM 模型中,虚拟机是一种 Linux 进程,由内核进行调度和管理。通过 Linux 调度程序,可对分配给 Linux 进程的资源进行精细的控制,并且保障特定进程的服务质量。在 KVM 中,这包括完全公平的调度程序、控制组、网络命名空间和实时扩展。

Linux 内核提供实时扩展,允许基于虚拟机的应用以更低的延迟、更高的优先级来运行(相对于裸机恢复)。内核也将需要长时间计算的进程划分为更小的组件,再进行相应的调度和处理。


管理 KVM

若不借助管理工具,单一工作站上部署的少数虚拟机尚且可以手动管理。大型企业则必须使用与虚拟环境和底层物理硬件对接的虚拟化管理软件,来简化资源管理、增强数据分析并简化运营。红帽出品的红帽虚拟化恰好能满足这种用途。


KVM 和红帽

我们非常信赖 KVM,它是我们所有虚拟化产品的唯一虚拟机监控程序。同时,我们也不断向 KVM 社区做出贡献,致力改进内核代码。不过,既然 KVM 是 Linux 的一个组成部分,而且它已包含在红帽企业 Linux 中,为什么还需要红帽虚拟化?

这是因为红帽提供两种版本的 KVM。红帽企业 Linux 随附的 KVM 具有全部的虚拟机监控程序功能以及基本的管理功能,可以供客户在一台主机上运行多达 4 个独立的虚拟机红帽虚拟化则包含 KVM 的高级版本,让企业能够管理无限数量的客户机。它是数据中心虚拟化、技术工作站、私有云和开发或生产环境等用途的理想选择。

Do you have a legacy app that requires an older operating system? Perhaps you’d like pilot a new app in a low-risk environment? You can configure Red Hat Enterprise Linux as a basic hypervisor for running up to 4 isolated VM on a single host.

This is all you need. Really. Install it on anything—from bare-metal hardware to open source or proprietary systems—and start deploying virtual machines by the dozens or hundreds with an advanced hypervisor that can handle it and a management platform that makes it easy.

利用虚拟化技术达成更多目标

OpenStack 文字商标和正方形 O 标记(无论是合在一起还是分开)是 OpenStack 基金会在美国和其他国家/地区的商标或注册商标,需获得 OpenStack 基金会许可方可使用。红帽公司不隶属于 OpenStack 基金会或 OpenStack 社区,也未获取他们的支持和赞助。