管理池

Last published : Oct 07, 2026
本文介绍了一些可用于管理池的操作。
要管理单个主机,请参阅 管理主机。

创建资源池

可以使用 XenCenter® 或 CLI 创建资源池。当新主机加入资源池时,加入主机将其本地数据库与池范围的数据库同步,并从池继承一些设置:
  • 虚拟机、本地和远程存储配置将添加到池范围的数据库中。除非在主机加入池后明确共享资源,否则此配置将应用于池中的加入主机。
  • 加入主机继承池中现有的共享存储库。将创建适当的 PBD 记录,以便新主机可以自动访问现有共享存储。
  • 网络信息部分继承到加入主机:NIC、VLAN 和绑定接口的结构详细信息都将继承,但策略信息不会。必须重新配置此策略信息,其中包括:
    • 管理 NIC 的 IP 地址,这些地址保留自原始配置。
    • 管理接口的位置,该位置与原始配置保持不变。例如,如果其他池主机在绑定接口上具有管理接口,则加入主机必须在加入后迁移到该绑定。
    • 专用存储 NIC 必须从 XenCenter 或 CLI 重新分配给加入主机,并且 PBD 必须重新插入以相应地路由流量。这是因为 IP 地址不是作为池加入操作的一部分分配的,并且存储 NIC 仅在正确配置时才起作用。有关如何从 CLI 专用存储 NIC 的更多信息,请参阅 管理网络。
    • 在将主机添加到池之前,重新配置管理接口并将其移动到物理 NIC 上。主机加入池后,可以再次重新配置管理接口。
在创建资源池之前,请查看池和加入主机的要求。有关更多信息,请参阅 资源池。

使用 xe CLI 将主机添加到池

  1. 在尝试加入之前,将池和加入主机更新到相同的级别。可以通过以下方式之一执行此操作:
    • 将要加入的主机更新到与池相同的级别:
      • (推荐)通过将要加入的主机与池同步,并从池协调器上保存的更新文件进行更新。有关更多信息,请参阅更新到池级别。
      • 通过下载与池级别匹配的更新包,并使用它来更新要加入的主机。
    • 将池和要加入的主机都更新到最新级别:
      • 通过将主机和池与相同的更新通道同步并应用最新更新。
      • 通过使用离线更新机制将最新级别的更新应用于主机和池。
    有关这些更新方法的更多信息,请参阅使用 XenCenter 应用更新 或 使用 xe CLI 应用更新。
  2. 在您要加入池的 XenServer® 主机上打开控制台。
  3. 通过发出以下命令将 XenServer 主机加入池:
    xe pool-join master-address=<address of pool coordinator> master-username=<administrator username> master-password=<password>
    master-address 必须设置为池协调器的完全限定域名。password 必须是安装池协调器时设置的管理员密码。
注意:
当您将主机加入池时,要加入主机的管理员密码会自动更改为与池协调器的管理员密码匹配。
XenServer 主机默认属于一个未命名的池。要创建您的第一个资源池,请重命名现有的无名池。使用 Tab 键自动完成功能查找 pool_uuid:
xe pool-param-set name-label="New Pool" uuid=pool_uuid

创建异构资源池

XenServer 通过允许将不同的主机硬件加入资源池(称为异构资源池)来简化部署的扩展。异构资源池通过使用 Intel (FlexMigration) 和 AMD (Extended Migration) CPU 中的技术实现,这些技术提供 CPU“掩蔽”或“级别调整”功能。CPU 掩蔽和级别调整功能允许将 CPU 配置为 看起来 提供与实际不同的品牌、型号或功能。此功能使您能够创建具有不同 CPU 的主机池,但仍能安全地支持实时迁移。
注意:
加入异构池的 XenServer 主机的 CPU 必须与池中现有主机的 CPU 属于同一供应商(即 AMD、Intel)。但是,主机在系列、型号或步进编号级别上不必是相同类型。
XenServer 简化了对异构池的支持。现在可以将主机添加到现有资源池中,而无需考虑底层 CPU 类型(只要 CPU 来自同一供应商系列)。池功能集在以下情况下动态计算:
  • 新主机加入池
  • 池成员离开池
  • 池成员在重新启动后重新连接
