什么是 KVM?
基于内核的虚拟机(KVM)是 Linux® 操作系统的一种开源虚拟化技术。借助 KVM,Linux 可作为虚拟机监控程序运行多个独立的虚拟机(VM)。
KVM 于 2006 年发布,一年后并入 Linux 内核。许多开源虚拟化技术(包括红帽的虚拟化产品组合)均包含 KVM 这一组件。
虚拟机监控程序有何作用?
借助虚拟化,您可以利用虚拟机监控程序在操作系统内运行其他操作系统(OS)。虚拟机监控程序可以将计算资源(如处理能力、内存和存储)汇集起来,并在虚拟机之间重新分配这些资源。虚拟机监控程序可以同时运行多个虚拟机,对这些虚拟机进行管理,还支持创建新虚拟机。运行虚拟机监控程序的物理硬件称为主机,使用其资源的虚拟机则称为虚拟客户机。
虚拟机监控程序需要操作系统级组件来运行虚拟机,例如内存管理器、进程调度程序、输入/输出(I/O)堆栈、设备驱动程序、安全管理器、网络堆栈等。KVM 是 Linux 内核的一部分,因此,其包含上述所有组件。每个虚拟机均作为一个常规的 Linux 进程来实现,由标准的 Linux 调度程序进行调度,且配有专用虚拟化硬件,如网卡、图形适配器、CPU、内存和磁盘。
红帽资源
虚拟化具有哪些优势?
借助虚拟化,我们可在单一硬件上快速启动和停止不同的操作系统环境,从而为您的 IT 生态系统带来诸多益处。
灵活性
您可以将主机分为多个虚拟机,并根据需要为这些虚拟机分配资源。这样,您就可以在单个物理硬件上托管多个虚拟机,从而最大限度地利用空间、功耗和维护资源。
速度
虚拟机配置由软件定义,因此,您可以快速创建、移除、克隆和迁移虚拟机。您可以远程控制虚拟机,还可以实现虚拟机的自动化管理。
兼容性
您可以利用虚拟机运行未针对您的操作系统发布的软件。例如,您可以在虚拟机中启动旧版操作系统,以便现有软件继续在现代硬件上运行。
稳定性和安全性
每个虚拟机都是独立运行,因此,虚拟机还具有安全方面的优势。虚拟机可能会出现的不稳定性不会影响主机操作系统或同一主机上的其他虚拟机。您可以在不影响整个系统的前提下测试新配置。
KVM 的功能有哪些?
在 KVM 中,虚拟机是一个 Linux 进程,由内核进行调度和管理。利用 KVM 运行的虚拟机可受益于 Linux 的性能特性,且用户可以利用 Linux 调度程序提供的精细控制。KVM 还提供了与安全、存储、硬件支持和实时迁移相关的功能。
通过 SELinux 和 sVirt 实现安全边界
KVM 利用安全增强型 Linux(SELinux)和安全虚拟化(sVirt)组合来加强虚拟机的安全性和隔离性。SELinux 在虚拟机周围建立安全边界,sVirt 则扩展 SELinux 的功能,使强制访问控制(MAC)安全机制应用于客户虚拟机,并防止手动标记错误。
存储灵活性
KVM 能够使用 Linux 支持的任何存储,包括某些本地磁盘和网络附加存储(NAS)。KVM 还支持共享文件系统,因此虚拟机镜像可以由多个主机共享。
支持多种硬件架构
KVM 可在多种硬件平台上运行。作为红帽企业 Linux 9 的一部分使用时,KVM 支持 64 位 AMD、Intel 和 ARM 架构以及 IBM z13 系统及更高版本。
实时迁移
KVM 支持实时迁移,即能够在物理主机之间移动运行中的虚拟机,而不会出现明显的服务中断。迁移虚拟机的过程中,虚拟机仍保持开机状态,网络连接保持有效状态,且应用可继续运行。KVM 还会保存虚拟机的当前状态并对其进行存储,以便日后进行恢复。
如何使用 KVM 管理虚拟机?
运行多个虚拟机时,虚拟化管理工具有助于跟踪这些虚拟机。一些虚拟机管理工具可通过命令行运行,一些工具则提供图形用户界面(GUI),还有一些工具专门用于管理大型企业环境中的虚拟机。以下是几种常见的 KVM 虚拟化管理解决方案。
libvirt 和 virsh
libvirt 项目提供了用于管理虚拟化平台的 API。libvirt 中的 virsh 是一种命令行实用程序,用于创建、启动、列出和停止虚拟机,以及进入虚拟化 shell。
虚拟机管理器
虚拟机管理器(称为 VMM 或 virt-manager)为虚拟机提供了一个桌面界面,适用于主流的 Linux 发行版。
Web 控制台
虚拟机管理员可以选择使用基于 Web 的界面来管理虚拟机。例如,借助 Cockpit 提供的解决方案,用户可以从 Web 界面管理虚拟机。红帽企业 Linux 提供了一个针对虚拟化的 Web 控制台插件。
KubeVirt
KubeVirt 是用于管理 Kubernetes 环境中大量虚拟机的一种解决方案,可将虚拟机与容器化应用一同管理。Kubevirt 为红帽 OpenShift® 虚拟化奠定了基础。
为什么要迁移到基于 KVM 的虚拟化平台?
虚拟机的其中一项优势是灵活性(即可移植性)。借助这种可移植性,可将虚拟机从某个虚拟化提供商迁移到其他虚拟化提供商,从而获得降低成本、拓展功能、实现更多控制等优势。
在开发人员看来,KVM 是一项成熟的技术,企业亦相信它大规模高效处理虚拟机的能力。迁移到基于 KVM 的平台(如红帽的虚拟化产品组合)这种方法既能保留现有虚拟机投资,又能选择具有开源基础的解决方案。借助红帽的技术,还可以实现对包含虚拟机、容器和无服务器应用的统一环境的管理。
为什么选择红帽来实现虚拟化?
红帽虚拟化产品组合由 KVM 提供虚拟机监控程序支持。您既可以获得 KVM 等开源虚拟机监控程序的灵活性和优势,还能获得红帽的企业级支持、安全防护功能和稳定性。
红帽值得信赖的产品与合作伙伴生态系统相结合,形成了一个全面的虚拟化解决方案。现在,您可以将虚拟机迁移到红帽 OpenShift 虚拟化,这是一个基于开源项目 KVM 和 KubeVirt 的现代应用平台,能够并行运行虚拟机和容器。随附的虚拟化迁移工具包提供了您所需的工具,让您只需几个简单步骤即可开始迁移。利用红帽 Ansible® 自动化平台的自动化功能来加速交付,涵盖从大规模迁移到 Day 2 运维及修复的各个环节。利用红帽 Kubernetes 高级集群管理,从单一控制台监控虚拟机的安全性和性能。红帽在存储、备份和灾难恢复以及网络方面提供额外的支持选项和合作伙伴集成,您可以借此确保您的虚拟基础架构在整个混合云环境中顺畅运行,并且红帽可在您准备好时帮助您实现现代化改造。
红帽官方博客
获取有关我们的客户、合作伙伴和社区生态系统的最新信息。