微软的Hyper-V和Linux的KVM都是功能强大的企业级虚拟机监控程序,可以管理虚拟机并扩展到最大的工作负载。这些选择都是1型虚拟机监控程序,但是在管理工具、内存分配和存储需求方面,它们之间有一些显著的区别。
虚拟化管理员了解这些虚拟机监控程序之间的差异非常重要。当组织在两者之间进行选择时,管理员应该选择与其现有基础设施最为一致的虚拟机监控程序。
Hyper-V与KVM的主要区别在于Hyper-V来自微软并在Windows上运行,而KVM是Linux中内置的开源虚拟机监控程序。
微软将Hyper-V与Windows Server、Windows 10 Pro和Windows 10 Enterprise结合使用。它还提供了一个免费的独立版本,称为Hyper-V Server。
KVM可以在任何最新的Linux内核上工作,这些内核在x86机器中,这些机器是搭载具有主动虚拟化技术的Intel处理器,或者具有安全虚拟机功能的AMD处理器。
底层操作系统不限制KVM和Hyper-V访客操作支持。尽管KVM在Linux上运行,但它可以运行Windows虚拟机,而微软Hyper-V可以托管Linux虚拟机。
可用的管理工具
正如KVM和Hyper-V在不同的操作系统上运行一样,它们也需要不同的管理工具。
管理员可以使用Windows PowerShell命令行管理Hyper-V,但大多数使用基于GUI的工具,如Hyper-V Manager或Windows Admin Center。
微软还为Hyper-V提供了一个企业级管理工具,称为System Center Virtual Machine Manager(VMM)。VMM通常是Hyper-V的首选管理工具,因为它为VM基础设施提供了可伸缩性和整合视图,但它需要单独的许可。
与Hyper-V一样,管理员可以完全从命令行管理KVM。那些喜欢基于GUI的管理工具的人有多种选择,比如Cloonix、Morpheus和Platform9 Manged OpenStack。
KVM和Hyper-V在硬件支持方面都非常灵活。KVM可以使用任何支持Linux的存储。这包括直连存储和网络连接存储(NAS)。
微软的Hyper-V可以在Windows支持的任何存储上运行。但是,如果要将VM文件存储在NAS存储或网络文件共享上,则需要server message block protocol 3.0。
内存配置选择
KVM和Hyper-V具有灵活的内存使用。两个虚拟机监控程序都可以使用常规内存或非统一内存访问。
Hyper-V和KVM不同的一个地方是动态内存分配。
Hyper-V包含一个动态内存功能,它允许虚拟机根据当前的需要声明和放弃内存,而且需求永远不会超过预设的限制。动态内存允许管理员过度提供内存,这会增加可以在给定主机上运行的虚拟机的数量。
KVM还支持内存过度配置,但方式略有不同。每个KVM在Linux主机上作为一个进程运行。这意味着虚拟机没有分配给它们的专用内存块。相反,Linux操作系统在虚拟机请求时分配内存。
如果KVM主机的物理内存不足,则主机会移动一些内存页以交换内存和释放RAM。这样,主机就可以过度分配任何内存。
实时虚拟机迁移功能
Hyper-V和KVM虚拟机监控程序都支持实时迁移。实时迁移允许管理员将活动虚拟机移动到其他主机服务器,而无需让虚拟机脱机。
实时迁移在许多情况下都很方便。例如,如果一个虚拟化主机必须脱机进行维护,那么虚拟机将被移动到另一个主机,以便维护不会中断生产工作负载。
如果主机的虚拟机工作负载过大,实时迁移也很有用。管理员可以实时地将一些虚拟机迁移到不同的主机服务器,并减轻负载过重的主机上的工作负载。
原文链接:
https://searchservervirtualization.techtarget.com/tip/Hyper-V-vs-KVM-Select-the-right-hypervisor-for-your-IT-needs
文章评论