XenServer

技术概述

XenServer(以前称为 Citrix Hypervisor)是业界领先的平台,实现了经济高效的桌面、服务器和云虚拟化基础结构。XenServer 支持任意规模或类型的组织整合计算资源,以及将计算资源转换为虚拟工作负载,从而满足现今数据中心的要求。同时可以确保将工作负载无缝移动到云中。

XenServer 的主要功能包括:

  • 将多个虚拟机 (VM) 整合到一个物理服务器中
  • 降低要管理的独立磁盘映像的数量
  • 允许与现有网络连接和存储基础结构轻松集成
  • 允许您在 XenServer 主机之间实时迁移 VM,在确保零停机时间的情况下安排维护工作
  • 使用高可用性功能配置相应的策略(当一个主机出现故障时在另一个主机上重新启动 VM),从而确保 VM 的可用性
  • 提高 VM 映像的可移植性,因为一个 VM 映像将在一系列部署基础结构中运行

虚拟化和虚拟机管理程序

虚拟化(更具体而言,硬件虚拟化)是一种在单个物理机上运行多个独立 VM 的方法。这些虚拟机上运行的软件与基础硬件资源分隔开来。这是一种充分利用最新的功能强大的服务器中可用的物理资源的方式,能够降低服务器部署的总体拥有成本 (TCO)。

虚拟机管理程序是软件的基础抽象层。虚拟机管理程序执行底层任务(例如 CPU 调度),并且负责常驻 VM 的内存隔离。虚拟机管理程序提取 VM 的硬件。虚拟机管理程序无法识别网络连接、外部存储设备及视频等。

关键组件

本部分内容将详细介绍 XenServer 的工作原理。请参见下图,了解 XenServer 的关键组件:

体系结构和组件

硬件

硬件层包含物理服务器组件,例如 CPU、内存、网络和磁盘驱动器。

您需要配备了一个或多个 CPU 的基于 Intel VT 或 AMD-V 64 位 x86 的系统,才能运行所有受支持的操作系统。有关 XenServer 主机系统要求的详细信息,请参阅“系统要求”。 有关 XenServer 认证硬件和系统的完整列表,请参阅硬件兼容性列表 (HCL)。

Xen 虚拟机管理程序

Xen Project 虚拟机管理程序是开放源类型 1 或裸机虚拟机管理程序。此虚拟机管理程序允许一个操作系统或不同操作系统的实例在单个计算机(或主机)上并行运行。Xen 虚拟机管理程序用作许多不同的商务应用程序和开源应用程序的基础,例如:服务器虚拟化、基础结构即服务 (IaaS)、桌面虚拟化、安全应用程序、嵌入式设备以及硬件设备。

XenServer 基于 Xen Project 虚拟机管理程序,除此之外,我们还提供额外的功能和支持。XenServer 使用 4.13.4 版本的 Xen 虚拟机管理程序。

控制域

控制域又称为“域 0”或 dom0,是一个运行 XenServer 管理 Toolstack(称为 XAPI)且享有特权的安全 Linux VM。此 Linux VM 基于 CentOS 7.5 发行版。除提供 XenServer 管理功能外,dom0 还运行适用于网络连接、存储等物理设备驱动程序。控制域可以与虚拟机管理程序通信,指示其启动或停止来宾 VM。

Toolstack

Toolstack 或 XAPI 是控制 VM 生命周期操作、主机和 VM 网络连接、VM 存储以及用户身份验证的软件堆栈。此外,它还可以管理 XenServer 资源池。 XAPI 提供公开记录的管理 API,可供所有管理 VM 和资源池的工具使用。有关详细信息,请参阅 XenServer 管理 API

来宾域 (VM)

来宾域是用户创建的从 dom0 请求资源的虚拟机。有关受支持的发行版本的详细列表,请参阅受支持的来宾、虚拟内存和磁盘大小限制

完全虚拟化

完全虚拟化或硬件协助虚拟化使用来自主机 CPU 的虚拟化扩展对来宾进行虚拟化。完全虚拟化的来宾不需要任何内核支持。来宾被称为硬件虚拟机 (HVM)。HVM 需要 Intel VT 或 AMD-V 硬件扩展以执行内存和特权操作。XenServer 使用 Quick Emulator (QEMU) 来模拟 PC 硬件,包括 BIOS、IDE 磁盘控制器、VGA 图形适配器、USB 控制器、网络适配器等。为提高硬件敏感操作(例如磁盘或网络访问)的性能,将随 XenServer 工具安装 HVM 来宾系统。有关详细信息,请参阅 HVM 上的 PV

HVM 通常在对操作系统进行虚拟化时使用,例如能够在其中修改内核以使其识别虚拟化的 Microsoft Windows。

HVM 上的 PV

HVM 上的 PV 是半虚拟化与完全硬件虚拟化的混合。主要目标是通过使用专门优化的半虚拟化驱动程序来大幅提高 HVM 来宾的性能。此模式允许您利用更新的处理器中的 x86 虚拟容器技术来提高性能。从这些来宾系统访问网络和存储仍将使用内置到内核中的驱动程序在 PV 模式下进行。

Windows 和 Linux 发行版在 XenServer 中的“HVM 上的 PV”模式下提供。有关受支持的使用“HVM 上的 PV”的发行版的列表,请参阅来宾操作系统支持

XenServer VM Tools

