管理工作负载平衡
工作负载平衡运行一段时间后,您可能需要执行一些例行任务,以使 工作负载平衡保持最佳运行状态。您可能需要执行这些任务,原因可能是您的环境发生了变化 (例如 IP 地址或凭据不同)、硬件升级或例行维护。
连接到工作负载平衡虚拟设备
完成工作负载平衡配置后,使用 CLI 或 XenCenter® 将要管理的池连接到工作负载平衡虚拟设备。 同样,您可能需要在某个时候重新连接到同一虚拟设备。
要将池连接到工作负载平衡虚拟设备,您需要以下信息:
-
工作负载平衡虚拟设备的 IP 地址或 FQDN
-
要获取工作负载平衡虚拟设备的 IP 地址:
- 在 XenCenter 中,转到工作负载平衡虚拟设备的“控制台”选项卡。
- 以
root身份登录,并使用导入设备时创建的 root 密码。 - 运行以下命令:
ifconfig。
-
要在连接到工作负载平衡服务器时指定工作负载平衡 FQDN,首先将其主机 名和 IP 地址添加到您的 DNS 服务器。
-
-
工作负载平衡虚拟设备的端口号。默认情况下,XenServer® 连接到工作负载平衡 的端口是 8012。
仅当您在工作负载平衡配置期间更改了端口号时才编辑它。在工作负载平衡配置期间、 任何防火墙规则中以及“连接到 WLB 服务器”对话框中指定的端口号 必须匹配。
-
要让工作负载平衡监视的资源池的凭据。
-
您在工作负载平衡配置期间创建的工作负载平衡帐户的凭据。
此帐户通常称为 Workload Balancing 用户帐户。XenServer 使用此帐户与 Workload Balancing 通信。您在 Workload Balancing 配置期间在 Workload Balancing 虚拟设备上创建了此帐户。
![ (1) XenServer 使用您在 Workload Balancing 配置期间创建的帐户与 Workload Balancing 通信。(2) Workload Balancing 虚拟设备使用池的凭据向 XenServer 进行身份验证。 ]](/en-us/xenserver/9/media/wlb-accounts.png)
首次连接到 Workload Balancing 时,它会使用默认阈值和设置来平衡工作负载。 自动功能(例如自动优化模式、电源管理和自动化)默认处于禁用状态。
使用证书
证书验证默认处于启用状态。要将 Workload Balancing 虚拟设备与 XenServer 连接, 您必须将 Workload Balancing 证书导入到 XenServer 池中。如果您使用的是 XenCenter 2025.1 或 更高版本以及 Workload Balancing 8.4.0 或更高版本,XenCenter 会自动从您的 Workload Balancing 虚拟设备导入所需的证书。如果您使用的是早期版本,则必须手动导入证书。有关 更多信息,请参阅 证书。
如果您想上传不同的(受信任的)证书或配置证书验证,请在将池连接到 Workload Balancing 之前注意以下 事项:
-
在 Workload Balancing 虚拟设备首次设置期间生成的自签名证书始终对 IP 地址有效。如果您在初始设置期间为 Workload Balancing 虚拟设备配置了主机名和 FQDN, 则自签名证书也对主机名和 FQDN 有效。
-
如果您想使用证书颁发机构的证书,在连接到 Workload Balancing 时指定 FQDN 会更容易。 但是,您可以在连接到 WLB 服务器对话框中指定静态 IP 地址。将此 IP 地址用作证书中的主题备用名称 (SAN)。
有关详细信息,请参阅证书。
如果您的池无法连接到 Workload Balancing,请禁用证书验证:
-
获取池 UUID:
xe pool-list <!--NeedCopy--> -
禁用证书验证:
xe pool-param-set wlb-verify-cert=false uuid=<uuid_of_pool> <!--NeedCopy-->
如果您的池在关闭证书验证的情况下可以连接到 Workload Balancing,则问题出在您的 证书配置。如果无法连接,则问题出在您的 Workload Balancing 凭据或您的 网络连接。请联系支持人员或参阅 Workload Balancing 故障排除 以获取更多信息。
将池连接到 Workload Balancing 虚拟设备
-
在 XenCenter 中,选择您的资源池,并在其属性窗格中,单击WLB选项卡。WLB选项卡 显示连接按钮。
XenCenter GUI,WLB 面板已打开。(/en-us/xenserver/9/media/wlb-xva-connect.png)
-
在“WLB”选项卡中,单击“连接”。此时将显示“连接到 WLB 服务器”对话框。
“连接到 WLB 服务器”对话框。(/en-us/xenserver/9/media/wlb-connect-wlb-server-all.png)
-
在“服务器地址”部分中,输入以下内容:
-
在“地址”框中,键入 Workload Balancing 虚拟设备的 IP 地址、主机名或 FQDN。 例如,
WLB-appliance-computername.yourdomain.net。 -
(可选)如果在 Workload Balancing 配置期间更改了 Workload Balancing 端口,请在“端口”框中输入端口 号。XenServer 使用此端口与 Workload Balancing 进行通信。
默认情况下,XenServer 通过端口 8012 连接到 Workload Balancing。
-
-
在“WLB 服务器凭据”部分中,输入池用于连接到 Workload Balancing 虚拟设备的用户名和密码。
“更新凭据”对话框。字段为用户名和密码。(/en-us/xenserver/9/media/wlb-connect-wlb-server-wlb-pool-creds.png)
这些凭据必须是您在 Workload Balancing 配置期间创建的帐户的凭据。默认情况下,此 帐户的用户名是
wlbuser。 -
在“XenServer 凭据”部分中,输入要配置的池的用户名和密码。 Workload Balancing 使用这些凭据连接到该池中的主机。
“XenServer 凭据”对话框。字段为用户名和密码。(/en-us/xenserver/9/media/wlb-connect-wlb-server-xs-creds.png)
要使用当前登录 XenServer 的凭据,请选择“使用当前 XenCenter 凭据”。如果已使用基于角色的访问控制 (RBAC) 功能为此帐户分配了角色,请 确保该角色具有配置 Workload Balancing 的足够权限。有关详细信息,请参阅 Workload Balancing 访问控制权限。
-
单击“确定”。XenCenter 将启动连接过程。
-
配置证书:
-
(Workload Balancing 8.4.0 及更高版本,XenCenter 2025.1.0 及更高版本) 如果您的池启用了证书验证, XenCenter 现在会从虚拟设备检索 Workload Balancing 证书。
- 如果 XenCenter 显示新的或修改过的证书,请单击 查看证书 以查看 信息。您可以根据 Workload Balancing 控制台中的信息验证证书指纹。
-
选择 接受 证书或 取消 操作。
- 如果您选择 接受 证书,XenCenter 会将其安装到您的 XenServer 池中。
- 如果您选择 取消,XenCenter 会中止该过程。证书不会安装到 XenServer 池中。
-
(Workload Balancing 或 XenCenter 的早期版本) 证书不受自动支持,您必须 配置 XenServer 以验证您的 Workload Balancing 证书。有关更多信息,请参阅 证书。
-
将池连接到 Workload Balancing 虚拟设备后,Workload Balancing 会自动开始 使用默认优化设置监视池。如果您想修改这些设置或更改 资源的优先级,请等到 XenCenter 日志显示发现完成后再继续。
重要提示:
Workload Balancing 运行一段时间后,如果您没有收到最佳建议,请评估您的 性能阈值,具体请参阅 配置 Workload Balancing 行为。为您的环境设置正确的 Workload Balancing 阈值至关重要,否则其建议可能不适用。
Workload Balancing 访问控制权限
当您的环境中实施了基于角色的访问控制 (RBAC) 时,所有用户角色都可以显示 WLB 选项卡。 但是,并非所有角色都可以执行所有操作。下表列出了管理员使用 Workload Balancing 功能所需的最低角色 以使用 Workload Balancing 功能:
| 权限 | 所需最低角色 |
|---|---|
| 配置、初始化、启用、禁用 WLB | 池操作员 |
| 在 WLB 选项卡中应用 WLB 优化建议 | 池操作员 |
| 修改 WLB 报告订阅 | 池操作员 |
| 接受 WLB 放置建议 | 虚拟机电源管理员 |
| 生成 WLB 报告,包括池审计跟踪报告 | 只读 |
| 显示 WLB 配置 | 只读 |
下表提供了有关权限的更多详细信息。
| 权限 | 允许受让人执行 |
|---|---|
| 配置、初始化、启用、禁用 WLB | 配置 WLB |
| 初始化 WLB 和更改 WLB 服务器 | |
| 启用 WLB | |
| 禁用 WLB | |
| 在 WLB 选项卡中应用 WLB 优化建议 | 应用显示在 WLB 选项卡中的任何优化建议 |
| 修改 WLB 报告订阅 | 更改生成的 WLB 报告或其收件人 |
| 接受 WLB 放置建议 | 选择 Workload Balancing 建议放置的其中一个主机 |
| 生成 WLB 报告,包括池审核跟踪报告 | 查看并运行 WLB 报告,包括池审核跟踪报告 |
| 显示 WLB 配置 | 查看池的 WLB 设置,如 WLB 选项卡中所示 |
如果用户尝试使用 Workload Balancing 且该用户没有足够的权限,则会出现一个角色提升对话框。 有关 RBAC 的更多信息,请参阅 基于角色的访问控制。
重新配置池以使用另一个 Workload Balancing 虚拟设备
您可以重新配置资源池以使用不同的工作负载平衡虚拟设备。
如果您要从旧版工作负载平衡虚拟设备迁移到最新版本,在 断开旧虚拟设备连接之前,您可以将其数据迁移到新版虚拟设备。有关 详细信息,请参阅 从现有虚拟设备迁移数据。
从旧的工作负载平衡虚拟设备断开池的连接后,您可以通过指定 新的工作负载平衡虚拟设备的名称来连接池。
要使用不同的工作负载平衡虚拟设备:
-
(可选)从旧版虚拟设备迁移数据。有关详细信息,请参阅 从现有虚拟设备迁移数据。
-
在 XenCenter 中,从“池”菜单中,选择“断开工作负载平衡服务器连接”,并单击“断开连接” 出现提示时。
-
在“WLB”选项卡中,单击“连接”。“连接到 WLB 服务器”对话框随即出现。
-
连接到新的虚拟设备。有关详细信息,请参阅 连接到工作负载平衡虚拟设备
更改工作负载平衡凭据
初始配置后,如果您想更新 XenServer 和工作负载平衡设备用于 通信的凭据,请使用以下过程:
-
要暂停工作负载平衡,请转到“WLB”选项卡并单击“暂停”。
-
通过运行
wlbconfig命令更改工作负载平衡凭据。有关详细信息,请参阅 工作负载平衡命令。 -
重新启用工作负载平衡并指定新凭据。
-
进度条完成后,单击“连接”。
“连接到 WLB 服务器”对话框随即出现。
-
点击更新凭据。
-
在服务器地址部分中,根据需要修改以下设置:
-
在地址框中,键入 Workload Balancing 设备的 IP 地址或 FQDN。
-
(可选)如果在 Workload Balancing 配置期间更改了端口号,请输入该端口号。此 框中以及在 Workload Balancing 配置期间指定的端口号是 XenServer 用于连接 Workload Balancing 的端口号。
默认情况下,XenServer 通过端口 8012 连接到 Workload Balancing。
注意:
仅当您在运行 Workload Balancing 配置向导时更改了此端口号时,才编辑此端口号。在 运行 Workload Balancing 配置向导和“连接到 WLB 服务器”对话框时指定的端口号值必须匹配。
-
-
在WLB 服务器凭据部分中,输入用户名(例如,
wlbuser)和密码,这些凭据是运行 XenServer 的计算机 用于连接 Workload Balancing 服务器的。 -
在XenServer 凭据部分中,输入要配置的池的用户名和密码 (通常是池协调器的密码)。Workload Balancing 使用这些凭据连接到 该池中运行 XenServer 的主机。
要使用当前登录 XenServer 的凭据,请选择使用当前 XenCenter 凭据。
更改 Workload Balancing IP 地址
要更改 Workload Balancing IP 地址,请在 Workload Balancing 虚拟设备 控制台中完成以下步骤:
-
要查看当前的 Workload Balancing IP 地址,请在虚拟设备上运行
ifconfig命令。 -
根据要执行的操作,运行以下命令之一:
-
要将 DHCP 更改为静态 IP:
nmcli con mod eth0 ipv4.method manual ipv4.addresses <IP-address>/<CIDR-prefix> ipv4.gateway <Gateway>; nmcli con up eth0 -
将静态 IP 更改为 DHCP:
nmcli con mod eth0 ipv4.method auto ipv4.addresses "" ipv4.gateway ""; nmcli con up eth0 -
将静态 IP 更改为另一个静态 IP:
nmcli con mod eth0 ipv4.method manual ipv4.addresses <new IP-address>/<CIDR-prefix> ipv4.gateway <Gateway>; nmcli con up eth0
-
-
要验证更改是否完成,请再次运行
ifconfig命令以查看新的工作负载平衡 IP 地址。 -
要检查工作负载平衡服务是否正常运行,请运行
systemctl status workloadbalancing命令。如果返回结果包含
Active: active (running),则工作负载平衡服务正常运行。如果 结果包含Active: inactive (dead)或任何其他状态,则工作负载平衡可能会异常退出。
更改工作负载平衡虚拟设备配置
首次安装工作负载平衡虚拟设备时,它具有以下默认配置:
| 配置 | 值 |
|---|---|
| vCPU 数量 | 2 |
| 内存 (RAM) | 2 GB |
| 磁盘空间 | 30 GB |
这些值适用于大多数环境。如果您正在监视非常大的池,则可以考虑增加 这些值。
更改分配给虚拟设备的 vCPU 数量
默认情况下,Workload Balancing 虚拟设备分配有 2 个 vCPU。此值足以满足托管 1000 个 VM 的池。通常不需要增加它。仅当您的环境较小时,才减少分配给虚拟设备的 vCPU 数量 。
此过程说明如何更改分配给 Workload Balancing 虚拟设备的 vCPU 数量。在执行这些步骤之前,请关闭 虚拟设备。Workload Balancing 将在大约五分钟内不可用 。
-
关闭 Workload Balancing 虚拟设备。
-
在 XenCenter 资源窗格中,选择 Workload Balancing 虚拟设备。
-
在虚拟设备的“常规”选项卡中,单击“属性”。“属性”对话框随即打开。
-
在“属性”对话框的“CPU”选项卡中,将 CPU 设置编辑为所需值。
-
单击“确定”。
-
启动 Workload Balancing 虚拟设备。
新的 vCPU 设置在虚拟设备启动时生效。
调整虚拟设备内存大小
默认情况下,Workload Balancing 虚拟设备分配有 2 GB 内存。
对于大型池,请将 Workload Balancing 虚拟设备设置为消耗您可以为其提供的最大内存量 (甚至高达 16 GB)。不必担心高内存利用率。高内存利用率对于虚拟设备来说是 正常的,因为数据库总是会消耗它能获得的所有内存。
注意:
动态内存控制不支持与工作负载平衡虚拟设备一起使用。为分配给虚拟设备的 最大内存设置一个固定值。
此过程说明如何调整工作负载平衡虚拟设备的内存大小。在执行这些步骤之前,请关闭虚拟 设备。工作负载平衡将大约五分钟不可用。
-
关闭工作负载平衡虚拟设备。
-
在 XenCenter 资源窗格中,选择工作负载平衡虚拟设备。
-
在虚拟设备的“内存”选项卡中,单击“编辑”。“内存设置”对话框随即打开。
-
将内存设置编辑为所需值。
-
单击“确定”。
-
启动工作负载平衡虚拟设备。
新的内存设置将在虚拟设备启动时生效。
扩展虚拟设备磁盘
警告:
您只能在 8.3.0 及更高版本中扩展可用磁盘空间,因为 8.3.0 之前不支持 LVM。
工作负载平衡不支持减少可用磁盘空间。
默认情况下,工作负载平衡虚拟设备分配有 30 GB 的磁盘空间。
工作负载平衡虚拟设备监控的虚拟机数量越多,它每天消耗的磁盘空间就越 多。
您可以使用以下公式估算虚拟设备所需的磁盘大小:
Total estimated disk size = ( ( number of days * average disk usage ) + base disk usage ) * grooming multiplier
-
天数 是要保留的数据天数
-
平均磁盘使用量 取决于受监控的虚拟机数量。以下值给出了 特定虚拟机数量的近似值:
- 对于 200 个虚拟机 - 0.246 GB/天
- 对于 400 个虚拟机 - 0.505 GB/天
- 对于 600 个虚拟机 - 0.724 GB/天
- 对于 800 个虚拟机 - 0.887 GB/天
- 基本磁盘使用量 为 2.4 GB
- 整理乘数 为 1.25。此乘数考虑了整理所需的磁盘空间量。它 假设整理需要额外 25% 的总计算磁盘空间。
适用于 8.3.0 及更高版本
本过程说明了如何使用 Linux 卷管理器 (LVM) 扩展适用于 Workload Balancing 8.3.0 及更高版本的 Workload Balancing 虚拟设备的虚拟磁盘。
警告:
此过程只能由经验丰富的 Linux 系统管理员执行,因为错误地执行这些 步骤可能会导致 Workload Balancing 虚拟设备损坏。在执行这些步骤之前,请务必备份虚拟设备, 并在开始之前关闭虚拟设备。Workload Balancing 将在 大约五分钟内不可用。
要创建新分区、操作物理卷并更改文件系统大小,请以超级用户 (root) 身份登录后 执行以下操作:
-
查看当前分区:
fdisk -l <!--NeedCopy-->默认分区可能如下所示:
工作负载平衡默认分区(/en-us/xenserver/9/media/wlb-default-partitions.png)
-
查看磁盘分区样式:
parted <disk> <!--NeedCopy-->例如,要查看
/dev/xvda的分区样式:parted /dev/xvda <!--NeedCopy--> -
输入
p。如果出现以下错误消息,请输入
Fix以解决每个错误:- “错误:备份 GPT 表不在磁盘末尾,但它应该在那里。这可能意味着另一个 操作系统认为磁盘较小。通过将备份移动到末尾(并删除旧 备份)来修复?”
- “警告:并非所有可用于
<disk>的空间都已使用,您可以修复 GPT 以使用所有 空间(额外<block number>块)或继续使用当前设置?”
工作负载平衡磁盘分区样式(/en-us/xenserver/9/media/wlb-disk-partition-style.png)
- 输入
q并按 Enter 键退出 parted。 -
编辑分区:
fdisk <disk> <!--NeedCopy-->例如,要编辑工作负载平衡设备中的分区:
fdisk /dev/xvda <!--NeedCopy--> -
键入
n并按 Enter 键创建新分区,键入p并按 Enter 键将其设为主 分区,然后按 Enter 键使用默认值(即下一个可用分区,在此情况下,如上所述, 它将是分区号 3)。注意:
如果尚未分配额外空间,您将看到一条消息,指示没有可用空闲扇区。 键入
q并按 Enter 键退出 fdisk。首先通过 XenCenter 分配所需空间,然后 返回此步骤。 -
按两次 Enter 键以使用可用分区的默认起始和结束扇区(或手动指定 所需扇区)。键入
t以指定分区类型,选择所需分区(本例中为 3),键入8e,然后按 Enter 键将其设为 LVM 类型分区。示例输出:

