XenServer

管理 Workload Balancing

Workload Balancing 运行一段时间后,您可能需要执行一些例行任务,使 Workload Balancing 保持以最佳状态运行。由于更改环境(例如,不同的 IP 地址或凭据)、升级硬件或执行例行维护工作,您可能需要执行这些任务。

连接 Workload Balancing 虚拟设备

配置 Workload Balancing 之后,使用 CLI 或 XenCenter 将要管理的池连接到 Workload Balancing 虚拟设备。同样,您可能需要在某个时刻重新连接到同一虚拟设备。

要将池连接到 Workload Balancing 虚拟设备,需要以下信息:

  • Workload Balancing 虚拟设备的 IP 地址或 FQDN

    • 要获取 Workload Balancing 虚拟设备的 IP 地址,请执行以下操作:

      1. 在 XenCenter 中,转至 Workload Balancing 虚拟设备控制台选项卡。
      2. 使用导入设备时创建的 root 用户密码以 root 用户身份登录。
      3. 运行以下命令:ifconfig
    • 要在连接 Workload Balancing 服务器时指定 Workload Balancing FQDN,请先将 Workload Balancing 服务器的主机名和 IP 地址添加到 DNS 服务器。

  • Workload Balancing 虚拟设备的端口号。默认情况下,XenServer 通过端口 8012 连接 Workload Balancing。

    仅在 Workload Balancing 配置期间更改了此端口号时才对其进行编辑。配置 Workload Balancing 期间指定的端口号、在任何防火墙规则中指定的端口号以及在连接 WLB 服务器对话框中指定的端口号都必须一致。

  • 希望 Workload Balancing 监视的资源池所使用的凭据。

  • 在 Workload Balancing 配置期间创建的 Workload Balancing 帐户的凭据。

    该帐户通常称为 Workload Balancing 用户帐户。XenServer 使用此帐户与 Workload Balancing 通信。此帐户是您在 Workload Balancing 配置期间在 Workload Balancing 虚拟设备上创建的帐户。

(1) XenServer 使用您在 Workload Balancing 配置期间创建的帐户与 Workload Balancing 通信 (2) Workload Balancing 虚拟设备使用池的凭据向 XenServer 进行身份验证。

首次连接 Workload Balancing 时,它将使用默认的阈值和设置来平衡工作负载。默认情况下自动功能(例如自动优化模式、电源管理和自动化)处于禁用状态。

使用证书

如果要上载其他(受信任的)证书或者配置证书验证,在将池连接到 Workload Balancing 之前,请注意以下几点:

  • 如果您希望 XenServer 验证自签名的 Workload Balancing 证书,必须使用 Workload Balancing IP 地址连接到 Workload Balancing。系统将基于该 IP 地址将自签名证书颁发给 Workload Balancing。

  • 如果要使用证书颁发机构颁发的证书,在连接 Workload Balancing 时可以更方便地指定 FQDN。但是,您可以在连接 WLB 服务器对话框中指定静态 IP 地址。将此 IP 地址用作证书中的使用者备用名称 (SAN)。

有关详细信息,请参阅证书

将池连接到 Workload Balancing 虚拟设备

  1. 在 XenCenter 中,选择您的资源池,然后在其属性窗格中单击 WLB 选项卡。WLB 选项卡将显示连接按钮。

    WLB 面板已打开的 XenCenter GUI。

  2. WLB 选项卡中,单击连接。此时将显示连接 WLB 服务器对话框。

    “连接 WLB 服务器”向导。

  3. 服务器地址部分中,输入以下信息:

    1. 地址框中,键入 Workload Balancing 设备的 IP 地址或 FQDN。例如,WLB-appliance-computername.yourdomain.net

    2. (可选)如果您在 Workload Balancing 配置期间更改了 Workload Balancing 端口,请在端口框中输入新端口号。XenServer 使用此端口与 Workload Balancing 通信。

      默认情况下,XenServer 通过端口 8012 连接 Workload Balancing。

  4. WLB 服务器凭据部分中,输入池在连接到 Workload Balancing 虚拟设备时要使用的用户名和密码。

    “更新凭据”对话框。字段为“用户名”和“密码”。

    这些凭据必须是在 Workload Balancing 配置期间创建的帐户。默认情况下,此帐户的用户名为 wlbuser

  5. Citrix Hypervisor 凭据部分,输入所配置池的用户名和密码。Workload Balancing 将使用这些凭据连接到该池中的主机。

    XenServer 凭据对话框。字段为“用户名”和“密码”。

    要使用当前登录 XenServer 所使用的凭据,请选中使用当前 XenCenter 凭据。如果您已使用基于角色的访问控制 (RBAC) 功能为此帐户分配了角色,请确保该角色有足够的权限来配置 Workload Balancing。有关详细信息,请参阅 Workload Balancing 访问控制权限

在将池连接到 Workload Balancing 虚拟设备之后,Workload Balancing 会自动开始以默认的优化设置监视池。如果您希望修改这些设置或者更改为特定资源指定的优先级,请在执行这些操作之前等到 XenCenter 日志显示已完成发现过程。

重要:

