基于操作系统的虚拟化
先决条件——服务器虚拟化的类型、基于硬件的虚拟化
基于操作系统的虚拟化是指一种操作系统特性,在该特性中内核允许存在各种隔离的用户空间实例。虚拟化软件的安装也指基于操作系统的虚拟化。它安装在预先存在的操作系统上,该操作系统称为主机操作系统。
在这种虚拟化中,用户像任何其他程序一样将虚拟化软件安装在他的系统的操作系统中,并利用该应用程序来操作和生成各种虚拟机。在这里,虚拟化软件允许用户直接访问任何创建的虚拟机。由于宿主操作系统可以为硬件设备提供强制支持,因此即使没有为虚拟化软件分配硬件驱动程序,操作系统虚拟化也可能会影响硬件的兼容性问题。
虚拟化软件能够将需要独特软件才能运行的硬件 IT 资源转换为虚拟化 IT 资源。由于主机操作系统本身就是一个完整的操作系统,因此可以使用许多基于操作系统的服务作为组织管理和管理工具,可用于虚拟主机管理。
下面提到了一些主要的基于操作系统的服务:
- 备份和恢复。
- 安全管理。
- 与目录服务的集成。
基于操作系统的虚拟化的各种主要操作如下所述:
- 可以使用硬件功能,例如网络连接和 CPU。
- 它可以与之交互的连接的外围设备,例如网络摄像头、打印机、键盘或扫描仪。
- 可以读取或写入的数据,例如文件、文件夹和网络共享。
操作系统可能具有允许或拒绝访问这些资源的能力,程序基于这些资源请求它们以及它运行的上下文中的用户帐户。操作系统也可能隐藏这些资源,这导致计算机程序计算它们时,它们不会出现在枚举结果中。然而,从编程的角度来看,计算机程序已经与这些资源进行了交互,并且操作系统已经管理了交互行为。
使用操作系统虚拟化或容器化,可以在容器内运行程序,而这些资源仅分配给容器。一个期望感知整个计算机的程序,一旦在容器内运行,只能看到分配的资源,并认为它们是所有可用的资源。可以在每个操作系统上形成多个容器,为每个容器分配计算机资源的子集。每个容器可以包括许多计算机程序。这些程序可以并行或独立运行,甚至相互关联。
基于操作系统的虚拟化会产生与性能开销相关的需求和问题,例如:
- 主机操作系统使用 CPU、内存和其他硬件 IT 资源。
- 来自客户操作系统的与硬件相关的调用需要在多个层之间导航到硬件,这会降低整体性能。
- 除了每个客户操作系统的单独许可证外,许可证对于主机操作系统通常也是必不可少的。