-
键入
p并按 Enter 键以打印分区详细信息。输出应与下方类似 (请注意,起始和结束块值可能会因您分配的空间量而异):
-
如果有任何不正确,键入
q并按 Enter 键以不保存退出,并防止现有 分区受到影响。从步骤 1 重新开始。否则,如果一切正常,请键入w并按 Enter 键以写入更改。写入这些更改后,您可能会收到一条警告,指示设备正忙且内核仍在使用旧表。 如果是这种情况,请在继续下一步之前运行此命令以刷新分区表:
partprobe。确保现在列出了新的设备分区(本例中为
/dev/xvda4)。为此,请运行:fdisk -l。新创建的设备现在应该已列出:

-
如果输出正确,请创建物理卷:
pvcreate <new partition> <!--NeedCopy-->例如:
pvcreate /dev/xvda4 <!--NeedCopy--> -
检查上面创建的物理卷现在是否已列出:
pvs <!--NeedCopy-->在此示例中,添加的额外空间为 12G。示例输出:

-
根据上一个命令的输出,名为 centos 的卷组必须进行扩展:
vgextend <volume group> <new partition> <!--NeedCopy-->例如:
vgextend centos /dev/xvda4 <!--NeedCopy--> -
检查当前卷组:
vgs <!--NeedCopy--> -
运行以下命令:
pvscan <!--NeedCopy-->这应该显示
/dev/xvda4作为 centos 卷组的一部分。示例输出:
-
如果前面步骤中显示的信息正确,请运行此命令以查看逻辑卷路径,以获取 要扩展的逻辑卷:
lvdisplay <!--NeedCopy-->在此示例中,路径为
/dev/centos/root:
-
运行以下命令以查看可用 PE/大小(这会告诉您扩展 分区时要使用的确切值):
vgdisplay <!--NeedCopy-->示例输出:

