基于操作系统的虚拟化
使用基于操作系统的虚拟化有很多好处。您可以在同一台物理硬件上运行多个操作系统。这对于测试不同的操作系统、运行旧版应用程序或节省计算机空间很有用。另一个优点是它可以提高性能。通过将每个操作系统与其他操作系统隔离,虚拟化软件可以防止冲突并提高整体系统性能。
它在硬件和操作系统之间创建了一个抽象层。虚拟化软件安装在主机操作系统上。它管理此抽象层,并允许客户机操作系统访问其所需的硬件资源。
基于操作系统的虚拟化:它是如何工作的?
主机操作系统具有允许其创建和管理容器的功能。此功能称为内核。内核控制对每个容器的资源访问和分配。它还将容器彼此隔离,并与主机系统隔离。假设容器内有一个程序。此程序只能使用分配给该容器的资源。它无法访问其外部的任何内容。
内核还提供资源管理功能,以限制一个容器的活动对其他容器的影响。例如,容器内的程序可以决定每个容器允许使用多少 CPU 时间、内存、磁盘空间和网络带宽。它可以设置限制以确保它们不会使用过多的这些资源。它还可以根据容器的重要性及其需求对某些容器进行优先级排序。
基于操作系统的虚拟化也有一些缺点。它可能会给系统带来开销,因为虚拟化软件需要管理硬件和操作系统之间的抽象层。并非所有操作系统都与虚拟化软件兼容。
基于操作系统的虚拟化
基于操作系统的虚拟化是一种工具。它可以用来提高计算机的灵活性和性能。
基于操作系统的服务
备份和恢复:主机操作系统可用于备份和恢复虚拟机。您可以使用备份工具软件。
安全管理:主机操作系统可用于管理虚拟机的安全性。您可以配置防火墙、防病毒软件和其他安全设置。
与目录服务的集成:主机操作系统可以与目录服务(如 Active Directory)集成。用户和组可以集中管理。
基于操作系统的操作
连接的外设:主机操作系统可用于访问连接的外设。这些是:网络摄像头、打印机、键盘或扫描仪。
数据:主机操作系统可用于读取和写入文件、文件夹和网络共享中的数据。
操作系统为虚拟化提供各种服务和操作。可用的服务取决于主机操作系统和虚拟化软件。操作系统根据程序请求和用户帐户控制资源访问。它可以向程序隐藏资源,方便它们的交互。在虚拟化中,程序在资源有限的容器中运行。每个容器可以容纳多个独立运行或一起运行的程序。
基于操作系统的虚拟化的优势
操作系统虚拟化优于传统方法。如下所示。
资源隔离确保容器独立安全地运行,避免冲突。
容器轻量级,节省磁盘空间,共享主机系统。
它们通过直接访问硬件资源而无需额外的层来实现更好的性能。
容器可以很好地扩展,可以轻松地在系统之间创建、移动和分发。
可移植性允许在各种计算机上运行容器,而不会丢失数据或设置。
基于操作系统的虚拟化的局限性
操作系统虚拟化面临挑战和局限性
容器内某些应用程序和设备的兼容性问题。
某些应用程序需要主机操作系统不支持的直接硬件访问。
安全性依赖于主机操作系统的稳定性;攻击可能会影响所有容器。
复杂性需要技能来设置和管理多个容器。
基于硬件的虚拟化
基于硬件的虚拟化将软件直接安装在硬件上。它不需要主机操作系统,因此效率更高。虚拟化软件称为管理程序,具有简单的界面。它管理硬件功能,优化虚拟机的配置。当多台虚拟机使用硬件时,管理程序可以降低性能开销。
基于硬件的虚拟化需要兼容的设备驱动程序才能与主机硬件交互。管理程序平台可能缺少用于已使用操作系统的驱动程序。主机管理功能可能无法与操作系统中的高级功能匹配。
基于硬件的虚拟化的优势
以下是一些基于硬件的虚拟化的优势
它可以通过减少虚拟化的开销来提高性能。
它可以通过将虚拟机彼此隔离以及与主机硬件隔离来提高安全性。
它可能比基于操作系统的虚拟化更具可扩展性。
基于硬件的虚拟化的缺点
以下是一些基于硬件的虚拟化的缺点
它需要硬件支持,例如支持管理程序的 CPU。
它可能比基于操作系统的虚拟化更昂贵。
它可能比基于操作系统的虚拟化更复杂。
总的来说,基于硬件的虚拟化比基于操作系统的虚拟化更安全。但是,它需要硬件支持,并且管理起来可能更昂贵和复杂。
虚拟化:基于操作系统的与基于硬件的
下表重点介绍了基于操作系统的虚拟化与基于硬件的虚拟化的区别
因素 | 基于操作系统的虚拟化 | 基于硬件的虚拟化 |
---|---|---|
定义 | 安装在主机操作系统内的虚拟化软件 | 直接安装在硬件上的虚拟化软件 |
依赖性 | 依靠主机操作系统进行资源管理 | 绕过对主机操作系统的需求 |
性能 | 由于与主机操作系统的交互,开销略高 | 开销较低,因为它直接访问硬件资源 |
资源管理 | 主机操作系统管理资源分配 | 管理程序直接管理资源分配 |
灵活性 | 受主机操作系统的功能和约束限制 | 更大的灵活性,因为它可以直接访问硬件 |
可移植性 | 可能受与主机操作系统的兼容性的限制 | 独立于主机操作系统 |
硬件兼容性 | 可能在硬件设备驱动程序可用性方面面临挑战 | 需要兼容的硬件和驱动程序 |
高级功能 | 可以利用主机操作系统提供的高级功能 | 可能没有相同范围的高级功能 |
示例 | VMware Workstation、Oracle VirtualBox、Microsoft Hyper-V | VMware ESXi、Microsoft Hyper-V、Citrix XenServer |
总的来说,对于需要简单经济的虚拟化解决方案的组织来说,基于操作系统的虚拟化是一个不错的选择。对于需要更安全可靠的虚拟化解决方案的组织来说,基于硬件的虚拟化是一个不错的选择。
操作系统虚拟化中的虚拟磁盘
在操作系统虚拟化中,客户端通过网络连接到虚拟磁盘并启动安装在虚拟磁盘上的操作系统。虚拟磁盘有两种类型
专用虚拟磁盘:由单个客户端使用,类似于本地硬盘。用户可以根据分配的权限在虚拟磁盘上保存信息。设置在客户端重新启动系统时会保留,类似于使用物理本地硬盘。
共享/公共虚拟磁盘:多个客户端可以同时使用。更改保存在特殊的缓存中,该缓存在用户重新启动或关闭系统时会被清除。当客户端启动时,它使用虚拟磁盘上可用的默认配置。
总结
基于操作系统的虚拟化允许在同一硬件上运行多个操作系统。它可以提高性能,支持旧版应用程序并节省空间。内核创建和管理容器,确保资源分配和隔离。由于抽象层,可能会存在兼容性和开销问题。
基于操作系统的虚拟化提供备份、安全管理和硬件访问。虚拟化软件处理不同操作系统的硬件,而主机操作系统进行管理。
优点:资源隔离、轻量级容器、更好的性能、可扩展性和可移植性。
挑战:兼容性、依赖于主机操作系统的安全性以及复杂性。
基于硬件的虚拟化绕过主机操作系统,使用管理程序进行直接硬件交互。它优化了配置,但与基于操作系统的相比可能存在一些限制。两者都有优点和需要考虑的事项,具体取决于特定需求和偏好。