精品软件与实用教程
KVM 与 VMware
什么是KVM
KVM(用于基于内核的虚拟机)是用于 x86 硬件上的 Linux 的完整虚拟化解决方案,包含虚拟化扩展(Intel VT 或 AMD-V)。它由一个可加载的内核模块 kvm.ko 和一个处理器特定模块 kvm-intel.ko 或 kvm-amd.ko 组成,该模块提供核心虚拟化基础设施。
使用 KVM,可以运行多个运行未修改的 Linux 或 Windows 映像的虚拟机。每个虚拟机都有私有的虚拟化硬件:网卡、磁盘、图形适配器等。
KVM 是开源软件。从 2.6.20 开始,KVM 的内核组件包含在主线 Linux 中。从 1.3 开始,KVM 的用户空间组件包含在主线 QEMU 中。
活跃在 KVM 相关虚拟化开发中的人们的博客在https://planet.virt-tools.org/上联合发布
使用 KVM 开源虚拟化技术,我们可以将 Linux 内核变成一个可以用于虚拟化的 hypervisor。
迁移到基于 KVM 的虚拟化平台后,我们可以轻松地增强、检查和修改我们的管理程序源代码,因为它是开源的。因此,我们可以根据我们的要求定制管理程序。此外,KVM 非常易于部署和使用,因为它内置于 Linux 内核中。
什么是VMware
VMware 是美国一家提供云计算和硬件虚拟化的软件和服务的公司。它是第一个虚拟化x86架构并获取商业成功的公司。公司成立于1998年,总部设在美国加利福尼亚州帕洛阿尔托。
VMware 提供 ESXi 管理程序和 vSphere 虚拟化平台。这些虚拟化技术允许我们配置和创建虚拟机 (VM)。因此,我们可以对基础架构进行现代化改造,以控制和交付新旧应用程序。接下来,VMware ESXi 是直接安装到物理服务器上的裸机管理程序。这将有助于我们巩固我们的硬件。
如果我们使用 VMware vSphere,我们需要 VMware 的控制堆栈来管理我们的虚拟机。有几个许可权利级别可用。
如何选择合适的管理程序?
1. 可扩展性
如果来宾机器的请求和数量增加,KVM 能够扩展以满足需求负载。最苛刻的应用程序工作负载可以使用 KVM 进行虚拟化。这是许多企业虚拟化设置的基础,例如私有云和数据中心。
KVM 非常容易扩展和集成以满足我们的需求,因为它使我们能够访问其源代码并且与现有基础架构具有高度互操作性。
VMware 提供了一个可扩展的虚拟化平台,但在添加更多主机时需要考虑这一点,因为 VM 可能会影响企业许可协议 (ELA)。vSphere 为每台主机提供最多 12TB 的 RAM,每个集群最多 64 台主机。此外,我们可以使用 vSphere 提供的多个应用程序编程接口 (API) 来更轻松地管理我们的 VMS。
2. 性能
KVM 和 ESXi 都是 1 类管理程序,其性能应该优于 2 类管理程序。
根据 SPECvirt_sc2013 基准测试,KVM 以接近本机的速度运行应用程序,并且比其他行业虚拟机管理程序更快。虽然与 KVM 相比,ESXi 通常启动和创建服务器要慢得多。此外,ESXi 在运行服务器时性能也较慢,但这种差异对于典型负载可能没有问题。
3.成本
KVM 是开源操作系统的一部分,因此它是完全免费的。要使用 VMware,我们需要购买各种产品、服务的许可证,并且这些许可证将被锁定在企业许可协议 (ELA) 中。因此,KVM 的总拥有成本较低。
4. 成熟度
KVM 和 ESXi 都是能够支持企业工作负载的稳定且成熟的虚拟机管理程序。
5. 整合
为了与主机的物理硬件通信,不同的管理程序使用不同的方法。ESXi 使用 VMware 的管理平台。所以我们需要在VMware的控制栈中使用其他产品。因此,这将增加我们的硬件要求。
因为 KVM 是一个开源产品,所以它可以与任何现有的基础设施以及许多不同的 Windows 和 Linux 平台集成而没有相同的限制。
6. 支持
对于 KVM,我们将需要依赖开源社区和我们自己的 IT 组织的支持。使用 VMware,我们将获得企业级支持,因为它是 ELA 的一部分。
概括
与 VMware 相比,KVM被认为是更好的选择。因为它具有以较低的运营费用支持企业工作负载的物理和虚拟基础架构的功能。此外,KVM 还具有出色的性能、无供应商锁定、较低的总拥有成本、开源优势、跨平台互操作性、Linux 操作系统的现有功能以及单一虚拟化平台迁移的简单性等优点,在数百个其他硬件或软件上创建、暂停、停止、启动和模板化数百个虚拟机。