您可以在服务中心用户界面的“维护”页面上初始化 slony。

要为组织初始化 slony,请在组织中的每个设备上以 root 身份运行以下每个命令。
注: 为 EDB 重新初始化 slony 时,您还必须为 AVDB 重新初始化 slony。

过程

  1. 在 /usr/local/desktone/scripts 中,为组织运行 slony-status 脚本。下面的示例针对的是组织 1000。对于运行 Horizon DaaS 版本 9.0.0 (Horizon Cloud 19.3) 之前版本的设备,可以跳过此步骤。
    slony-status 1000
    如果存在 slony 问题,将会显示一条消息以进行确认。
  2. 在所有节点上停止 dtService:
    service dtService stop
  3. 停止 slon 守护进程(在目标节点上终止守护进程):
    killall slon
  4. 在目标数据库(FDB、EDB 或 AVDB)上运行以下命令:
    psql -Uadmin fdb -p 6432
    drop schema _slony cascade;
    注: 仅丢弃受影响的数据库对的架构。
  5. 如果您在主服务提供程序节点上停止了 dtService 以重新初始化服务提供程序设备上的 FDB,请在主服务提供程序节点上再次启动该服务:
    service dtService start
  6. 启动 slon 守护进程,如下所示。
    • 对于服务提供程序组织,启动 FDB 的守护进程:
      /usr/local/desktone/scripts/start_slon_fdb.sh
    • 对于租户组织,启动所有数据库的守护进程:
      /usr/local/desktone/scripts/start_slon_fdb.sh 
      /usr/local/desktone/scripts/start_slon_edb.sh 
      /usr/local/desktone/scripts/start_slon_avdb.sh 
      
  7. 验证 slony 进程:
    ps -aux | grep slon
  8. 在 /usr/local/desktone/scripts 中,为组织运行 slony-status 脚本。下面的示例针对的是组织 1000。(对于运行 Horizon DaaS 版本 9.0.0 (Horizon Cloud 19.3) 之前版本的设备,可以跳过此步骤。)
    slony-status 1000
    最后打印的消息会指示哪个设备是复制主节点。您需要在下面的 主 IP 菜单中选择此设备的 IP 地址。
  9. 在服务中心内,选择设备 > 维护
  10. 在页面的“Slony 操作”部分中,使用组织 ID 下拉菜单选择要为其执行 slony 初始化的设备的组织 ID。
    此时会显示 数据库实例名称主 IP 菜单。
    注: 对于运行 Horizon DaaS 版本 9.0.0 (Horizon Cloud 19.3) 之前版本的设备,不会显示 主 IP 菜单。
  11. 使用数据库实例名称菜单为 slony 初始化选择数据库实例名称(“架构”、“元素”或“AppVolumes”)。
    如果选择了“元素”或“AppVolumes”,则会显示 元素 ID 菜单。
  12. 如果在上面选择了“元素”或“AppVolumes”,请使用元素 ID 下拉菜单选择桌面管理器的 ID,以将其列为 slony 初始化操作的新主节点 IP。如果在上面选择了“架构”,请跳过此步骤。
  13. 使用主 IP 菜单为数据库主节点选择相应的 IP 地址。对于运行 Horizon DaaS 版本 9.0.0 (Horizon Cloud 19.3) 之前版本的设备,请跳过此步骤。
  14. 单击初始化 Slony
  15. 如果您在租户设备的 AVDB 上执行了 slony 重新初始化,则重新启动 wem-diagnose-service:
    service diagnose restart
    注: 如果仅在桌面管理器设备上执行了 AVDB slony 重新初始化,则不需要执行此操作。