📜  操作系统虚拟化

📅  最后修改于: 2020-11-09 02:02:36             🧑  作者: Mango

操作系统虚拟化

借助OS虚拟化,无需在本地设备上预安装或永久加载任何内容,并且不需要硬盘。一切都使用一种虚拟磁盘从网络运行。该虚拟磁盘实际上是存储在远程服务器,SAN(存储区域网络)或NAS(非易失性附加存储)上的磁盘映像文件。客户端将通过网络连接到该虚拟磁盘,并将在虚拟磁盘上安装了操作系统的情况下启动。

OS虚拟化如何工作?

在基础架构中使用OS虚拟化所需的组件如下:

第一个组件是OS虚拟化服务器。该服务器是OS虚拟化基础架构的中心。服务器管理客户端虚拟磁盘上信息的流,并确定哪个客户端将连接到哪个虚拟磁盘(使用数据库存储此信息)。服务器还可以在本地托管虚拟磁盘的存储,或者服务器通过SAN(存储区域网络)连接到虚拟磁盘。在高可用性环境中,可能会有更多的OS Virtualization服务器无法创建冗余和负载平衡。服务器还确保客户端在基础架构中将是唯一的。

其次,有一个客户端,它将与服务器联系以连接到虚拟磁盘,并要求存储在虚拟磁盘上的用于运行操作系统的组件。

可用的支持组件包括用于存储服务器配置和设置的数据库,用于虚拟磁盘内容的流服务,用于将客户端连接到OS Virtualization服务器的(可选)TFTP服务以及(也可选)PXE引导服务。

如前所述,虚拟磁盘包含系统中物理磁盘的映像,该映像将反映将使用虚拟磁盘的那些系统的配置和设置。创建虚拟磁盘后,需要将该磁盘分配给将使用该磁盘启动的客户端。客户端和磁盘之间的连接是通过管理工具建立的,并保存在数据库中。当客户端有分配的磁盘时,可以通过以下过程使用虚拟磁盘启动计算机,如下图所示:

1)连接到OS Virtualization服务器:

首先,我们启动机器并建立与OS Virtualization服务器的连接。大多数产品提供了几种与服务器连接的可能方法。最流行和使用的方法之一是使用PXE服务,但也经常使用引导带(由于PXE服务的缺点)。尽管每种方法都会初始化网络接口卡(NIC),但会接收(基于DHCP的)IP地址和与服务器的连接。

2)连接虚拟磁盘:

在客户端与服务器之间建立连接后,服务器将查看其数据库以检查客户端是已知客户端还是未知客户端,以及将哪个虚拟磁盘分配给客户端。如果连接了多个虚拟磁盘,则客户端上将显示启动菜单。如果仅分配了一个磁盘,则该磁盘将连接到第3步中提到的客户端。

3)VDisk连接到客户端:

客户端选择所需的虚拟磁盘后,该虚拟磁盘将通过OS Virtualization服务器连接。在后端,OS虚拟化服务器确保客户端在基础结构中将是唯一的(例如,计算机名称和标识符)。

4)OS被“流化”到客户端:

磁盘连接后,服务器将开始流式传输虚拟磁盘的内容。该软件知道哪些部分是顺利启动操作系统所必需的,因此这些部分将首先进行流传输。系统中流式传输的信息应存储在某个位置(即缓存)。大多数产品提供几种缓存信息的方法。例如客户端硬盘上或OS Virtualization服务器磁盘上的示例。

5)附加流:

在流传输第一部分之后,操作系统将开始按预期运行。当需要运行或启动用户调用的函数(例如,启动虚拟磁盘中可用的应用程序)时,将传输其他虚拟磁盘数据。