虚拟化

什么是 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 功能

长话短说,KVM 就是 Linux。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 中,为什么还需要红帽虚拟化?

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

您是否有某个传统应用需要用到旧版操作系统?又或者,您要在低风险环境中试运行新的应用?您可以将红帽企业 Linux 配置为基本的虚拟机监控程序,在单一主机上运行多达 4 个独立的虚拟机。

我们已经准备妥当。确实如此。将它安装到裸机硬件、开源或专有系统等各种平台上,然后开始部署数十甚至数百个虚拟机,使用高级虚拟机监控程序和管理平台来处理和简化这项工作。

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

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