什么是管理程序?定义 |类型 |示例
管理程序是一项相当古老的技术,但它仍然与启用虚拟化非常相关。 IBM 于 1967 年开发了第一个提供完全虚拟化的虚拟机管理程序。它们被开发为 IBM CP/CMS 操作系统的测试工具(名为 SIMMON)。
但究竟什么是虚拟化?简单来说,虚拟化是为使用固定数量的存储、网络和计算资源的事物创建基于软件(或虚拟)版本的过程。它的工作原理是对底层硬件进行分区,并将每个分区作为单独的、隔离的虚拟机运行,该虚拟机具有自己的操作系统。
现在,这就是管理程序的用武之地。它们使虚拟化过程变得可行。在这篇概述文章中,我们解释了不同类型的虚拟机管理程序及其工作原理。让我们从一个基本问题开始。
什么是管理程序?
定义: 管理程序是计算机硬件、软件或固件,用于创建虚拟机,然后有效地管理和分配资源给它们。每个虚拟机都可以运行自己的操作系统和应用程序。
安装了管理程序的计算机称为宿主机,所有虚拟机称为来宾机。管理程序可以轻松地拆分主机的资源并将它们分配给各个访客机器。它还允许您在单个计算机硬件上管理来宾操作系统和应用程序的执行。
假设您有一台运行 Linux 操作系统的具有 16 GB RAM 和 500 GB 存储空间的 PC,并且您想要运行需要 macOS 的应用程序。在这种情况下,您可以创建一个运行 macOS 的虚拟机,然后使用管理程序来管理其资源。例如,您可以为其分配 4GB 的 RAM 和 100GB 的存储空间。
从客户机器的角度来看,物理环境和虚拟环境之间没有区别。虚拟机不知道它们是由管理程序创建的并且它们正在共享可用资源。它们在为其提供动力的硬件上同时运行。因此,它们完全依赖于硬件的稳定运行。
Hypervisor 已经存在了半个多世纪,但由于近年来对云计算的需求增加,其重要性变得更加明显。
管理程序的类型
自 1970 年代中期以来,已使用两种不同类型的虚拟机管理程序来实现虚拟化:
类型 1 / 裸机 / 本机管理程序
类型 1 管理程序直接在主机硬件上运行。由于它们可以直接访问底层硬件,不需要经过操作系统层,所以也称为裸机管理程序。
与其他类型的(类型 2)虚拟机管理程序相比,它们性能更好、运行更高效且更安全。这就是大型组织和公司更喜欢在数据中心计算工作中使用裸机管理程序的原因。
虽然大多数 Type-1 虚拟机管理程序允许管理员根据应用程序的优先级手动分配资源,但有些提供动态资源分配和管理选项。
早期的虚拟机管理程序,例如测试软件 SIMMON,是类型 1 的虚拟机管理程序。
现代示例: VMware ESXi、Nutanix AHV、Oracle VM Server for x86、Microsoft Hyper-V。
类型 2 / 托管虚拟机管理程序
与所有计算机程序一样,Type-2 管理程序在操作系统上运行。因此,它们依赖于底层硬件和软件。客户操作系统建立在主机操作系统之上。
虽然这些虚拟机管理程序允许您创建多个虚拟机,但它们不能直接访问主机硬件及其资源。预装的操作系统控制网络、内存和存储分配。这限制了管理程序做出关键决策并增加了一定的延迟。
但是,它们易于设置和管理。它们不需要专门的管理员,并且与广泛的硬件兼容。大多数开发人员将它们用于测试目的。
示例: VMware Workstation、VirtualBox、QEMU、VMware Player、VMware Fusion 和 Parallels Desktop for Mac。
优势
便携性: 一个Hypervisor可以独立于宿主机运行多台guest(虚拟)机器,每个guest机器可以有不同的操作系统。
授权用户可以根据需要在多台访客机器上转移工作负载并分配内存、存储和计算资源。当特定应用程序需要更多功能时,用户可以通过管理程序授予额外资源(来自主机)。
经济高效: 如果您不安装管理程序,您可能需要购买不同的物理硬件来运行或测试不同的应用程序。但是,使用管理程序,您可以在一台功能强大的物理机器上设置各种操作系统的多个实例。同时也显着降低了计算资源成本和电力消耗。
灵活性: 由于管理程序将操作系统与底层硬件隔离,相关应用程序不再依赖特定的硬件驱动程序。这使得整个系统更加灵活地运行各种软件。
安全: 每位客人的隔离意味着一位客人的问题不会影响其他客人。例如,如果恶意程序破坏了虚拟机上的所有文件,则其他机器上的文件和应用程序受到影响的可能性较小。
系统备份和恢复: 虚拟机是文件,与任何传统文件一样,它们可以被复制和恢复。与虚拟机的其他复制技术相比,基于管理程序的复制更容易且更具成本效益。它也是硬件自然,这意味着您可以轻松地将任何重复文件存储到任何存储设备。
阅读:关于量子计算机的 22 个最有趣的事实
缺点
性能受损: 由于资源在虚拟环境中共享(尽管来宾保持彼此隔离),因此可能会显着影响性能。
有时,根本原因是隐藏的。例如,如果一个程序的负载增加到满足最大硬件分配的程度,那么来宾机器要么停止运行,要么开始从运行在同一主机上的其他来宾获取资源。这会造成硬件短缺,从而影响其他活动应用程序的响应能力。
风险: 虚拟化带来风险,因为您将所有鸡蛋放在一个篮子里。如果主机出现故障,它的所有访客机器也会出现故障。这种风险被称为“单点故障”。
增加的复杂性: 管理多台虚拟机比管理一台物理机更复杂。一些虚拟机管理程序有一个陡峭的学习曲线。随着虚拟化变得越来越流行,需要更多的新技能。
在家用计算机上实现虚拟化
在 2000 年代中期,微处理器制造商开始为其产品(例如 AMD-V 和 Intel VT-x)添加硬件虚拟化辅助。在后来的处理器型号中,它们集成了更多硬件支持,从而实现了显着的速度提升。截至 2019 年,所有现代 Intel 和 AMD 处理器都支持虚拟机功能。
管理程序在现代嵌入式系统中也占有一席之地。这些大多是根据特定要求设计的 Type-1 虚拟机管理程序。与计算机硬件不同,嵌入式系统使用广泛的体系结构和标准化程度较低的环境。
这些系统中的虚拟化有助于提高效率、高带宽通信通道、隔离、安全性和实时功能。例如,OKL4 支持各种架构,包括 x86 和 ARM。它已部署在超过 20 亿部手机上,既可用作基带操作系统,也可用于托管虚拟操作系统。
安全
安全性是虚拟化技术中最关键的因素之一。如果攻击者获得对虚拟机管理程序的未经授权的访问,他就可以通过利用共享硬件缓存或其他漏洞来访问主机软件上的每台访客机器。这种类型的攻击称为超级劫持。
阅读:什么是 VRM(稳压器模块)?简单概述
但是,现代虚拟机管理程序非常强大且受到良好保护。尽管有一些关于小黑客的消息,但到目前为止,除了“概念验证”测试之外,还没有报告任何重大的超级劫持。
工业技术