XenServer VM Tools(以前称为 Citrix VM Tools 或 XenServer PV Tools)可提供高性能 I/O 服务,而不会产生传统设备模拟开销。

  • 适用于 Windows 的 XenServer VM Tools 由 I/O 驱动程序(也称为半虚拟化驱动程序或 PV 驱动程序)和管理代理组成。

    I/O 驱动程序包括前端存储和网络驱动程序以及底层管理接口。这些驱动程序可替代模拟设备,并在 VM 和 XenServer 产品系列软件之间提供高速传输。

    管理代理(也称为来宾代理)负责高级虚拟机管理功能。该管理代理向 XenCenter(适用于 Windows VM )提供完整功能。

    必须在每个 Windows VM 上安装适用于 Windows 的 XenServer VM Tools,才能使 VM 具有完全受支持的配置。VM 在未安装适用于 Windows 的 XenServer VM Tools 的情况下可以正常运行,但如果不安装 I/O 驱动程序(PV 驱动程序),性能将受到极大影响。

  • 适用于 Linux 的 XenServer VM Tools 包含一个来宾代理,负责向主机提供有关 VM 的额外信息。应在每个 Linux VM 上安装来宾代理,才能启用动态内存控制 (DMC)。

注意:

您不能在 Red Hat Enterprise Linux 8、Red Hat Enterprise Linux 9、Rocky Linux 8、Rocky Linux 9 或 CentOS Stream 9 VM 上使用动态内存控制 (DMC) 功能,因为这些操作系统不支持 Xen 虚拟机管理程序的内存气球功能。

有关详细信息,请参阅 XenServer VM Tools

主要概念

资源池

XenServer 允许您使用资源池作为单个实体来管理多个主机及其连接的共享存储。通过资源池,您可以在不同的 XenServer 主机之间移动和运行虚拟机。此外,还允许所有主机共享网络和存储的通用框架。一个池中最多可以包含 64 个主机,这些主机都运行同一版本的 XenServer 软件(在相同的修补程序级别),而且具有广泛的硬件兼容性。有关详细信息,请参阅主机和资源池

资源池概述

XenServer 资源池采用主/辅助体系结构,由 XAPI 实现。XAPI 调用从池协调器(主体系结构)转发到池成员(辅助体系结构)。池成员将对池协调器进行 DB RPC。池协调器负责协调和锁定资源池中的资源,以及处理所有控制操作。池成员通过 HTTP 和 XMLRPC 与池协调器通信,但它们可以通过镜像磁盘(存储迁移)相互通信(通过同一通道)

存储库

XenServer 存储目标称为存储库 (SR)。存储库存储虚拟磁盘映像 (VDI),后者包含虚拟磁盘的内容。 SR 具有对本地连接的 IDE、SATA、SCSI、NVMe 和 SAS 驱动器和远程连接的 iSCSI、NFS、SAS、SMB 和光纤通道的内置支持,因而非常灵活。SR 和 VDI 抽象允许在支持高级存储功能(例如,精简预配、VDI 快照和快速克隆)的存储目标上提供这些功能。

存储库概述

每个 XenServer 主机可以同时使用多个 SR 和不同的 SR 类型。可以在主机之间共享这些 SR,也可以将其专用于特定主机。共享存储会加入一个已定义的资源池,并由该池内的多台主机共用。共享 SR 必须可由池中的每台主机通过网络访问。单个资源池中的所有主机必须至少有一个共享 SR。共享存储不能在多个池之间共享。

有关如何使用 SR 的详细信息,请参阅配置存储

网络连接

在体系结构级别,有三种类型的服务器端软件对象来表示网络连接实体。这些对象包括:

  • PIF 是指 dom0 中使用的软件对象,表示主机上的一个物理 NIC。PIF 对象具有名称和说明、UUID、所表示的 NIC 的参数,以及连接到的网络和主机。
  • VIF,是指 dom0 中使用的软件对象,表示虚拟机上的一个虚拟 NIC。VIF 对象具有名称和说明、UUID 和连接到的网络和 VM。
  • 网络,是指主机上用于路由网络主机上的网络流量的虚拟以太网交换机。网络对象具有名称和说明、UUID 以及连接到的 VIF 和 PIF 的集合。

网络连接概述

XenServer 管理 API 允许执行以下操作:

  • 配置网络连接选项
  • 控制要用于管理操作的 NIC
  • 创建高级网络连接功能,例如 VLAN 和 NIC 绑定

有关如何管理 XenServer 上的网络的详细信息,请参阅网络连接

相关加载项和应用程序

虽然 Xen 虚拟机管理程序可以在核心级别运行,但存在与虚拟机管理程序不可知的应用程序以及可用于使虚拟化体验变得完整的服务有关的 XenServer 特定加载项。

  • XenCenter

    用于管理 VM 的 Windows GUI 客户端基于管理 API 进行实现。XenCenter 提供管理多个 XenServer 主机、 资源池以及与其关联的整个虚拟基础结构的丰富用户体验。

  • Workload Balancing (WLB)

    一种设备,通过将虚拟机重定位到资源池中最适合其工作负载的主机对池进行负载平衡。有关详细信息,请参阅 Workload balancing (/zh-cn/xenserver/8/wlb.html)。

  • Citrix Licensing 服务器

    基于 Linux 的设备,XenCenter 与之联系以请求指定服务器的许可证。

  • XenServer Conversion Manager

    允许用户将现有 VMware 虚拟机转换为 XenServer 虚拟机并且具有相媲美的网络连接和存储连接的虚拟设备。有关详细信息,请参阅 Conversion Manager

  • Citrix Provisioning

    支持从公用映像进行 PXE 引导的 Provisioning Services。在 Citrix Virtual Desktops 和 Citrix Virtual Apps 中广泛使用。有关详细信息,请参阅 Provisioning

  • Citrix Virtual Desktops

    专用于 Windows 桌面的虚拟桌面基础结构 (VDI) 产品。Citrix Virtual Desktops 使用 XAPI 管理多主机池配置中的 XenServer。有关详细信息,请参阅 Citrix Virtual Apps and Desktops

技术概述