池功能集的任何更改都不会影响当前在池中运行的 VM。正在运行的 VM 会继续使用启动时应用的功能集。此功能集在启动时固定,并在迁移、挂起和恢复操作中保持不变。如果当功能较弱的主机加入池时池级别下降,则正在运行的 VM 可以迁移到池中的任何主机,但新添加的主机除外。当您将 VM 移动或迁移到池内或跨池的不同主机时,XenServer 会将 VM 的功能集与目标主机的功能集进行比较。如果发现功能集兼容,则允许 VM 迁移。这使得 VM 可以在池内和跨池自由移动,而无论 VM 使用的 CPU 功能如何。如果您使用工作负载平衡来选择迁移 VM 的最佳目标主机,则不会推荐具有不兼容功能集的主机作为目标主机。

添加共享存储

本节展示了如何在现有 NFS 服务器上创建共享存储(表示为存储库)的示例。有关支持的共享存储类型的完整列表,请参阅 存储。

使用 CLI 将 NFS 共享存储添加到资源池

  1. 在池中的任何 XenServer 主机上打开控制台。
  2. 通过发出以下命令在 server:/path 上创建存储库:
    xe sr-create content-type=user type=nfs name-label="Example SR" shared=true \
        device-config:server=server \
        device-config:serverpath=path
    device-config:server 是 NFS 服务器的主机名,device-config:serverpath 是 NFS 服务器上的路径。由于 shared 设置为 true,共享存储会自动连接到池中的每个 XenServer 主机。任何稍后加入的 XenServer 主机也会连接到该存储。存储库的通用唯一标识符 (UUID) 将显示在屏幕上。
  3. 通过运行以下命令查找池的 UUID:
    xe pool-list
  4. 使用以下命令将共享存储设置为池范围的默认值:
    xe pool-param-set uuid=pool_uuid default-SR=sr_uuid
    由于共享存储已设置为池范围的默认值,所有未来的 VM 默认情况下都会在共享存储上创建其磁盘。有关创建其他类型共享存储的信息,请参阅 创建 SR。

从资源池中移除 XenServer 主机

注意:
在从池中移除任何 XenServer 主机之前,请确保关闭在该主机上运行的所有 VM。否则,您可能会看到一条警告,指出无法移除该主机。
当您从池中移除(弹出)主机时,机器将重新启动、重新初始化,并处于类似于全新安装的状态。如果本地磁盘上有重要数据,请勿从池中弹出 XenServer 主机。

使用 CLI 从资源池中移除主机

  1. 在池中的任何主机上打开控制台。
  2. 通过运行以下命令查找主机的 UUID:
    xe host-list
  3. 从池中弹出所需主机:
    xe pool-eject host-uuid=host_uuid
    XenServer 主机被弹出并处于全新安装状态。
    警告:
    如果主机本地磁盘上存储有重要数据,请勿将其从资源池中弹出。当主机从池中弹出时,所有数据都将被擦除。如果要保留此数据,请使用 XenCenter 或 xe vm-copy CLI 命令将 VM 复制到池中的共享存储。
当包含本地存储 VM 的 XenServer 主机从池中弹出时,这些 VM 将存在于池数据库中。本地存储的 VM 对其他 XenServer 主机也可见。VM 不会启动,直到与其关联的虚拟磁盘已更改为指向池中其他 XenServer 主机可见的共享存储,或被移除。因此,我们建议您在加入池时将所有本地存储移动到共享存储。移动到共享存储允许单个 XenServer 主机被弹出(或物理故障)而不会丢失数据。
注意:
当主机从其管理接口位于标记 VLAN 网络上的池中移除时,机器将重新启动,并且其管理接口将在同一网络上可用。

