什么是 KVM(基于内核的虚拟机)?
什么是 KVM?
基于内核的虚拟机(KVM)是一种软件功能,您可以将其安装在物理 Linux 机器上以创建虚拟机。虚拟机是一种软件应用程序,可作为另一台实体计算机中的独立计算机使用。虚拟机与实体计算机共享 CPU 周期、网络带宽和内存等资源。KVM 是 Linux 操作系统组件,它为 Linux 上的虚拟机提供原生支持。自 2007 年以来,它已在 Linux 发行版中推出。
KVM 为什么重要?
基于内核的虚拟机(KVM)可以将任何 Linux 设备转变为裸机虚拟机监控器。它允许开发人员为不同的操作系统扩展计算基础设施,而不用投资新的硬件。KVM 将服务器管理员从手动预置虚拟化基础设施的工作当中解放出来,并且实现了在云环境中轻松地部署大量虚拟机。
公司因为以下优点而选择使用 KVM。
高性能
KVM 被设计用于无缝管理高要求应用程序。所有客户机操作系统都继承了主机操作系统 – Linux 的高性能。KVM 虚拟机监控器还允许在尽可能接近于服务器硬件的位置执行虚拟化,从而进一步缩短进程延迟。
安全性
在 KVM 上运行的虚拟机具有 Linux 操作系统的原生安全功能,包括安全增强型 Linux(SELinux)。这确保了所有虚拟环境都严格遵守其对应的安全边界,从而强化数据隐私和治理。
稳定性
KVM 被广泛用于业务应用程序的历史已超过十年。它拥有来自蓬勃发展的开源社区的杰出支持。支持 KVM 的源代码十分成熟,为企业应用程序提供稳定的基础。
成本效益
KVM 是免费开源的,这意味着公司不必支付额外的许可费用即可托管虚拟机。
灵活性
KVM 在安装时为公司提供很多选项,因为它能兼容各种硬件设置。服务器管理员可以利用 KVM,高效地将额外 CPU、存储或内存分配给虚拟机。KVM 还支持精简预置,也就是只在需要时为虚拟机提供资源。
KVM 如何运作?
基于内核的虚拟机(KVM)要求在计算机上安装 Linux 内核,而该计算机要搭载支持虚拟化扩展的 CPU。具体来说,KVM 支持全部 x86 CPU,亦即能处理 Intel x86 指令语言的计算机芯片系列。
Linux 内核
Linux 内核是开源操作系统的核心。内核是与计算机硬件进行交互的低级别程序。它还确保在操作系统上运行的软件应用程序能获得所需的计算资源。Linux 发行版,如 Red Hat Enterprise Linux、Fedora 和 Ubuntu 等,都在用户友好的商用操作系统中打包了 Linux 内核和其他程序。
如何启用 KVM
在安装 Linux 内核以后,您需要在 Linux 设备上安装以下额外的软件组件:
- 主机内核模块
- 特定于处理器的模块
- 仿真器
- 一系列用于扩展 KVM 功能和性能的其他 Linux 程序包
一旦加载,服务器管理员会通过命令行工具或图形用户界面创建虚拟机。然后,KVM 启动虚拟机作为独立的 Linux 进程。虚拟机监控器会为每台虚拟机分配虚拟内存、存储、网络、CPU 和资源。
KVM 和 VMware 之间有什么区别?
VMware 是一家软件公司,提供有商业许可证的虚拟化解决方案 – VMware ESXi。VMware 虚拟机监控器被用于企业应用程序,并且和能够处理大量工作负载的虚拟机搭配使用。
基于内核的虚拟机(KVM)和 VMware ESXi 都提供虚拟化基础设施,以便在 Linux 内核上部署类型 1 虚拟机监控器。但是,KVM 是一项开源功能,而 VMware ESXi 需要商业许可证才能使用。
使用 VMware 提供的虚拟化组件的组织能够得到该公司技术团队的专业支持。与此同时,KVM 用户则依赖广大的开源社区来解决可能存在的问题。
AWS 如何通过 KVM 提供帮助?
Amazon Linux 2 是 Amazon Web Services(AWS)Linux 发行版,它会在稳定、安全而且高性能环境中运行云应用程序。Amazon Linux 2 可以作为虚拟机映像,被用于以下这些虚拟化平台上的开发和测试:基于内核的虚拟机(KVM)、Microsoft Hyper-V、Oracle VM VirtualBox 以及 VMware ESXi。
Amazon Linux 2 的其他优点还包括:
- Amazon Linux 2 自带可与其他 AWS 服务轻松集成的程序包和配置
- 开发人员可以将 Amazon Linux 2 用于本地测试,以支持本地开发
- Amazon Linux 2 会自动应用安全补丁,而不需要重启
- 使用 Amazon Linux 2 的组织能够获得针对安全更新的长期支持,以及针对漏洞修复的五年支持