在 Workload Balancing 运行一段时间之后,如果您没有收到最佳建议, 请按照配置 Workload Balancing 行为中所述对性能阈值进行评估。根据环境为 Workload Balancing 设置正确的阈值至关重要,否则它可能无法提供适当的建议。

Workload Balancing 访问控制权限

在环境中实施基于角色的访问控制 (RBAC) 时,所有用户角色都可以显示 WLB 选项卡。但是,并非所有角色都可以执行所有操作。下表列出了管理员使用 Workload Balancing 功能所需的具有最低权限的角色:

权限 至少要具有的角色
配置、初始化、启用、禁用 WLB 池操作员
应用 WLB 优化建议(在“WLB”选项卡中) 池操作员
修改 WLB 报告订阅 池操作员
接受 WLB 放置建议 VM 超级管理员
生成 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 虚拟设备

可以将一个资源池重新配置为使用其他 Workload Balancing 虚拟设备。

如果要从早期版本的 Workload Balancing 虚拟设备迁移到最新版本,则在断开旧虚拟设备连接之前,可以将其数据迁移到新版本的虚拟设备。有关详细信息,请参阅从现有虚拟设备迁移数据

将池与原 Workload Balancing 虚拟设备断开连接后,可以通过指定新 Workload Balancing 虚拟设备的名称来连接该池。

要使用其他 Workload Balancing 虚拟设备,请执行以下操作:

  1. (可选)从较早版本的虚拟设备迁移数据。有关详细信息,请参阅从现有虚拟设备迁移数据

  2. 在 XenCenter 中,从菜单中选择断开 Workload Balancing 服务器连接,然后在出现提示时单击断开连接

  3. WLB 选项卡中,单击连接。此时将显示连接 WLB 服务器对话框。

  4. 连接到新虚拟设备。有关详细信息,请参阅连接 Workload Balancing 虚拟设备

更改 Workload Balancing 凭据

完成初始配置后,如果需要更新 XenServer 与 Workload Balancing 设备用来通信的凭据,请按照以下过程操作:

  1. 要暂停 Workload Balancing,请转到 WLB 选项卡,然后单击暂停

  2. 通过运行 wlbconfig 命令更改 Workload Balancing 凭据。有关详细信息,请参阅 Workload Balancing 命令

  3. 重新启用 Workload Balancing 并指定新凭据。

  4. 完成全部进度之后,单击连接

    此时将显示连接 WLB 服务器对话框。

  5. 单击更新凭据

  6. 服务器地址部分,根据需要修改以下设置:

    • 地址框中,键入 Workload Balancing 设备的 IP 地址或 FQDN。

    • (可选)如果在 Workload Balancing 配置期间更改了端口号,请输入该端口号。XenServer 使用您在此框中以及 Workload Balancing 配置期间指定的端口号来连接 Workload Balancing。

      默认情况下,XenServer 通过端口 8012 连接 Workload Balancing。

      注意:

      仅在运行“Workload Balancing 配置”向导时更改了此端口号才对其进行编辑。在运行“Workload Balancing 配置”向导时指定的端口号与“连接 WLB 服务器”对话框中的端口号必须一致。

  7. WLB 服务器凭据部分中,输入运行 XenServer 的计算机在连接到 Workload Balancing 服务器时使用的用户名(例如 wlbuser)和密码。

  8. Citrix Hypervisor 凭据部分中,输入您正在配置的池的用户名和密码(通常是池协调器的密码)。Workload Balancing 将使用这些凭据连接到该池中运行 XenServer 的计算机。

  9. Citrix Hypervisor 凭据部分,输入所配置池的用户名和密码。Workload Balancing 将使用这些凭据连接到该池中运行 XenServer 的计算机。

    要使用当前登录 XenServer 所使用的凭据,请选中使用当前 XenCenter 凭据

更改 Workload Balancing 的 IP 地址

要更改 Workload Balancing IP 地址,请完成以下操作:

  1. 要查看当前的 Workload Balancing IP 地址,请在虚拟设备上运行 ifconfig 命令。

  2. 使用 vi 之类的编辑工具打开 /etc/sysconfig/network-scripts/ifcfg-eth0 文件。

  3. 要将协议从 dhcp 更改为静态, 请将 BOOTPROTO=dhcp 更改为 BOOTPROTO=static

  4. 在文件底部,设置 IP 地址、网络掩码、网关和 DNS 地址。例如:

    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=1.1.1.1
    DNS2=8.8.8.8
    <!--NeedCopy-->
    

    注意:

    请根据需要添加任意数量的 DNS 条目。

  5. 保存并关闭该文件。

  6. 要使更改生效,必须通过运行 systemctl restart network 来重新启动联网系统。

  7. 联网系统重新启动后,请再次运行 ifconfig 命令以查看新的 Workload Balancing IP 地址。

  8. 要检查 Workload Balancing 服务是否正常运行,请运行 systemctl status workloadbalancing 命令。

    如果返回的结果包含 Active: active (running),则 Workload Balancing 服务正常运行。如果结果包含 Active: inactive (dead) 或任何其他状态,则 Workload Balancing 可能异常退出。

更改 Workload Balancing 虚拟设备配置

首次安装 Workload Balancing 虚拟设备时,该设备具有以下默认配置:

配置
vCPU 的数量 2
内存(RAM) 2 GB
磁盘空间 30 GB