轮换池密钥

池密钥是池中主机之间共享的密钥,它使主机能够证明其在池中的成员身份。
由于具有池管理员角色的用户可以发现此密钥,因此如果其中一位用户离开您的组织或失去其池管理员角色,最好轮换池密钥。
您可以使用 XenCenter 或 xe CLI 轮换池密钥。

XenCenter

要使用 XenCenter 轮换池的池密钥,请完成以下步骤:
  1. 在资源窗格中,选择池或池中的任何主机。
  2. 在池菜单上,选择轮换池密钥。
轮换池密钥时,系统还会提示您更改 root 密码。如果您轮换池密钥是因为您认为环境已受到威胁,请确保也更改池协调器的 root 密码。有关更多信息,请参阅更改密码。

xe CLI

要使用 xe CLI 轮换池密钥,请在池中的主机上运行以下命令:
xe pool-secret-rotate
如果您轮换池密钥是因为您认为环境已受到威胁,请确保也更改 root 密码。有关更多信息,请参阅更改密码。

配置 SSH 访问

默认情况下,您的 XenServer 池已启用 SSH 访问。如果要禁用对 XenServer 池的 SSH 访问,请运行以下命令:
xe pool-disable-ssh pool=<pool_uuid_or_name_label>
此命令禁用 SSH。池将拒绝新的 SSH 连接,但不会断开任何现有会话。
要启用对 XenServer 池的 SSH 访问,请运行以下命令:
xe pool-enable-ssh pool=<pool_uuid_or_name_label>
要设置当前池 SSH 临时启用超时(秒):
xe pool-param-set uuid=<pool-uuid> ssh-enabled-timeout=<seconds>
超时参数决定 SSH 服务的持续时间。当设置为 0 时,SSH 无限期保持活动状态。当设置为正整数(秒)时,SSH 会在指定时间段后自动禁用。配置更改会立即对后续的活动 SSH 会话生效,并在用户每次启用 SSH 时生效。
注意:
您可以为 ssh-enabled-timeout 设置的最大值为 172800 秒(大约 2 天)。
要设置当前池的 SSH 控制台空闲超时(秒)
xe pool-param-set uuid=<pool-uuid> console-idle-timeout=<seconds>
使用非负整数值(以秒为单位)配置 VNC 和 SSH 控制台连接的空闲会话超时,其中 0 表示禁用超时(会话永不失效),正值(例如 3600)表示在指定持续时间后自动终止空闲会话,配置后设置将应用于新创建的控制台会话。
要设置当前池 SSH 自动模式
xe poolparam-set uuid=<pool-uuid>  ssh-auto-mode=true
根据 XAPI 服务健康状态配置自动 SSH 管理。启用自动模式时,SSH 激活遵循 XAPI 状态:当 XAPI 健康时,SSH 被禁用;当 XAPI 不健康时,SSH 被启用。
自动模式已启用 + ssh_enabled_timeout = 0:通过 pool.enable_ssh 手动激活 SSH 会永久禁用自动模式。
自动模式已启用 + ssh_enabled_timeout > 0:手动激活 SSH 会暂时禁用自动模式;当超时到期时,自动模式会恢复到原始设置。(当系统在活动的 SSH 超时期间重新启动时,原始自动模式设置会丢失,并在超时/恢复时重置为启用状态。)
对于这些命令中的池参数值,您可以使用池选择器。有关更多信息,请参阅池命令。
您可以同时管理 XenServer 池中所有池的 SSH 访问。有关更多信息,请参阅禁用池的 SSH 访问。

池加入/弹出行为

  • 加入 – 当服务器加入池时,SSH 设置(SSH 启用超时、空闲控制台超时、自动模式)会被继承。
  • 弹出 – 当服务器从池中弹出时,将恢复默认设置。
    • XenServer 8.4:SSH 已启用,自动模式已关闭

