虚拟化核心是一种众所周知但很少讨论的技术,称为管理程序。管理程序是一个软件层,它使单个硬件能够托管多个孤立的虚拟机。它还有助于管理这些虚拟机。但是,在谈论管理程序如何工作,虚拟机管理程序的类型和这项技术的好处之前,我们需要先把一些基本的定义弄清楚。bluehost美国虚拟主机将从与管理程序密切相关的技术开始——虚拟化。
什么是虚拟化?
虚拟化是创建资源的”虚拟”形式,如服务器、桌面、操作系统、存储空间、网络或文件。通过虚拟化,传统计算发生改变了,因为这些资源可以根据客户或组织的需求进行扩展。虚拟化已经存在了几十年,现在被分成三种不同的类型——操作系统(OS)虚拟化、硬件虚拟化和服务器虚拟化。
虚拟化用来在单个物理系统上集成工作负载、系统和多个操作环境。从本质上讲,底层硬件是分区的,每个分区作为一个单独、隔离的虚拟机运行——每个都有自己的操作系统。这就是管理程序的作用。推荐阅读:《什么是服务器虚拟化?》
什么是管理程序?
分区的功能,或者更具体地说,将这些不同的操作系统和应用程序从底层计算机硬件中抽象和隔离出来,就是管理程序所做的。因此,如果说虚拟化由管理程序的功能促成,也是正确的。
这意味着底层硬件(被称为主机)可以独立操作和运行一个或多个虚拟机(被称为客户机)。管理程序通过分配硬件资源帮助管理这些独立的虚拟机,如内存分配、CPU使用、网络带宽等。它通过创建抽象的硬件资源池来实现,然后将其分配给虚拟机。用户提出要求时,它还可以停止和启动虚拟机。
管理程序的另一个关键组成部分是确保所有虚拟机与其他虚拟机保持隔离——所以当一个虚拟机出现问题时,其他虚拟机不会受到影响。最后,管理程序还处理虚拟机之间通过虚拟网络进行的通信——使虚拟机能够相互连接。
管理程序如何工作?
要了解管理程序如何工作,重要的是要了解——管理程序的类型有哪些?它们如何工作?有什么区别?
有两种类型的管理程序。它们也被称为本地或裸机管理程序(类型一)和托管管理程序(类型二)。
第一类管理程序:
第一类管理程序直接在主机的硬件上运行,无需底层操作系统的干预。这意味着,管理程序可以直接访问硬件,而不需要与操作系统和驱动程序竞争。
第一类被广泛认为是企业计算中性能最好、效率最高的管理程序。直接分配资源的能力使这些虚拟机管理程序更具可扩展性,但其优势还不止于此:
1. 物理资源的优化:机构通常通过为不同的应用程序购买独立的服务器而迅速消耗资金——这种努力既费时又占用数据中心的空间。有了第一类管理程序,IT部门可以利用服务器硬件,从而释放数据中心的成本和空间并降低能源使用。
2. 更大的资源分配:大多数第一类虚拟机管理程序,让管理员有机会根据应用程序的优先级手动设置资源分配。许多第一类管理程序还可以根据需要自动分配资源,使资源管理成为动态和自定义的选项。
最著名的第一类管理程序的例子是VMware的ESXi和微软的Hyper-V。推荐阅读:《虚拟化技术——服务器虚拟化》
第二类管理程序
通常,这些管理程序建立在操作系统之上。由于它对主机底层操作系统的依赖(与第一类直接相反),它被称为”托管管理程序”。管理程序作为操作系统中的一个应用直接在主机上运行。第二类管理程序确实支持多个客户机,但不允许直接访问主机硬件及其资源。先前存在的操作系统管理对CPU的内存、网络资源和存储调用。所有这些都会造成一定程度的延迟。
然而,这只是在更复杂和高性能的情况下才会出现。第二类管理程序仍然是流行的家庭和测试实验室。 此外,第二类管理程序也有自己的一套好处,比如:
1. 第二类管理程序更容易设置和管理,因为已经有一个操作系统可以使用。
2. 不需要专门的管理员。
3. 与各种硬件兼容。
第二类管理程序的例子包括Oracle Solaris Zones, Oracle VM Server for x86, Oracle VM Virtual Box, VMware Workstation, VMware Fusion等等。
KVM
KVM(基于内核的虚拟机)是一个流行而独特的虚拟机管理程序——同时具有第一类和第二类管理程序的特点。这种开源的虚拟化技术建立在Linux中,更确切地说,是将Linux变成了一个管理程序。
明确地说,KVM是Linux代码的一部分,这意味着它受益于Linux的每一个创新或进步、功能和修复,而不需要额外的工程。
KVM将Linux转换为第一类(本地/裸机)管理程序。这是一个安全的选择,它提供大量的存储、硬件支持、内存管理、虚拟机的实时迁移(没有任何服务中断)、可扩展性、调度和资源控制、低延迟和更大的应用优先级。KVM还创建了更安全和更好隔离的虚拟机,同时确保它们继续以最高性能运行。是否有兴趣使用所有这些功能?在我们这里注册一个Linux VPS主机计划后,KVM将自动成为创建的套餐的一部分。推荐相关阅读:《如何为您的企业网站选择最佳的VPS主机计划(一)》