这些值适用于大多数环境。如果要监视非常大的池,可以考虑增大这些值。

更改分配给虚拟设备的 vCPU 数量

默认情况下,Workload Balancing 虚拟设备分配有 2 个 vCPU。此值足以满足托管 1000 个 VM 的池的要求。通常不需要增加此值。只有在环境很小的情况下,才能减少分配给虚拟设备的 vCPU 数量。

此过程将介绍如何更改分配给 Workload Balancing 虚拟设备的 vCPU 数量。执行这些步骤前,请关闭虚拟设备。Workload Balancing 将在约五分钟内保持不可用状态。

  1. 关闭 Workload Balancing 虚拟设备。

  2. 在 XenCenter 资源窗格中,选择 Workload Balancing 虚拟设备。

  3. 在虚拟设备的常规选项卡中,单击属性。此时将打开属性对话框。

  4. 属性对话框的 CPU 选项卡中,将 CPU 设置编辑为所需值。

  5. 单击确定

  6. 启动 Workload Balancing 虚拟设备。

新 vCPU 设置将在虚拟设备启动时生效。

调整虚拟设备内存大小

默认情况下,Workload Balancing 虚拟设备分配有 2 GB 内存。

对于大型池,请将 Workload Balancing 虚拟设备设置为占用可为其提供的最大内存量(甚至可以高达 16 GB)。无需担心内存利用率较高的问题。对于虚拟设备而言,内存利用率较高是正常现象,因为数据库占用的内存量始终与其可以获取的内存量相同。

注意:

Workload Balancing 虚拟设备不支持动态内存控制。为分配给虚拟设备的最大内存设置固定值。

此过程将介绍如何调整 Workload Balancing 虚拟设备虚拟内存的大小。执行这些步骤前,请关闭虚拟设备。Workload Balancing 将在约五分钟内保持不可用状态。

  1. 关闭 Workload Balancing 虚拟设备。

  2. 在 XenCenter 资源窗格中,选择 Workload Balancing 虚拟设备。

  3. 在虚拟设备的内存选项卡中 ,单击编辑。此时将打开内存设置对话框。

  4. 将内存设置编辑为所需值。

  5. 单击确定

  6. 启动 Workload Balancing 虚拟设备。

新内存设置将在虚拟设备启动时生效。

扩展虚拟设备磁盘

警告:

您只能在 8.3.0 及更高版本中扩展可用磁盘空间,因为 8.3.0 之前不支持 LVM。

Workload Balancing 不支持减少可用磁盘空间。

默认情况下,Workload Balancing 虚拟设备分配有 30 GB 磁盘空间。

Workload Balancing 虚拟设备所监视的 VM 数量越多,其每天占用的磁盘空间就越大。

可以使用以下公式来估算虚拟设备所需的磁盘大小:

Total estimated disk size = ( ( number of days * average disk usage ) + base disk usage ) * grooming multiplier
  • 天数为数据的保留天数

  • 平均磁盘使用量取决于要监视的 VM 数量。以下值是为特定数量的 VM 计算出的近似值:

    • 对于 200 个 VM - 0.246 GB/天
    • 对于 400 个 VM - 0.505 GB/天
    • 对于 600 个 VM - 0.724 GB/天
    • 对于 800 个 VM - 0.887 GB/天
  • 基础磁盘使用量为 2.4 GB
  • 整理系数为 1.25。此系数是占整理所需的磁盘空间量的比例。它假定整理需要计算出的总磁盘空间的额外 25%。

适用于 8.2.2 及更早版本

此过程说明了如何为 Workload Balancing 8.2.2 及更早版本扩展 Workload Balancing 虚拟设备的虚拟磁盘。

警告:

我们建议在执行此过程前生成数据快照。错误地执行这些步骤可能会导致损坏 Workload Balancing 虚拟设备。

  1. 关闭 Workload Balancing 虚拟设备。

  2. 在 XenCenter 资源窗格中,选择 Workload Balancing 虚拟设备。

  3. 单击存储选项卡。

  4. 选择 vdi_xvda 磁盘,然后单击属性按钮。

  5. vdi_xvda 属性对话框中,选择大小和位置

  6. 根据需要增加磁盘大小,然后单击确定

  7. 启动 Workload Balancing 虚拟设备并进行登录。

  8. 在 Workload Balancing 虚拟设备上运行以下命令:

    resize2fs /dev/xvda
    <!--NeedCopy-->
    
  9. 运行 df –h 命令以确认新的磁盘大小。

安装 resize2fs

如果未在 Workload Balancing 虚拟设备中安装 resize2fs 工具,可以执行以下步骤进行安装。

如果已连接到 Internet,请在 Workload Balancing 虚拟设备中运行以下命令:

yum install -y --enablerepo=base,updates --disablerepo=citrix-* e2fsprogs
<!--NeedCopy-->

如果没有 Internet 访问权限,请执行以下操作:

  1. https://centos.pkgs.org/7/centos-x86_64/ 下载以下内容。

    • libss-1.42.9-7.el7.i686.rpm
    • e2fsprogs-libs-1.42.9-7.el7.x86_64.rpm
    • e2fsprogs-1.42.9-7.el7.x86_64.rpm
  2. 使用 SCP 或其他任何适用的工具将其上载到 Workload Balancing VM。

  3. 在 Workload Balancing 虚拟设备上运行以下命令:

    rpm -ivh libss-\*.rpm e2fsprogs-\*.rpm
    <!--NeedCopy-->
    

    工具 resize2fs 现已安装。