新 SSH 管理控制的定义

在池级别设置新的 XAPI API pool.set_ssh_auto_mode 以配置 SSH
set_ssh_auto_mode:配置以启用或禁用 SSH 自动模式。当自动模式启用时,SSH 状态取决于 XAPI 状态:当 XAPI 正常时,SSH 被禁用;当 XAPI 不正常时,SSH 被启用。
当用户将自动模式设置为启用且当前 ssh_enabled_timeout 为 0 时,使用 pool.enable_ssh 启用 SSH 将永久禁用自动模式。
当用户使用 pool.set_auto_mode 将自动模式设置为启用或禁用时,这称为“原始自动模式设置”。如果当前 ssh_enabled_timeout 设置为正数(例如 1800 秒),则使用 pool.enable_ssh 启用 SSH 将暂时禁用自动模式。当超时期限到期时,SSH 将自动禁用,并且自动模式将恢复到其原始设置。
当用户将 ssh_enabled_timeout 设置为正数(例如 3600 秒)并在超时期限到期之前重新启动主机(或重新启动 XAPI)时,一旦超时期限到期,SSH 将自动禁用,并且自动模式将恢复为 true,因为重新启动将导致原始自动模式设置丢失。
当您将 ssh_enabled_timeout 配置为正数(例如 180 秒)且 XAPI 随后发生故障时,如果在超时期限到期时 XAPI 仍处于故障状态,SSH 将保持启用状态,直到 XAPI 重新启动。XAPI 重新启动后,SSH 将自动禁用,并且自动模式将恢复为 true,因为系统重新启动会导致原始自动模式设置丢失。

在 XenServer 池上启用 IGMP 侦听

XenServer 将多播流量发送到所有客户机 VM,导致主机设备不必要的负载,因为它们需要处理未请求的数据包。启用 IGMP 侦听可防止本地网络上的主机接收其未明确加入的多播组的流量,并提高多播性能。IGMP 侦听对于带宽密集型 IP 多播应用程序(如 IPTV)特别有用。
注意:
  • 仅当网络后端使用 Open vSwitch 时,IGMP 侦听才可用。
  • 在池上启用此功能时,可能还需要在其中一个物理交换机上启用 IGMP 查询器。否则,子网络中的多播将回退到广播,并可能降低 XenServer 性能。
  • 在运行 IGMP v3 的池上启用此功能时,VM 迁移或网络绑定故障转移会导致 IGMP 版本切换到 v2。
  • 要通过 GRE 网络启用此功能,用户必须在 GRE 网络中设置 IGMP 查询器。或者,您可以将 IGMP 查询消息从物理网络转发到 GRE 网络中。否则,GRE 网络中的多播流量可能会被阻止。
您可以使用 XenCenter 或 xe CLI 在池上启用 IGMP 侦听。

XenCenter

  1. 导航到 池属性。
  2. 选择 网络选项。您可以在此处启用或禁用 IGMP 侦听。

xe CLI

  1. 获取池 UUID:
    xe pool-list
  2. 启用/禁用池的 IGMP 侦听:
    xe pool-param-set [uuid=pool-uuid] [igmp-snooping-enabled=true|false]
启用 IGMP 侦听后,您可以使用 xe CLI 查看 IGMP 侦听表。

查看 IGMP 侦听表

使用以下命令查看 IGMP 侦听表:
ovs-appctl mdb/show [bridge name]
注意:
您可以使用 xe network-list 获取网桥名称。这些网桥名称可以是 xenbr0、xenbr1、xenapi 或 xapi0。
这将输出一个包含四列的表格:
  • 端口:交换机 (OVS) 的端口。
  • VLAN:流量的 VLAN ID。
  • 组:端口请求的多播组。
  • 存活时间:此记录的存活时间(秒)。
