技术概述

XenServer 是业界领先的开源平台,实现了经济高效的桌面、服务器和云虚拟化基础结构。通过 XenServer,任意规模或类型的组织都能够整合计算资源并将其转换为虚拟工作负载以满足当今数据中心的要求。同时可以确保将工作负载无缝移动到云中。

XenServer 的主要功能包括:

  • 将多个虚拟机 (VM) 整合到一个物理服务器中
  • 降低要管理的独立磁盘映像的数量
  • 允许与现有网络连接和存储基础结构轻松集成
  • 允许您使用 XenMotion 在 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 虚拟机管理程序,具有 Citrix 提供的额外功能和支持。XenServer 7.6 使用版本为 4.7 的 Xen 虚拟机管理程序。

控制域

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

Toolstack

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

来宾域 (VM)

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

完全虚拟化

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

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

半虚拟化 (PV)

半虚拟化是一种高效的轻型虚拟化技术,最初由 Xen Project 引入,之后由其他虚拟化平台采用。PV 不需要来自主机 CPU 的虚拟化扩展。但是,PV 来宾需要启用了 PV 的内核和 PV 驱动程序,以便来宾能够识别虚拟机管理程序,并且能够有效地运行而不需要虚拟的仿真硬件。Linux、NetBSD、FreeBSD 和 Open Solaris 中存在启用了 PV 的内核。有关受支持的处于 PV 模式的发行版的列表,请参阅 PV Linux 发行版

对于 PV 来宾,Xen 虚拟机管理程序会将 I/O 操作请求转发到控制域。来宾可以识别虚拟机管理程序,并将特权指令发送到虚拟机管理程序。

HVM 上的 PV

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

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

XenServer Tools

XenServer Tools 或来宾工具提供高性能 I/O 服务,而没有传统设备仿真的开销。XenServer Tools 由 I/O 驱动程序(也称为半虚拟化的驱动程序或 PV 驱动程序)和管理代理组成。

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

管理代理(也称为来宾代理)负责高级虚拟机管理功能。该管理代理向 XenCenter 提供包括静止快照在内的完整功能。

注意:

  • XenServer Tools 必须安装在每个 Windows VM 上,才能使 VM 具有完全受支持的配置。VM 在未安装 XenServer Tools 的情况下可以正常工作,但如果不安装 I/O 驱动程序(PV 驱动程序),性能将受到极大影响。
  • 对于 Windows VM,XenServer Tools 称为 Windows 来宾工具,其中包括 Windows PV 驱动程序和管理代理。
  • 对于 Linux VM,PV 驱动程序已包含在 Xen 内核中。

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

主要概念

资源池

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

资源池概述

XenServer 资源池采用主服务器/从属服务器体系结构,由 XAPI 实现。XAPI 调用从池主服务器转发到池成员。池成员针对池主服务器进行 DB RPC 。主服务器主机负责协调和锁定资源池中的资源,以及处理所有控制操作。成员主机通过 HTTP 和 XMLRPC 与主服务器进行通信,但可以相互通信(通过相同的通道)以便:

  • 传输 VM 内存映像(VM 迁移)
  • 镜像磁盘(存储迁移)

存储库

XenServer 存储目标称为存储库 (SR)。存储库存储虚拟磁盘映像 (VDI),后者包含虚拟磁盘的内容。 SR 具有对本地连接的 IDE、SATA、SCSI 和 SAS 驱动器和远程连接的 iSCSI、NFS、SAS 和光纤通道的内置支持,因而非常灵活。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/current-release/vswitch-controller.html)。

  • 分布式虚拟交换机控制器 (DVSC)

    基于 Debian 的设备,用于创建 XAPI 能够识别的开放流规则。此实现由以下各项组成:

    • 在每个 XenServer 和 vSwitch Controller 上运行的能够感知虚拟化的交换机 (vSwitch)。

    • 集中式服务器,用于管理和协调每个单独的 vSwitch 的行为以提供单个 vSwitch 的外观。

    有关详细信息,请参阅 vSwitch 和控制器

  • Citrix Licensing 服务器

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

  • XenServer Conversion Manager (XCM)

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

  • 标准引导补充包

    一个补充包,使客户能够在引导时测量其 XenServer 主机的主要组件,并提供使远程证明解决方案能够安全地收集这些衡量指标的 API。有关详细信息,请参阅标准引导补充包

  • Citrix Provisioning

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

  • Citrix Virtual Desktops

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

  • OpenStack/CloudStack 支持

    用于构建公有云/私有云的开源软件。使用管理 API 控制 XenServer。有关详细信息,请参阅 https://www.openstack.org/https://cloudstack.apache.org/