适用于 8.3.0 及更高版本

此过程说明了如何使用 Linux Volume Manager (LVM) 为 Workload Balancing 8.3.0 及更高版本扩展 Workload Balancing 虚拟设备的虚拟磁盘。

警告:

只有经验丰富的 Linux 系统管理员才能执行此过程,因为不正确执行这些步骤会导致 Workload Balancing 虚拟设备损坏。我们不保证因注册表编辑器使用不当导致出现的问题能够得以解决。在编辑注册表之前,请务必对其进行备份,并在执行这些步骤之前关闭虚拟设备。Workload Balancing 将在约五分钟内保持不可用状态。

要创建新分区、操作物理卷和更改文件系统大小,请在以超级用户 (root) 身份登录时执行以下操作:

  1. 查看当前分区:

    fdisk -l
    <!--NeedCopy-->
    

    ​​默认分区可能如下所示:

    Workload Balancing 默认分区

  2. 查看磁盘分区样式:

    parted <disk>
    <!--NeedCopy-->
    

    例如,要查看 /dev/xvda 的分区样式,请执行以下操作:

    parted /dev/xvda
    <!--NeedCopy-->
    
  3. 输入 p

    如果出现以下错误消息,请输入 Fix 以解决每个错误:

    • “错误: 备份 GPT 表未按预期出现在磁盘末尾。 这可能意味着另一个操作系统认为磁盘更小。请通过将备份移动到末尾(并删除旧备份)进行修复。”
    • “警告: 并非 <disk> 的所有可用空间都已用完,您可以修复 GPT 以使用所有空间(额外的 <block number> 块),或者继续使用当前设置。”

    Workload Balancing 磁盘分区样式

  4. 输入 q 并按 Enter 键退出 parted。
  5. 编辑分区:

    fdisk <disk>
    <!--NeedCopy-->
    

    例如,要编辑 Workload Balancing 设备中的分区,请执行以下操作:

    fdisk /dev/xvda
    <!--NeedCopy-->
    
  6. 键入 n 并按 Enter 键创建新分区,键入 p 并按 Enter 键将其设为主分区,然后按 Enter 键以使用默认分区,即下一个可用分区(在这种情况下,如上所述,它将是 3 号分区)。

    注意:

    如果尚未分配额外的空间,您将看到一条消息,指出没有可用扇区。请键入 q 并按 Enter 键退出 fdisk。请先通过 XenCenter 分配所需空间,然后返回到此步骤。

  7. 按两次 Enter 键可使用可用分区的默认第一个和最后一个扇区(或者手动指定所需扇区)。键入 t 可指定分区类型,选择所需的分区(在本例中为 3),键入 8e,然后按 Enter 键可将其设为 LVM 类型的分区。

    示例输出:

    Workload Balancing 创建新分区

  8. 键入 p 并按 Enter 键以打印分区的详细信息。输出应与下图类似(请注意,开始和结束块的值可能会有所差别,具体取决于您分配的空间量):

    Workload Balancing 打印分区详细信息

  9. 如果出现错误,请键入 q 并按 Enter 键退出而不保存,同时防止现有分区受到影响。请从步骤 1 重新开始。否则,如果一切正常,请改为键入 w 并按 Enter 键以写入所做的更改。

    写入这些更改后,您可能会收到一条警告,指出设备正忙,内核仍在使用旧表。如果是这样,请运行此命令以刷新分区表,然后继续执行下一个步骤:partprobe

    请确保现在列出了新的设备分区(在本例中为 /dev/xvda4)。为此,请运行:fdisk -l

    现在应列出新创建的设备:

    Workload Balancing 列出新设备分区

  10. 如果输出看起来正确,请创建一个物理卷:

    pvcreate <new partition>
    <!--NeedCopy-->
    

    例如:

    pvcreate /dev/xvda4
    <!--NeedCopy-->
    
  11. 检查上面创建的物理卷现在是否已列出:

    pvs
    <!--NeedCopy-->
    

    ​​在此示例中,添加的额外空间为 12 G。示例输出:

    Workload Balancing 列出新物理卷

  12. 根据前面命令的输出,必须扩展名为 centos 的卷组:

    vgextend <volume group> <new partition>
    <!--NeedCopy-->
    

    例如:

    vgextend centos /dev/xvda4
    <!--NeedCopy-->
    
  13. 检查当前卷组:

    vgs
    <!--NeedCopy-->
    
  14. 请运行以下命令:

    pvscan
    <!--NeedCopy-->
    

    这应显示 /dev/xvda4 作为 centos 卷组的一部分。示例输出:

    Workload Balancing 显示当前卷组

  15. 如果前面步骤中显示的信息看起来正确,请运行以下命令以查看要扩展的逻辑卷的逻辑卷路径:

    lvdisplay
    <!--NeedCopy-->
    

    ​​在此示例中,路径为 /dev/centos/root

    Workload Balancing 显示逻辑卷

  16. 运行以下命令查看可用 PE/大小(这会告知您扩展分区时要使用的确切值):

    vgdisplay
    <!--NeedCopy-->
    

    示例输出:

    Workload Balancing 查看免费 PE/大小

  17. 使用步骤 11 中输出的可用 PE/大小值和逻辑卷路径,扩展逻辑卷:

    lvextend -l +100%FREE /dev/centos/root
    <!--NeedCopy-->
    

    如果成功执行,请扩展文件系统:

    resize2fs /dev/centos/root
    <!--NeedCopy-->
    

    示例输出:

    Workload Balancing 扩展文件系统

  18. 验证文件系统大小是否按预期显示:

    df -h /*
    <!--NeedCopy-->
    

    Workload Balancing 验证文件系统大小

如果您看到的是预期数值,则表示您已成功分配了所需的空间并正确扩展了分区。如需进一步帮助,请联系 XenServer 支持部门。

停止 Workload Balancing

由于 Workload Balancing 是在池级别配置的,因此,当您希望其停止管理池时,必须执行以下操作之一:

暂停 Workload Balancing。如果暂停 Workload Balancing,XenCenter 将停止显示针对指定资源池提出的建议并停止管理该池。暂停旨在短时间停止设备运行,您无需重新配置即可恢复监视。暂停 Workload Balancing 时,针对该资源池的数据收集会停止,直至您重新启用 Workload Balancing。

  1. 在 XenCenter 中,选择要为其禁用 Workload Balancing 的资源池。

  2. WLB 选项卡中,单击暂停。此时 WLB 选项卡上将显示一条消息,指明 Workload Balancing 已暂停。

提示:

要恢复监视,请单击 WLB 选项卡中的恢复按钮。

断开池与 Workload Balancing 的连接。断开与 Workload Balancing 虚拟设备的连接时,将中断 Workload Balancing 与池之间的连接,如果可以,从 Workload Balancing 数据库中删除池数据。断开与 Workload Balancing 的连接后,Workload Balancing 将停止收集该池的数据。

  1. 在 XenCenter 中,选择要在其上停止 Workload Balancing 的资源池。

  2. 基础结构菜单中,选择断开 Workload Balancing 服务器连接。此时将显示断开 Workload Balancing 服务器连接对话框。

  3. 单击断开连接以永久阻止 Workload Balancing 监视池。

提示:

如果断开了池与 Workload Balancing 虚拟设备的连接,要对该池重新启用 Workload Balancing,必须重新连接到 Workload Balancing 设备。有关信息,请参阅连接 Workload Balancing 虚拟设备

在启用 Workload Balancing 的状态下进入维护模式

启用 Workload Balancing 后,如果将主机置于维护模式,XenServer 会将在该主机上运行的 VM 迁移到最佳主机(如果可用)。XenServer 会根据 Workload Balancing 的建议(性能数据、放置策略和性能阈值)选择最佳服务器。

如果没有可用的最佳主机,进入维护模式向导中会显示单击此处挂起 VM 字样。在这种情况下,Workload Balancing 不会提供放置建议,因为所有主机都没有足够的资源来运行此 VM。您可以将此 VM 挂起或者退出“维护模式”,并将同一池中另一个主机上的一个 VM 挂起。然后,如果重新进入进入维护模式对话框,Workload Balancing 可能能够列出适合迁移的候选主机。

注意:

如果您将一个主机脱机以进行维护,并且 Workload Balancing 处于启用状态,则进入维护模式向导中会显示“Workload Balancing”字样。

要在启用 Workload Balancing 的状态下进入维护模式,请执行以下操作:

  1. 在 XenCenter 的资源窗格中,选择要脱机的物理服务器。

  2. 服务器菜单中,选择进入维护模式

  3. 进入维护模式向导中,单击进入维护模式

    主机上运行的 VM 会根据 Workload Balancing 的性能数据、放置策略和性能阈值,自动迁移到最佳主机上。

要使服务器退出维护模式,请执行以下操作:

  1. 在主机上单击鼠标右键并选择退出维护模式

    主机退出维护模式之后,XenServer 会自动将该主机的原始 VM 还原到该主机。

删除 Workload Balancing 虚拟设备

要删除 Workload Balancing 虚拟设备,我们建议您使用标准过程从 XenCenter 中删除 VM。

删除 Workload Balancing 虚拟设备时,包含 Workload Balancing 的 PostgreSQL 数据库将随之删除。要保存此数据,必须在删除 Workload Balancing 虚拟设备前将其从数据库中迁出。

管理 Workload Balancing 数据库

Workload Balancing 数据库是 PostgreSQL 数据库。PostgreSQL 是开放源代码关系数据库。您可以搜索 Web 来查找 PostgreSQL 的文档。

以下信息专门面向数据库管理员以及熟悉数据库管理任务的高级 PostgreSQL 用户。如果没有使用 PostgreSQL 的经验,我们建议您在尝试执行以下部分所介绍的数据库任务前先熟悉该数据库。

默认情况下,PostgreSQL 用户名为 postgres。可以在 Workload Balancing 配置期间为此帐户设置密码。

可以存储的历史数据量取决于分配给 Workload Balancing 的虚拟磁盘大小和所需的最小磁盘空间。默认情况下,分配给 Workload Balancing 的虚拟磁盘大小为 30 GB。就管理数据库而言,可以通过配置数据库整理来控制数据库数据占用的空间。有关详细信息,请参阅数据库整理参数

要存储大量的历史数据(例如,如果要启用池审核跟踪报告),您可以执行以下操作之一:

  • 增大分配给 Workload Balancing 虚拟设备的虚拟磁盘大小。为此,请导入虚拟设备,然后通过执行扩展虚拟设备磁盘中所述的步骤增加虚拟磁盘的大小。

  • 通过启用对数据库的远程客户端访问并使用第三方数据库管理工具,定期创建重复的数据备份副本。

访问数据库

Workload Balancing 虚拟设备配置有防火墙。您必须先将 postgresQL 服务器端口添加至 iptables,然后才能访问数据库。

  1. 在 Workload Balancing 虚拟设备控制台中,运行以下命令:

    iptables -A INPUT -i eth0 -p tcp -m tcp --dport 5432 -m \
    state --state NEW,ESTABLISHED -j ACCEPT
    <!--NeedCopy-->
    
  2. (可选)要使此配置在重新启动虚拟设备后持久存在,请运行以下命令:

    iptables-save > /etc/sysconfig/potables
    <!--NeedCopy-->
    

控制数据库整理

当虚拟设备达到 Workload Balancing 运行所需的最小磁盘空间量时,Workload Balancing 数据库将自动删除最早的数据。默认情况下,所需最小磁盘空间量设置为 1024 MB。

Workload Balancing 数据库整理选项通过 wlb.conf 文件进行控制。

当 Workload Balancing 虚拟设备的剩余磁盘空间不足时,Workload Balancing 将自动开始整理历史数据。此流程如下:

  1. Workload Balancing 数据收集器按预定义的整理时间间隔检查是否需要进行整理。当数据库数据已经增长到未使用的空间只能满足最小磁盘空间要求时,需要进行整理。使用 GroomingRequiredMinimumDiskSizeInMB 设置所需的最小磁盘空间。

    如果需要,您可以使用 GroomingIntervalInHour 更改整理时间间隔。但是默认情况下,Workload Balancing 每小时执行一次检查,以确认是否需要进行整理。

  2. 如果需要进行整理,Workload Balancing 首先整理日期最早的数据。然后,Workload Balancing 检查是否有足够的磁盘空间,以使其满足最小磁盘空间要求。

  3. 如果第一次整理未释放出足够的磁盘空间,那么 Workload Balancing 将重复进行整理,直至达到 GroomingRetryCounter 次数,而不会等至 GroomingIntervalInHour 时刻。

  4. 如果第一次或重复进行的整理释放出足够的磁盘空间,那么 Workload Balancing 将等至 GroomingIntervalInHour 时刻并返回步骤 1。

  5. 如果由 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 将触发数据库整理。默认值为 2048 MB。

要编辑这些值,请参阅编辑 Workload Balancing 配置文件

更改数据库密码

我们建议使用 wlbconfig 命令更改数据库密码。有关详细信息,请参阅修改 Workload Balancing 配置选项。不要通过修改 wlb.conf 文件来更改密码。

将数据库数据存档

为避免删除较旧的历史数据,可以选择从数据库复制数据以进行存档。为此,您必须执行以下任务:

  1. 针对数据库启用客户端身份验证。

  2. 使用选择的 PostgreSQL 数据库管理工具设置存档。

针对数据库启用客户端身份验证

尽管您可以通过 Workload Balancing 控制台直接连接数据库,但也可以使用 PostgreSQL 数据库管理工具。下载数据库管理工具后,将其安装到要连接数据库的系统上。例如,可以在运行 XenCenter 的同一便携式计算机上安装该工具。

针对数据库启用远程客户端身份验证前,必须执行以下操作:

  1. 修改数据库配置文件(包括 pg_hba.conf 文件和 postgresql.conf)以允许进行连接。

  2. 停止 Workload Balancing 服务,重新启动数据库,然后重新启动 Workload Balancing 服务。

  3. 在数据库管理工具中,配置数据库的 IP 地址(即 Workload Balancing 虚拟设备的 IP 地址)及数据库密码。

修改数据库配置文件

要在数据库上启用客户端身份验证,必须修改 Workload Balancing 虚拟设备上的以下文件:pg_hba.conf 文件和 postgresql.conf 文件。

要编辑 pg_hba.conf 文件,请执行以下操作:

  1. 修改 pg_hba.conf 文件。在 Workload Balancing 虚拟设备控制台中,使用编辑器(例如 VI)打开 pg_hba.conf 文件。例如:

    vi /var/lib/pgsql/9.0/data/pg_hba.conf
    <!--NeedCopy-->
    
  2. 如果网络使用 IPv4,请将所连接计算机的 IP 地址添加到此文件中。例如:

    在配置部分中,在 #IPv4 local connections 下输入以下信息:

    • TYPE: host
    • DATABASE: all
    • USER: all
    • CIDR-ADDRESS: 0.0.0.0/0
    • METHOD: trust
  3. CIDR-ADDRESS 字段中输入您的 IP 地址。

    注意:

    如果不输入 0.0.0.0/0,可以输入自己的 IP 地址并将后三位替换为 0/24。/ 尾部的“24”表示子网掩码,只允许从该子网掩码内的 IP 地址建立连接。

    如果在 Method 字段中输入 trust,则连接无需密码即可完成身份验证。如果在 Method 字段中输入 password,则在连接数据库时必须提供密码。

  4. 如果网络使用 IPv6,请将所连接计算机的 IP 地址添加到此文件中。例如:

    #IPv6 local connections 下输入以下信息:

    • TYPE: host
    • DATABASE: all
    • USER: all
    • CIDR-ADDRESS: ::0/0
    • METHOD: trust

    CIDR-ADDRESS 字段中输入 IPv6 地址。在本例中,::0/0 将针对来自任何 IPv6 地址的连接打开数据库。

  5. 保存文件并退出编辑器。

  6. 更改任何数据库配置后,都必须重新启动数据库,以应用这些更改。请运行以下命令:

    service postgresql-9.0 restart
    <!--NeedCopy-->
    

要编辑 postgresql.conf 文件,请执行以下操作:

  1. 修改 postgresql.conf 文件。在 Workload Balancing 虚拟设备控制台中,使用编辑器(例如 VI)打开 postgresql.conf 文件。例如:

    vi /var/lib/pgsql/9.0/data/postgresql.conf
    <!--NeedCopy-->
    
  2. 编辑该文件,使设备侦听任何端口而不仅仅是本地主机。例如:

    1. 找到以下行:

      # listen_addresses='localhost'
      <!--NeedCopy-->
      
    2. 删除注释符 (#) 并编辑该行,使其如下所示:

      listen_addresses='*'
      <!--NeedCopy-->
      
  3. 保存文件并退出编辑器。

  4. 更改任何数据库配置后,都必须重新启动数据库,以应用这些更改。请运行以下命令:

    service postgresql-9.0 restart
    <!--NeedCopy-->
    

更改数据库维护时段

默认情况下,Workload Balancing 会在格林威治标准时间凌晨 12:05 (00:05) 每天自动执行例行数据库维护。在此维护时段期间,系统仍然继续收集数据,但数据的记录可能会延迟。但是,在此时段内,Workload Balancing 用户界面控制台仍可使用,Workload Balancing 仍然会提出优化建议。

注意:

为避免丢失 Workload Balancing,请执行以下操作:

  • 在维护时段内,Workload Balancing 服务器重新启动。请务必不要同时重新启动 VM。
  • 在其他时候,重新启动池中的所有 VM 时,请勿重新启动 Workload Balancing 服务器。

数据库维护工作包括释放已分配但未使用的磁盘空间以及重新构建数据库的索引。维护工作将持续约 6 到 8 分钟。在较大的池中,维护可能会持续较长的时间,具体取决于 Workload Balancing 执行发现所花费的时长。

您可能需要更改进行维护的时间,这取决于您所处的时区。例如,在日本标准时间 (JST) 时区,Workload Balancing 维护工作从上午 9:05 (09:05) 开始,在某些组织中,这可能与高峰使用时段相冲突。如果要指定季节性时差(例如夏令时),必须将该时差纳入所输入的值中。

要更改维护时间,请执行以下操作:

  1. 在 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 运行。

    重要:

    请不要编辑作业运行的年月日(用星号表示)。数据库维护作业必须每天运行。

  2. 输入的维护时间为 GMT 时间。

  3. 保存文件并退出编辑器。

自定义 Workload Balancing

Workload Balancing 提供多种自定义方法:

  • 用于编写脚本的命令行。有关详细信息,请参阅 Workload Balancing 命令

  • 主机启动脚本支持。也可以(间接)通过主机启动脚本自定义 Workload Balancing。有关详细信息,请参阅主机和资源池

升级 Workload Balancing

出于安全原因,弃用了联机升级 Workload Balancing 的功能。客户无法再使用 yum repo 进行升级。通过导入可从 XenServer 下载页面下载的最新 Workload Balancing 虚拟设备,客户可以将 Workload Balancing 升级到最新版本。

Workload Balancing 命令

本节提供有关 Workload Balancing 命令的参考。可以从 XenServer 主机或控制台执行以下命令以控制 XenServer 主机上的 Workload Balancing 或配置 Workload Balancing 设置。本附录将介绍 xe 命令和服务命令。

在 Workload Balancing 设备上运行以下服务命令。为此,必须登录 Workload Balancing 虚拟设备。

登录 Workload Balancing 虚拟设备

在运行任何服务命令或编辑 wlb.conf 文件之前,必须先登录 Workload Balancing 虚拟设备。要登录,必须输入用户名和密码。除非在虚拟设备上创建了其他用户帐户,否则请以 root 用户身份登录。该帐户是您在运行 Workload Balancing 配置向导时(在将池连接到 Workload Balancing 之前)指定的。可以选择使用 XenCenter 中的控制台选项卡登录到该设备。

要登录 Workload Balancing 虚拟设备,请执行以下操作:

  1. 在登录提示符处,输入帐户用户名。

  2. 在密码提示符处,输入帐户的密码:

    注意:

    要注销 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 服务、数据收集服务和数据分析服务)的状态。

修改 Modify the 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-->

屏幕显示一系列问题,引导您更改 Workload Balancing 用户名和密码以及 PostgreSQL 密码。请按照屏幕上的问题来更改这些项目。

重要:

请仔细检查您在 wlb.conf 文件中输入的所有值:Workload Balancing 不会对 wlb.conf 文件中的值进行验证。因此,如果您指定的配置参数不在所需范围内,Workload Balancing 不会生成错误日志。

编辑 Workload Balancing 配置文件

可以通过编辑 wlb.conf 文件(存储在 Workload Balancing 虚拟设备上的 /opt/vpx/wlb 目录中)来修改 Workload Balancing 配置选项。一般情况下,只能在 XenServer 的指导下更改此文件中的设置。但是,您可以根据需要更改以下三种类别的设置:

  • Workload Balancing 帐户名称和密码。通过运行 wlb config 命令可以更方便地修改这些凭据。
  • 数据库密码。可以使用 wlb.conf 文件修改此密码。但是,我们建议通过 wlb config 命令进行修改,因为该命令不仅修改 wlb.conf 文件,还会自动更新数据库中的密码。如果选择改为修改 wlb.conf 文件,则必须运行查询以使用新密码更新数据库。
  • 数据库整理参数。您可以使用该文件修改数据库整理参数(如数据库整理时间间隔),具体说明请参阅数据库管理部分。但是,如果要执行此操作,我们建议您小心谨慎。

对于 wlb.conf 文件中的所有其他设置,我们建议将其均保留为默认值,除非系统指示您进行修改。

要编辑 wlb.conf 文件,请执行以下操作:

  1. 从 Workload Balancing 虚拟设备上的命令提示符运行以下命令(以 VI 为例):

    vi /opt/vpx/wlb/wlb.conf
    <!--NeedCopy-->
    

    屏幕将显示配置选项的多个不同部分。

  2. 修改配置选项,并退出编辑器。

编辑 wlb.conf 文件后,无需重新启动 Workload Balancing 服务。所做的更改在退出编辑器后立即生效。

重要:

请仔细检查您在 wlb.conf 文件中输入的所有值:Workload Balancing 不会对 wlb.conf 文件中的值进行验证。因此,如果您指定的配置参数不在所需范围内,Workload Balancing 不会生成错误日志。

提高 Workload Balancing 日志的详细级别

Workload Balancing 日志提供 Workload Balancing 虚拟设备上的事件列表,包括针对分析引擎、数据库和审核日志的操作。可以在以下位置中找到此日志文件:/var/log/wlb/LogFile.log

如有需要,可以提高 Workload Balancing 日志提供的详细信息级别。为此,可以修改 Workload Balancing 配置文件 (wlb.conf) 的 Trace flags 部分,该文件可在以下位置中找到:/opt/vpx/wlb/wlb.conf。输入 1 或 true 可启用对特定跟踪的日志记录,输入 0 或 false 可禁用日志记录。例如,要对分析引擎跟踪启用日志记录,请输入:

AnalEngTrace=1
<!--NeedCopy-->

在向 XenServer 技术支持人员报告问题或进行故障排除之前,您可能希望提高日志记录的详细级别。

日志记录选项 跟踪标志 益处或用途
分析引擎跟踪 AnalEngTrace 记录分析引擎计算的详细信息。显示引擎做出的决策和分析的详细信息,并了解 Workload Balancing 不提出建议的原因。
数据库跟踪 DatabaseTrace 记录有关数据库读取/写入的详细信息。但是,一直启用此项跟踪会使日志文件的大小迅速增加。
数据收集跟踪 DataCollectionTrace 记录检索指标的操作。此值允许您查看 Workload Balancing 检索并插入到 Workload Balancing 数据存储中的指标。但是,一直启用此项跟踪会使日志文件的大小迅速增加。
数据压缩跟踪 DataCompactionTrace 记录有关压缩指标数据所花费的毫秒数的详细信息。
数据事件跟踪 DataEventTrace 此项跟踪提供有关 Workload Balancing 从 XenServer 缓存的事件的详细信息。
数据整理跟踪 DataGroomingTrace 此项跟踪提供有关数据库整理的详细信息。
数据指标跟踪 DataMetricsTrace 记录有关分析指标数据的详细信息。一直启用此项跟踪会使日志文件的大小迅速增加。
队列管理跟踪 QueueManagementTrace 记录有关数据收集队列管理处理的详细信息。(此选项供内部使用。)
数据保存跟踪 DataSaveTrace 记录有关要保存到数据库中的池的详细信息。
对服务器跟踪进行评分 ScoreHostTrace 记录有关 Workload Balancing 如何得出主机得分的详细信息。此项跟踪将显示当 Workload Balancing 计算星级评分以选择用于放置 VM 的最佳主机时所得出的详细分数。
审核日志跟踪 AuditLogTrace 显示所捕获并写入的审核日志数据的操作。(此选项仅供内部使用,不提供在审核日志中捕获的信息。)但是,一直启用此项跟踪会使日志文件的大小迅速增加。
计划的任务跟踪 ScheduledTaskTrace 记录关于计划的任务的详细信息。例如,如果您计划的模式更改不起作用,您可能要启用此跟踪来调查原因。
Web 服务跟踪 WlbWebServiceTrace 记录与 Web 服务接口进行通信有关的详细信息。