如果 组 是多播组地址,这意味着在关联的交换机端口上收到了 IGMP 报告消息。这表示多播组的接收方(成员)正在此端口上侦听。
请看以下包含两条记录的示例:
端口 VLAN 组 存活时间
14 0 227.0.0.1 15
1 0 查询器 24
第一条记录显示,有一个接收器正在端口 14 上侦听多播组 227.0.0.1。Open vSwitch 将发往 227.0.0.1 多播组的流量转发到仅侦听此组的端口(在此示例中为端口 14),而不是广播到所有端口。链接端口 14 和组 227.0.0.1 的记录是在 15 秒前创建的。默认情况下,超时间隔为 300 秒。这意味着,如果在添加记录后 300 秒内,交换机未在端口 14 上收到任何进一步的 IGMP 报告消息,则该记录将过期并从表中删除。
在第二条记录中,GROUP 是 查询器,这意味着已在关联端口上收到 IGMP 查询消息。查询器会定期发送 IGMP 查询消息(广播到所有交换机端口),以确定哪些网络节点正在侦听多播组。收到 IGMP 查询消息后,接收器会回复 IGMP 报告消息,这会使接收器的多播记录刷新并避免过期。
VLAN 列指示接收器/查询器所在的 VLAN。“0”表示本机 VLAN。如果要在某些标记的 VLAN 上运行多播,请确保 VLAN 上有记录。
注意:
对于 VLAN 场景,您必须有一个查询器记录,其 VLAN 列值等于网络的 VLAN ID,否则多播将无法在 VLAN 网络中工作。

在 XenServer 池上启用迁移流压缩

在 VM 实时迁移期间,其内存通过网络在两个主机之间作为数据流传输。迁移流压缩功能会压缩此数据流,从而加快慢速网络上的内存传输。此功能默认禁用,但可以通过使用 XenCenter 或 xe CLI 进行更改。有关详细信息,请参阅 池属性 - 高级 和 池参数。或者,您可以在使用命令行迁移 VM 时启用压缩。有关详细信息,请参阅 VM 命令 中的 vm-migrate 命令。

导出资源池数据

“导出资源数据”选项允许您为池生成资源数据报告,并将报告导出为 .xls 或 .csv 文件。此报告提供有关池中各种资源的详细信息,例如主机、网络、存储、虚拟机、VDI 和 GPU。此功能使管理员能够根据各种工作负载(例如 CPU、存储和网络)跟踪、规划和分配资源。
注意:
导出资源池数据功能适用于 XenServer 高级版客户。
报告中包含的资源列表和各种类型的资源数据:
服务器:
  • 名称
  • 池协调器
  • UUID
  • 地址
  • CPU 使用率
  • 网络(平均/最大 KB)
  • 已用内存
  • 存储
  • 运行时间
  • 描述
网络:
  • 名称
  • 链接状态
  • MAC地址
  • MTU
  • VLAN
  • 类型
  • 位置
VDI:
  • 名称
  • 类型
  • UUID
  • 大小
  • 存储
  • 描述
存储:
  • 名称
  • 类型
  • UUID
  • 大小
  • 位置
  • 描述
虚拟机:
  • 名称
  • 电源状态
  • 运行于
  • 地址
  • MAC
  • 网卡
  • 操作系统
  • 存储
  • 已用内存
  • CPU 使用率
  • UUID
  • 运行时间
  • 模板
  • 描述
GPU:
  • 名称
  • 服务器
  • PCI 总线路径
  • UUID
  • 功耗
  • 温度
  • 已用内存
  • 计算机利用率
注意:
有关 GPU 的信息仅在您的 XenServer 主机连接有 GPU 时可用。

导出资源数据

  1. 在 XenCenter 导航窗格中,选择 Infrastructure,然后选择池。
  2. 选择 Pool 菜单,然后选择 Export Resource Data。
  3. 浏览到您希望保存报告的位置,然后单击 Save。