-
使用可用 PE/大小值和步骤 11 中输出的逻辑卷路径,扩展逻辑卷:
lvextend -l +100%FREE /dev/centos/root <!--NeedCopy-->如果执行成功,请扩展文件系统:
resize2fs /dev/centos/root <!--NeedCopy-->示例输出:

-
验证文件系统大小按预期显示:
df -h /* <!--NeedCopy-->
如果您看到预期的数字,则表示您已成功分配所需的空间并正确扩展了 分区。如需进一步帮助,请联系 XenServer 支持。
停止工作负载平衡
由于工作负载平衡是在池级别配置的,因此当您希望它停止管理池时,您必须执行以下操作 之一:
暂停工作负载平衡。暂停工作负载平衡会阻止 XenCenter 显示指定资源池的建议并管理该池。 暂停旨在用于短时间,并允许您在无需重新配置的情况下恢复监视。 当您暂停工作负载平衡时,该资源池的数据收集将停止,直到 您再次启用工作负载平衡。
-
在 XenCenter 中,选择您要为其禁用工作负载平衡的资源池。
-
在“WLB”选项卡中,单击“暂停”。“WLB”选项卡上会显示一条消息,指示工作负载平衡已 暂停。
提示:
要恢复监视,请在“WLB”选项卡中单击“恢复”按钮。
将池与工作负载平衡断开连接。与工作负载平衡虚拟设备断开连接会中断池之间的连接, 如果可能,还会从工作负载平衡数据库中删除池数据。当您 与工作负载平衡断开连接时,工作负载平衡会停止收集池上的数据。
-
在 XenCenter 中,选择您要在其上停止工作负载平衡的资源池。
-
从“基础结构”菜单中,选择“断开工作负载平衡服务器连接”。此时将显示“断开工作负载 平衡服务器连接”对话框。
-
单击“断开连接”以永久停止工作负载平衡监视池。
提示:
如果您已将池与工作负载平衡虚拟设备断开连接,要在该 池上重新启用工作负载平衡,您必须重新连接到工作负载平衡设备。有关信息,请参阅 连接到工作负载平衡虚拟设备。
启用工作负载平衡时进入维护模式
启用工作负载平衡后,如果您将主机置于维护模式,XenServer 会将该 主机上运行的 VM 迁移到可用的最佳主机。XenServer 使用基于 性能数据、放置策略和性能阈值的工作负载平衡建议来选择最佳主机。
如果没有可用的最佳主机,单击此处暂停 VM 字样会显示在进入维护 模式向导中。在这种情况下,由于没有具有足够资源来运行 VM 的主机,工作负载平衡 不会建议放置。您可以暂停此 VM,也可以退出维护模式并在同一 池中的另一台主机上暂停 VM。然后,如果您重新进入进入维护模式对话框,工作负载平衡可能会 列出适合迁移的主机。
注意:
当您将主机脱机进行维护且工作负载平衡已启用时,“工作负载平衡” 字样会显示在进入维护模式向导中。
要启用工作负载平衡并进入维护模式:
-
在 XenCenter 的资源窗格中,选择要脱机的物理服务器。
-
从服务器菜单中,选择进入维护模式。
-
在进入维护模式向导中,单击进入维护模式。
主机上运行的 VM 会根据工作负载平衡 性能数据、放置策略和性能阈值自动迁移到最佳主机。
要使服务器退出维护模式:
-
右键单击主机,然后选择退出维护模式。
当您将主机从维护模式中移除时,XenServer 会自动将该主机的原始 VM 还原到该 主机。
移除工作负载平衡虚拟设备
要移除 Workload Balancing 虚拟设备,我们建议您使用标准过程 从 XenCenter 删除虚拟机。
当您删除 Workload Balancing 虚拟设备时,包含 Workload Balancing 的 PostgreSQL 数据库也会 被删除。要保存此数据,您必须在删除 Workload Balancing 虚拟 设备之前将其从数据库中迁移出来。
管理工作负载平衡数据库
Workload Balancing 数据库是一个 PostgreSQL 数据库。PostgreSQL 是一个开源关系数据库。您可以通过 搜索网络找到 PostgreSQL 的文档。
以下信息适用于熟悉数据库管理任务的数据库管理员和 PostgreSQL 高级用户。 如果您不熟悉 PostgreSQL,我们建议您在尝试后续章节中的数据库任务之前 先熟悉它。
默认情况下,PostgreSQL 用户名为 postgres。您在 Workload Balancing
配置期间设置此帐户的密码。
您可以存储的历史数据量取决于分配给 Workload Balancing 的虚拟磁盘大小以及所需的最小空间。默认情况下,分配给 Workload Balancing 的虚拟磁盘大小为 30 GB。在 数据库管理方面,您可以通过配置数据库清理来控制数据库数据占用的空间。 有关更多信息,请参阅 Database grooming parameters。
要存储大量历史数据(例如,如果您想启用池审计跟踪报告),您可以执行以下 任一操作:
-
增大分配给 Workload Balancing 虚拟设备的虚拟磁盘大小。为此,请导入 虚拟设备,并按照Extend the virtual appliance disk中的步骤 增大虚拟磁盘的大小。
-
通过启用对数据库的远程客户端访问并使用第三方数据库管理工具,创建数据的 定期重复备份副本。
访问数据库
工作负载平衡虚拟设备中配置了防火墙 (firewalld)。在访问 数据库之前,您必须在设备防火墙中打开 PostgreSQL 服务器端口 (5432)。
-
在工作负载平衡虚拟设备控制台中,运行以下命令以打开 PostgreSQL 端口:
firewall-cmd --permanent --zone=public --add-port=5432/tcp <!--NeedCopy--> -
重新加载防火墙以应用更改:
firewall-cmd --reload <!--NeedCopy-->
控制数据库清理
Workload Balancing 数据库会在虚拟设备达到 Workload Balancing 运行所需的 最小磁盘空间量时自动删除最旧的数据。默认情况下,所需的最小磁盘 空间量设置为 4,096 MB。
Workload Balancing 数据库清理选项通过文件 wlb.conf 进行控制。
当 Workload Balancing 虚拟设备上没有足够的磁盘空间时,Workload Balancing 会自动 开始清理历史数据。过程如下:
-
在预定义的清理间隔,Workload Balancing 数据收集器会检查是否需要清理。清理 是必需的,如果数据库数据已增长到只剩下最小 所需磁盘空间未被使用的程度。使用
GroomingRequiredMinimumDiskSizeInMB设置最小所需磁盘空间。如果需要,可以使用
GroomingIntervalInHour更改清理间隔。但是,默认情况下,Workload Balancing 每小时检查一次是否需要清理。 -
如果需要清理,Workload Balancing 会从最旧的一天开始清理数据。Workload Balancing 然后检查现在是否有足够的磁盘空间来满足最小磁盘空间要求。
-
如果第一次清理没有释放足够的磁盘空间,Workload Balancing 会重复清理最多
GroomingRetryCounter次,而无需等待GroomingIntervalInHour小时。 -
如果第一次或重复清理释放了足够的磁盘空间,Workload Balancing 会等待
GroomingIntervalInHour小时并返回步骤 1。 -
如果由
GroomingRetryCounter启动的清理没有释放足够的磁盘空间,Workload Balancing 会等待GroomingIntervalInHour小时并返回步骤 1。
数据库清理参数
wlb.conf 文件中有五个参数用于控制数据库清理的各个方面。它们如下所示:
-
GroomingIntervalInHour。控制下一次清理检查之前经过的小时数。例如,如果 输入 1,Workload Balancing 会每小时检查一次磁盘空间。如果输入 2,Workload Balancing 会检查 磁盘空间,每两小时检查一次,以确定是否必须进行清理。 -
GroomingRetryCounter。控制 Workload Balancing 尝试重新运行清理数据库查询的次数。 -
GroomingDBDataTrimDays。控制 Workload Balancing 每次尝试清理数据时从数据库中删除的 数据天数。默认值为一天。 -
GroomingDBTimeoutInMinute。控制数据库整理在超时 并取消之前所需的时间(分钟)。如果整理查询花费的时间超出预期且未在超时 时段内完成运行,则整理任务将被取消。默认值为 0 分钟,这意味着数据库整理永不 超时。 -
GroomingRequiredMinimumDiskSizeInMB。控制分配给 Workload Balancing 虚拟设备的虚拟磁盘中剩余的最小可用空间量。 当虚拟磁盘中的数据增长到虚拟磁盘上仅剩最小 磁盘空间时,Workload Balancing 会触发数据库整理。默认值为 4,096 MB。
要编辑这些值,请参阅 编辑 Workload Balancing 配置文件。
更改数据库密码
我们建议使用 wlbconfig 命令更改数据库密码。有关详细信息,请参阅
修改 Workload Balancing 配置选项。
请勿通过修改 wlb.conf 文件来更改密码。
归档数据库数据
为避免删除较旧的历史数据,您可以选择从数据库复制数据进行归档。要执行此操作, 您必须执行以下任务:
-
在数据库上启用客户端身份验证。
-
使用您选择的 PostgreSQL 数据库管理工具设置归档。
启用数据库客户端身份验证
虽然您可以通过 Workload Balancing 控制台直接连接到数据库,但您也可以使用 PostgreSQL 数据库管理工具。下载数据库管理工具后,将其安装在您要连接到数据库的系统上。 例如,您可以将该工具安装在运行 XenCenter 的同一台笔记本电脑上。
在启用数据库远程客户端身份验证之前,您必须:
-
修改数据库配置文件,包括 pg_hba.conf 文件和 postgresql.conf,以允许连接。
-
停止 Workload Balancing 服务,重新启动数据库,然后重新启动 Workload Balancing 服务。
-
在数据库管理工具中,配置数据库的 IP 地址(即 Workload Balancing 虚拟设备的 IP 地址)和数据库密码。
修改数据库配置文件
为了在数据库上启用客户端身份验证,您必须修改 Workload Balancing 虚拟
设备上的以下文件:pg_hba.conf 文件和 postgresql.conf 文件。
编辑 pg_hba.conf 文件:
-
修改
pg_hba.conf文件。在 Workload Balancing 虚拟设备控制台中,使用编辑器(例如 VI)打开pg_hba.conf文件 。例如:vi /var/lib/pgsql/data/pg_hba.conf <!--NeedCopy--> -
如果您的网络使用 IPv4,请将连接计算机的 IP 地址添加到此文件。例如:
在配置部分中,在
#IPv4 local connections下输入以下内容:- 类型:host
- 数据库:all
- 用户:all
- CIDR-ADDRESS: 0.0.0.0/0
- 方法:trust
-
在
CIDR-ADDRESS字段中输入您的 IP 地址。注意:
您可以不输入 0.0.0.0/0,而是输入您的 IP 地址并将最后三位数字替换为 0/24。该 斜杠后面的“24”定义了子网掩码,并且只允许来自该 子网掩码内的 IP 地址的连接。
当您为
Method字段输入trust时,它允许连接在不需要密码的情况下进行身份验证 密码。如果您为Method字段输入password,则在连接到 数据库时必须提供密码。 -
如果您的网络使用 IPv6,请将连接计算机的 IP 地址添加到此文件。例如:
在
#IPv6 local connections下输入以下内容:- 类型: host
- 数据库: all
- 用户: all
-
CIDR 地址:
::0/0 - 方法: trust
在
CIDR-ADDRESS字段中输入 IPv6 地址。在此示例中,::0/0允许数据库 接受来自任何 IPv6 地址的连接。 -
保存文件并退出编辑器。
-
更改任何数据库配置后,必须重新启动数据库才能应用更改。运行以下 命令:
systemctl restart postgresql.service <!--NeedCopy-->
编辑 postgresql.conf 文件:
-
修改
postgresql.conf文件。从 Workload Balancing 虚拟设备控制台,使用编辑器(例如 VI)打开postgresql.conf文件。例如:vi /var/lib/pgsql/data/postgresql.conf <!--NeedCopy--> -
编辑文件,使其侦听任何端口,而不仅仅是本地主机。例如:
-
找到以下行:
# listen_addresses='localhost' <!--NeedCopy--> -
删除注释符号 (
#) 并编辑该行,使其内容如下:listen_addresses='*' <!--NeedCopy-->
-
-
保存文件并退出编辑器。
-
更改任何数据库配置后,必须重新启动数据库才能应用更改。运行以下 命令:
systemctl restart postgresql.service <!--NeedCopy-->
更改数据库维护时段
Workload Balancing 默认每天格林威治标准时间 (GMT) 00:05(凌晨 12:05)自动执行例行数据库维护。 在此维护时段内,会进行数据收集,但数据记录可能会延迟。但是,在此期间 Workload Balancing 用户界面控件可用,并且 Workload Balancing 仍会提供 优化建议。
注意:
- 在维护时段内,Workload Balancing 服务器会重新启动。如果您在此 期间重新启动 VM,则在 WLB 服务完全恢复之前,它们不会由 WLB 进行平衡。
- 同样,在其他时间,如果您重新启动池中的所有 VM,重新启动 Workload Balancing 服务器可能 会导致这些 VM 保持不平衡状态,直到 WLB 再次可用。
数据库维护包括释放已分配的未使用磁盘空间和重新索引数据库。维护大约持续 6 到 8 分钟。在较大的池中,维护时间可能会更长,具体取决于 Workload Balancing 执行发现所需的时间。
根据您的时区,您可能需要更改维护发生的时间。例如,在日本 标准时间 (JST) 时区,Workload Balancing 维护发生在上午 9:05 (09:05),这可能会与某些组织的峰值 使用时间冲突。如果您想指定季节性时间更改,例如夏令时或夏季 时间,则必须将更改构建到您输入的值中。
要更改维护时间:
-
在 Workload Balancing 控制台中,从任何目录运行以下命令:
crontab -e <!--NeedCopy-->Workload Balancing 显示以下内容:
05 0 * * * /opt/vpx/wlb/wlbmaintenance.sh <!--NeedCopy-->值
05 0表示 Workload Balancing 执行维护的默认时间,以分钟 (05) 和 小时 (0) 为单位。(星号表示作业运行的日期、月份和年份:请勿编辑这些字段。) 条目05 0表示数据库维护每天晚上在格林威治标准时间 (GMT) 凌晨 12:05 或 00:05 进行。 此设置意味着,如果您住在纽约,则在冬季维护在晚上 7:05 (19:05) 运行 ,在夏季则在晚上 8:05 运行。重要提示:
请勿编辑作业运行的日期、月份和年份(由星号表示)。数据库维护必须每天 运行。
-
输入您希望维护在格林威治标准时间 (GMT) 发生的具体时间。
-
保存文件并退出编辑器。
自定义工作负载平衡
工作负载平衡提供了多种自定义方法:
升级工作负载平衡
出于安全原因,工作负载平衡的在线升级已被弃用。客户不能再使用 yum 存储库进行升级。客户可以通过导入在 XenServer 下载页面可下载的最新工作负载 平衡虚拟设备来升级工作负载平衡到最新版本。
工作负载平衡命令
本节提供了工作负载平衡命令的参考。您可以从 XenServer 主机或控制台执行这些命令,以控制工作负载平衡或在 XenServer 主机上配置工作负载平衡设置。本附录包括 xe 命令和服务命令。
在工作负载平衡设备上运行以下服务命令。为此,您必须登录到工作负载 平衡虚拟设备。
登录到工作负载平衡虚拟设备
在运行任何服务命令或编辑 wlb.conf 文件之前,您必须登录到工作负载平衡虚拟
设备。为此,您必须输入用户名和密码。除非您在虚拟
设备上创建了额外的用户帐户,否则请使用 root 用户帐户登录。您在运行工作负载平衡
配置向导时(在将池连接到工作负载平衡之前)指定了此帐户。您可以选择使用 XenCenter 中的控制台
选项卡登录到设备。
要登录到工作负载平衡虚拟设备:
-
在登录提示符处,输入帐户用户名。
-
在密码提示符下,输入该账户的密码:
注意:
要从 Workload Balancing 虚拟设备注销,只需在命令提示符下键入
logout。
wlb restart
在 Workload Balancing 设备中的任意位置运行 wlb restart 命令,以停止并重新启动 Workload
Balancing 数据收集、Web 服务和数据分析服务。
wlb start
在 Workload Balancing 设备中的任意位置运行 wlb start 命令,以启动 Workload Balancing 数据
收集、Web 服务和数据分析服务。
wlb stop
在 Workload Balancing 设备中的任意位置运行 wlb stop 命令,以停止 Workload Balancing 数据
收集、Web 服务和数据分析服务。
wlb status
在 Workload Balancing 设备中的任意位置运行 wlb status 命令,以确定 Workload
Balancing 服务器的状态。运行此命令后,将显示三个 Workload Balancing 服务(Web 服务、
数据收集服务和数据分析服务)的状态。
修改 Workload Balancing 配置选项
许多 Workload Balancing 配置(例如数据库和 Web 服务配置选项)都存储在
wlb.conf 文件中。wlb.conf 文件是 Workload Balancing 虚拟设备上的一个配置文件。
要修改最常用的选项,请使用命令 wlb config。在
Workload Balancing 虚拟设备上运行 wlb config 命令可让您重命名 Workload Balancing 用户帐户、更改其密码或
更改 PostgreSQL 密码。运行此命令后,Workload Balancing 服务将重新启动。
在 Workload Balancing 虚拟设备上运行以下命令:
wlb config
<!--NeedCopy-->
屏幕上会显示一系列问题,指导您更改工作负载平衡用户名和密码 以及 PostgreSQL 密码。请按照屏幕上的问题更改这些项目。
重要提示:
仔细检查您在
wlb.conf文件中输入的任何值:工作负载平衡不会验证wlb.conf文件中的值。因此,如果您指定的配置参数不在所需范围内,工作负载 平衡不会生成错误日志。
编辑工作负载平衡配置文件
您可以通过编辑 wlb.conf 文件来修改工作负载平衡配置选项,该文件存储在
工作负载平衡虚拟设备上的 /opt/vpx/wlb 目录中。通常,只有在 XenServer 的指导下才能更改此
文件中的设置。但是,如果您愿意,可以更改以下三类设置:
-
工作负载平衡帐户名称和密码。通过运行
wlb config命令可以更轻松地修改这些凭据。 -
数据库密码。此值可以使用 wlb.conf 文件修改。但是,我们建议通过
wlb config命令修改它,因为此命令会修改 wlb.conf 文件并自动更新 数据库中的密码。如果您选择修改 wlb.conf 文件,则必须运行查询以使用新密码更新 数据库。 - 数据库整理参数。您可以按照数据库管理部分中的说明,使用此文件修改数据库整理参数,例如数据库整理 间隔。但是,如果您这样做, 我们建议您谨慎行事。
对于 wlb.conf 文件中的所有其他设置,我们建议将其保留为默认值,除非您已收到
修改它们的指示。
要编辑 wlb.conf 文件:
-
在工作负载平衡虚拟设备上的命令提示符下运行以下命令(以 VI 为例):
vi /opt/vpx/wlb/wlb.conf <!--NeedCopy-->屏幕显示配置选项的几个不同部分。
-
修改配置选项,然后退出编辑器。
编辑 wlb.conf 文件后,您无需重新启动工作负载平衡服务。更改在退出编辑器后
立即生效。
重要提示:
仔细检查您在
wlb.conf文件中输入的任何值:工作负载平衡不会验证wlb.conf文件中的值。因此,如果您指定的配置参数不在所需范围内,工作负载 平衡不会生成错误日志。
增加工作负载平衡日志的详细程度
工作负载平衡日志提供了工作负载平衡虚拟设备上的事件列表,包括分析引擎、数据库和审计日志的操作。
此日志文件位于此位置:/var/log/wlb/LogFile.log。
如果需要,您可以增加工作负载平衡日志提供的详细程度。为此,请修改
工作负载平衡配置文件 (wlb.conf) 的 Trace flags 部分,该文件位于以下
位置:/opt/vpx/wlb/wlb.conf。输入 1 或 true 以启用特定跟踪的日志记录,输入 0 或 false 以
禁用日志记录。例如,要为分析引擎跟踪启用日志记录,请输入:
AnalEngTrace=1
<!--NeedCopy-->
您可能希望增加日志记录详细程度,在向 XenServer 技术支持报告问题之前,或者在 进行故障排除时。
| 日志记录选项 | 跟踪标志 | 益处或目的 |
|---|---|---|
| 分析引擎跟踪 | AnalEngTrace |
记录分析引擎计算的详细信息。显示分析引擎正在做出的决策的详细信息,并可能深入了解工作负载平衡未提出建议的原因。 |
| 数据库跟踪 | DatabaseTrace |
记录有关数据库读/写的详细信息。但是,保持此跟踪开启会迅速增加日志文件大小。 |
| 数据收集跟踪 | DataCollectionTrace |
记录检索指标的操作。此值可让您查看工作负载平衡正在检索并插入到工作负载平衡数据存储中的指标。但是,启用此跟踪会迅速增加日志文件大小。 |
| 数据压缩跟踪 | DataCompactionTrace |
记录压缩指标数据所花费的毫秒数。 |
| 数据事件跟踪 | DataEventTrace |
此跟踪提供有关工作负载平衡从 XenServer 捕获的事件的详细信息。 |
| 数据整理跟踪 | DataGroomingTrace |
此跟踪提供有关数据库整理的详细信息。 |
| 数据指标跟踪 | DataMetricsTrace |
记录有关指标数据解析的详细信息。启用此跟踪会迅速增加日志文件大小。 |
| 队列管理跟踪 | QueueManagementTrace |
记录有关数据收集队列管理处理的详细信息。(此选项供内部使用。) |
| 数据保存跟踪 | DataSaveTrace |
记录有关池保存到数据库的详细信息。 |
| 评分服务器跟踪 | ScoreHostTrace |
记录有关工作负载平衡如何为主机评分的详细信息。此跟踪显示工作负载平衡在计算用于选择最佳 VM 放置主机的星级评分时生成的详细分数。 |
| 审计日志跟踪 | AuditLogTrace |
显示正在捕获和写入的审计日志数据的操作。(此选项仅供内部使用,不提供审计日志中捕获的信息。)但是,启用此跟踪会快速增加日志文件大小。 |
| 计划任务跟踪 | ScheduledTaskTrace |
记录有关计划任务的详细信息。例如,如果您的计划模式更改不起作用,您可能需要启用此跟踪以调查原因。 |
| Web 服务跟踪 | WlbWebServiceTrace |
记录有关与 Web 服务接口通信的详细信息。 |