7.1. 阵列

在 SGD 中,阵列是由共享配置信息的 SGD 服务器构成的集合。

阵列具有以下优点:

无论登录到哪台 SGD 服务器,用户都会看到相同的 Webtop,并且可以恢复应用程序。

本节包括以下主题:

7.1.1. 阵列的结构

一个阵列包含以下服务器:

  • 一台主服务器。此服务器是全局 SGD 信息的权威来源,并且维护着组织层次结构的最终副本(称为本地系统信息库)。

  • 一台或多台辅助服务器。主服务器将信息复制到这些服务器。

在没有辅助服务器的阵列中,单个独立的服务器将被视为主服务器。

阵列中的各台 SGD 服务器可以运行不同的操作系统。但是,所有阵列成员都必须运行相同版本的 SGD。

因为阵列中的各个 SGD 服务器共享有关用户会话和应用程序会话的信息,同步不同 SGD 主机上的时钟就变得非常重要。使用网络时间协议 (Network Time Protocol, NTP) 软件或 rdate 命令可确保所有 SGD 主机上的时钟保持同步。

7.1.2. 在阵列中复制数据

主服务器将数据复制到辅助服务器时,将复制以下数据:

  • 本地系统信息库

  • 会话信息

  • 配置信息(包括全局配置)

  • SGD 管理员创建的客户端配置文件

  • SGD 用户从 Webtop 创建的用户首选项

  • 应用服务器密码缓存

  • 资源文件(例如应用服务器登录脚本)

除了资源文件外,对上述数据所做的任何更改都会立即被复制。

资源文件的同步每日发生一次,并且只有当服务器正在运行时才会进行。被同步的资源文件是来自 /opt/tarantella/var/serverresources 目录的文件。请仅在主服务器上的这些目录中添加、修改或删除文件。

同步阵列所需的时间和工作量与阵列的大小成正比。

资源同步可以安排在您所选的时间进行。在管理控制台中,这是使用每台 SGD 服务器的 "Performance"(性能)选项卡上的 "Daily Resource Synchronization Time"(每日同步资源的时间)属性进行配置的。

7.1.3. 阵列成员之间的通信

在阵列中,每台 SGD 服务器都有一个对等域名系统 (Domain Name System, DNS) 名称和一个或多个外部 DNS 名称。SGD 服务器总是使用对等 DNS 名称相互通信。此外,在 SGD 配置工具中指定阵列成员时,您也使用对等 DNS 名称。连接到 SGD 服务器时,只有 SGD 客户端使用外部 DNS 名称。有关更多详细信息,请参见第 1.2 节 “DNS 名称”

阵列中 SGD 服务器之间的连接是在 TCP 端口 5427 上建立的。默认情况下,使用阵列内安全通信对该连接进行加密。请参见第 7.1.4 节 “阵列内安全通信”

阵列中的每台服务器都记录了阵列中所有 SGD 服务器的对等 DNS 名称。如果发生以下情况,服务器将只接受 TCP 端口 5427 上的连接:

  • 根据其自己的记录,连接来自某个阵列成员。

  • 使用一个共享密钥(只有阵列成员知道)来验证阵列成员之间的连接。使用了密钥识别 (Secret Key Identification, SKID) 验证。SKID 验证不对数据进行加密。

大多数连接是从主服务器连接到辅助服务器。这些连接复制数据以保持阵列同步。不过,阵列成员必须能够与其他阵列成员直接通信。

7.1.4. 阵列内安全通信

在标准安装中,在阵列中的 SGD 服务器之间传输的数据经过加密。阵列成员之间的连接使用 SSL 加以保护。对这些连接使用 SSL 可确保数据的完整性,如下所述:

  • 通信只在已相互通过验证的 SGD 服务器之间进行

  • 在传输之前对数据进行加密

  • 可以对数据进行检查以确保数据在传输过程中没有被更改

以这种方式使用 SSL 称为阵列内安全通信

在标准安装中,会自动为 SGD 服务器启用阵列内安全通信。

阵列内安全通信只能在没有与阵列中其他 SGD 服务器相连的 SGD 服务器上启用。为阵列启用阵列内安全通信后,只有当 SGD 服务器也启用了阵列内安全通信时,该服务器才能加入该阵列。有关详细信息,请参见第 7.1.7.1 节 “如何启用阵列内安全通信”

使用阵列内安全通信意味着阵列中的每台 SGD 服务器都必须具有由受信任的证书颁发机构 (certificate authority, CA) 签名的有效 SSL 证书。

由于用于阵列内安全通信的 SSL 证书只由 SGD 在内部使用,所以阵列中的主 SGD 服务器可以充当 CA。主 SGD 服务器具有一个自签名 CA 证书和一个私钥。阵列中的所有辅助 SGD 服务器都具有主 SGD 服务器 CA 证书的副本,这些证书位于受信任的证书库(即信任库)中。

阵列中的所有 SGD 服务器(包括主服务器)都具有一个 SSL 证书和一个私钥。SSL 证书由主 SGD 服务器的 CA 证书进行签名,并且包含一个通用名称 (common name, CN),该名称是 SGD 服务器的对等 DNS 名称。由于 SSL 证书是使用自签名 CA 证书创建的,因此,它们不能用于保护任何其他与 SGD 相关的连接。这些证书被称为对等 SSL 证书,以区别于其他类型的 SSL 证书。

当阵列中的一台 SGD 服务器连接到另一台服务器时(包括使用管理工具时),被连接到的 SGD 服务器在 SSL 协商过程中将提供其对等 SSL 证书。发起连接的服务器将评估对等 SSL 证书并检查以下事项:

  • 证书的 CN 是否与发起连接的服务器的对等 DNS 名称相匹配

  • 证书的到期日期

  • 证书的颁发者(必须为主服务器的 CA 证书)

如果对等 SSL 证书有效,将建立安全连接。

启用阵列内安全通信时,SGD 将自动生成 CA 证书和对等 SSL 证书,并将这些证书分发给阵列成员。每当阵列结构有变化时,SGD 都会自动更新 CA 证书和对等 SSL 证书。下表汇总了发生的情况。

阵列变化

操作

服务器加入阵列

  1. 在新的辅助服务器上安装主 SGD 服务器 CA 证书。

  2. 新的辅助 SGD 服务器获取由主 SGD 服务器 CA 证书进行签名的新的对等 SSL 证书。

服务器脱离阵列

  1. 分离的 SGD 服务器成为包含一台服务器的阵列中的主 SGD 服务器。

  2. 分离的 SGD 服务器为自己创建一个新的 CA 证书。

  3. 分离的 SGD 服务器为自己创建一个新的对等 SSL 证书。

指定了新的主服务器

  1. 新的主 SGD 服务器生成一个新的 CA 证书。

  2. 在所有辅助 SGD 服务器上安装新的主 CA 证书。

  3. 所有 SGD 服务器获取由新的主 SGD 服务器 CA 证书进行签名的新的对等 SSL 证书。

SGD 管理员可以使用 tarantella security peerca --show 命令查看信任库中的证书。信任库包含主 SGD 服务器的 CA 证书。

默认情况下,SGD 使用 TLS_RSA_WITH_AES_128_CBC_SHA 密码套件进行阵列内安全通信。有关如何更改密码套件的详细信息,请参见第 7.1.7.6 节 “如何更改用于阵列内安全通信的密码套件”

7.1.5. 管理阵列和 SGD 服务器

可以使用管理控制台中的 "Secure Global Desktop Servers"(Secure Global Desktop 服务器)选项卡或使用 tarantella array 命令在阵列中添加和删除 SGD 服务器。最好在阵列中的主 SGD 服务器上执行所有阵列操作。有关配置阵列的详细信息,请参见以下内容:

在管理控制台中,"Global Settings"(全局设置)选项卡上的属性是整体应用于阵列的设置,例如用户如何向 SGD 进行身份验证。附录 A, 全局设置和缓存中详细介绍了所有全局设置。如果在 "Secure Global Desktop Servers"(Secure Global Desktop 服务器)选项卡上单击某台 SGD 服务器的名称,将显示仅应用于该 SGD 服务器的属性,例如服务器的外部 DNS 名称。附录 B, Secure Global Desktop 服务器设置中详细介绍了所有特定于服务器的设置。

在命令行中,可使用 tarantella config 命令列出和编辑全局设置或特定于服务器的设置。

7.1.6. 阵列回弹

阵列回弹是自动处理 SGD 阵列中失去主服务器这一情况的一项功能。如果出现网络问题或 SGD 服务器发生故障,主服务器可能会变得不可用。

本节包括以下主题:

7.1.6.1. 阵列回弹的工作原理

阵列回弹包括以下阶段:

7.1.6.1.1. 故障转移阶段

如果为阵列启用了阵列故障转移,则在主服务器不可用时间达到用户配置的一个时间段(称为宽限期)后,故障转移阶段将自动启动。默认宽限期为 10 分钟。

宽限期是由 "Monitor Interval"(监视时间间隔)(--array-monitortime) 和 "Monitor Attempts"(监视尝试次数)(--array-maxmonitors) 的属性值计算得来的,如下所示:

宽限期 = 监视时间间隔 x 监视尝试次数

使用默认设置:

宽限期 = 60 秒 x 10 = 600 秒(10 分钟)

故障转移阶段使用备份主服务器列表选择一台辅助服务器,将其提升为阵列中的新主服务器。备份主服务器列表是指阵列的辅助服务器列表,其优先级自上而下逐渐降低。如果可用,将联系该列表中优先级最高的辅助服务器,并将其提升为阵列的新主服务器。

必须在称为查找新的主服务器超时的时间段内与新主服务器取得联系。如果无法在该超时期限内与新主服务器取得联系,则会联系备份主服务器列表中的下一台服务器。

查找新的主服务器超时期限是由 "Find Primary Interval"(查找主服务器时间间隔)(--array-resubmitfindprimarywait) 和 "Find Primary Attempts"(查找主服务器尝试次数)(--array-resubmitfindprimarymax) 的属性值计算得来的,如下所示:

查找新的主服务器超时 = 查找主服务器时间间隔 x 查找主服务器尝试次数

使用默认设置:

查找新的主服务器超时 = 60 秒 x 3 = 180 秒(3 分钟)

只能选择备份主服务器列表中的 SGD 服务器来提升为新的主服务器。

构建 SGD 阵列时,将自动为您创建备份主服务器列表。如果向阵列添加辅助服务器,则在列表末尾添加一项。如果从阵列删除辅助服务器,将从列表中删除该服务器的项。

备份主服务器列表存储在阵列中的每台 SGD 服务器中。对该列表所做的任何更改都将被复制到阵列中的每台 SGD 服务器中。

如果备份主服务器列表为空,则阵列中的所有 SGD 服务器在阵列故障转移后将成为独立服务器。

当故障转移阶段完成时,我们说该阵列处于已修复状态。

tarantella status 命令用于指示阵列是否处于已修复状态。您可以使用该命令的 --originalstate 选项列出修复之前的阵列成员。有关使用 tarantella status 显示阵列状态信息的更多详细信息,请参见第 7.7.1.1 节 “显示 SGD 阵列的状态信息”

小心

在故障转移阶段中,请勿更改阵列结构或任何阵列回弹设置。如果这样做了,恢复阶段可能无法成功重新创建原始阵列结构。

7.1.6.1.2. 恢复阶段

如果当阵列处于已修复状态时原始主服务器变得可用,则恢复阶段将自动启动。

默认情况下,恢复阶段将原始主服务器恢复为阵列的主服务器。可以使用 "Action When Failover Ends"(故障转移结束时执行的操作)(--array-primaryreturnaction) 属性确定在恢复阶段中阵列是如何重新配置的。

某些情况下,在使用阵列回弹后,您可能必须手动重新构建阵列。这称为手动恢复

例如,如果恢复阶段未能自动重新创建原始阵列结构,您可以从单台、独立的 SGD 服务器开始手动重新构建原始阵列。可以使用 tarantella array clean 命令执行此操作。

小心

在 SGD 阵列中的主服务器上运行 tarantella array clean 命令后,辅助服务器将无法联系主服务器。

如果在故障转移阶段一个阵列拆分为两个以上的阵列并且 "Action When Failover Ends"(故障转移结束时执行的操作)(--array-primaryreturnaction) 属性配置为 "Restore original primary"(恢复原始主服务器)(accept),则会自动重新创建原始阵列结构。

如果 "Action When Failover Ends"(故障转移结束时执行的操作)属性配置为 "Restore array with a new primary"(通过新的主服务器恢复阵列)(acceptsecondary),则无法自动重新创建原始阵列结构。必须使用手动恢复。

7.1.6.2. 阵列回弹的工作示例

有许多可能的阵列回弹情况,其中主服务器变得不可供 SGD 阵列中的一台或多台服务器使用。本节包括了在以下情况下阵列回弹如何工作的示例:

在以下示例中,域 example.com 具有一个四节点的 SGD 服务器阵列:

  • 主服务器-boston

  • 辅助服务器- newyorkdetroitseattle

图 7.1 “原始网络配置”显示了在使用阵列回弹前的原始网络配置。

图 7.1. 原始网络配置

图中显示了在阵列回弹前的原始网络配置

7.1.6.2.1. 主服务器发生故障

当 SGD 阵列中的主服务器发生故障时,阵列回弹的典型事件序列如下所述:

  1. 主服务器 boston 发生故障,且不可供阵列中的任何辅助服务器使用。

  2. 如果宽限期过后 boston 仍不可用,则故障转移阶段将开始。

  3. 阵列的备份主服务器列表中的第一台可用辅助服务器提升为阵列的新主服务器。

  4. 每台现有的辅助服务器将自动重新配置,以便与新主服务器协同工作。阵列变为一个三节点阵列。阵列现在处于已修复状态。

    图 7.2 “当主服务器发生故障时在故障转移阶段后的网络配置”显示了在故障转移阶段后的网络配置。

  5. boston 重新变得可用时,恢复阶段将开始。默认情况下,boston 自动作为主服务器重新加入阵列。

  6. 阵列中的其他服务器自动重新配置,以便与新主服务器 boston 协同工作。

图 7.2. 当主服务器发生故障时在故障转移阶段后的网络配置

图中显示了当主服务器发生故障时在故障转移阶段后的网络配置

7.1.6.2.2. 阵列拆分为两个阵列

当 SGD 阵列拆分为两个阵列时,阵列回弹的典型事件序列如下所述:

  1. 由于网络问题,主服务器 boston 只能联系 newyork 辅助服务器。无法联系阵列中的其余辅助服务器 seattledetroit

  2. 宽限期过后,如果主服务器仍无法联系 seattledetroit,则故障转移阶段将开始。

  3. 原始阵列保持为一个四节点阵列,但 seattledetroit 服务器在阵列中仍被报告为无法联系。使用相同的主服务器 boston,但原始阵列现在只有一个可联系的辅助服务器 newyork

  4. 辅助服务器 seattledetroit 可以相互联系。这些服务器相互连接以形成一个新的二节点阵列。备份主服务器列表中的第一台可用辅助服务器提升为该阵列的主服务器。

    图 7.3 “当阵列拆分为两个阵列时在故障转移阶段后的网络配置”显示了在故障转移阶段后的网络配置。

  5. 网络问题得以修复。恢复阶段开始。默认情况下,两个阵列合并到一起。将自动重新创建原始阵列结构,以 boston 作为主服务器。

图 7.3. 当阵列拆分为两个阵列时在故障转移阶段后的网络配置

图中显示了当阵列拆分为两个阵列时在故障转移阶段后的网络配置

7.1.7. 配置阵列

配置阵列涉及以下步骤:

  1. 向阵列添加 SGD 服务器。

    在构建阵列前,您可能希望启用阵列内安全通信。请参见第 7.1.7.1 节 “如何启用阵列内安全通信”。在标准安装中,会为 SGD 服务器启用阵列内安全通信。

    如何向阵列添加服务器取决于您是否使用阵列内安全通信,请参见以下内容:

  2. 更改阵列的结构。

    请参见以下内容:

  3. (可选)更改用于阵列内安全通信的密码套件。

    请参见第 7.1.7.6 节 “如何更改用于阵列内安全通信的密码套件”

7.1.7.1. 如何启用阵列内安全通信

在标准安装中,会自动为 SGD 服务器启用阵列内安全通信。

阵列内安全通信只能在没有与阵列中其他 SGD 服务器相连的 SGD 服务器上启用。

确保没有用户登录到 SGD 服务器,并且没有正在运行的应用程序会话,包括暂停的应用程序会话。

只能从命令行启用阵列内安全通信。

  1. 在 SGD 服务器上,以超级用户 (root) 身份登录。

  2. 停止 SGD 服务器。

  3. 启用阵列内安全通信。

    使用以下命令:

    # tarantella config edit \
    --tarantella-config-security-peerssl-enabled 1
  4. 启动 SGD 服务器。

7.1.7.2. 如何向阵列添加服务器(已启用阵列内安全通信)

为阵列启用阵列内安全通信后,只有当 SGD 服务器也启用了阵列内安全通信时,该服务器才能加入该阵列。在标准安装中,会自动为 SGD 服务器启用阵列内安全通信。

要加入阵列的服务器上的时钟必须与阵列中其他服务器上的时钟同步。如果时间差超过一分钟,则阵列加入操作失败。

  1. 登录到您要添加到阵列的 SGD 服务器。

  2. 显示 SGD 服务器 CA 证书的指纹。

    使用以下命令:

    $ tarantella security peerca --show
  3. 记录 SGD 服务器 CA 证书的指纹。

  4. 登录到阵列中的主 SGD 服务器。

  5. 将 SGD 服务器作为辅助服务器加入阵列。

    使用以下命令添加 SGD 服务器。

    $ tarantella array join --secondary serv
    

    输入 serv 的对等 DNS 名称。必须使用全限定 DNS 名称,例如 boston.example.com

    系统将提示您信任辅助 SGD 服务器的 CA 证书,并且将显示证书的指纹。

  6. 检查指纹是否正确,并完成加入阵列操作。

    检查证书指纹是否与步骤 2 中显示的指纹匹配。这非常重要,因为它验证主 SGD 服务器是否正在与真正的辅助 SGD 服务器通信。

    如果指纹匹配,请通过接受辅助 SGD 服务器的 CA 证书完成加入阵列操作。

  7. 检查阵列的状态。

    使用 tarantella status 命令检查阵列的状态。

    注意

    对阵列结构进行更改后,请等待 SGD 将更改复制到阵列中的所有 SGD 服务器,然后再进行进一步的更改。在主 SGD 服务器上运行 tarantella status 命令以检查阵列的状态。

7.1.7.3. 如何向阵列添加服务器(已禁用阵列内安全通信)

要加入阵列的服务器必须是独立的服务器。换句话说,该服务器必须独自位于阵列中。

请确保要加入阵列的服务器上的时钟与阵列中其他服务器上的时钟同步。如果时间差超过一分钟,则添加服务器操作将失败。

  1. 登录到主 SGD 服务器中的管理控制台。

  2. 转至 "Secure Global Desktop Servers"(Secure Global Desktop 服务器)选项卡。

  3. 在 "Secure Global Desktop Server List"(Secure Global Desktop 服务器列表)中,单击 "Add"(添加)按钮。

    此时将显示 "Add a Secure Global Desktop Server"(添加 Secure Global Desktop 服务器)屏幕。

    提示

    此外,还可以使用 tarantella array join 命令向阵列添加 SGD 服务器。

  4. 在 "DNS Name"(DNS 名称)字段中输入 SGD 服务器的对等 DNS 名称。

    必须使用全限定 DNS 名称,例如 boston.example.com

  5. 在 "User Name"(用户名)和 "Password"(密码)字段中输入 SGD 管理员的用户名和密码。

  6. 单击 "Add"(添加)。

    此时将显示 "Secure Global Desktop Servers"(Secure Global Desktop 服务器)选项卡。

    "Secure Global Desktop Servers"(Secure Global Desktop 服务器)选项卡显示消息,建议您等待服务器更改和同步过程完成。

    注意

    对阵列结构进行更改后,请等待 SGD 将更改复制到阵列中的所有 SGD 服务器,然后再进行进一步的更改。在主 SGD 服务器上运行 tarantella status 命令以检查阵列的状态。

    如果您添加的服务器已经是使用“高级负载管理”的负载平衡应用服务器,则必须在新服务器加入阵列后执行热重新启动 (tarantella restart sgd --warm)。另请参见第 7.2.6 节 ““高级负载管理”的工作方式”

7.1.7.4. 如何更改阵列中的主服务器

  1. 登录到主 SGD 服务器中的管理控制台。

  2. 转至 "Secure Global Desktop Servers"(Secure Global Desktop 服务器)选项卡。

  3. 在 "Secure Global Desktop Server List"(Secure Global Desktop 服务器列表)中,单击 "Make Primary"(设为主服务器)按钮。

    提示

    此外,还可以使用 tarantella array make_primary 命令更改阵列中的主服务器。

  4. 在出现提示时,单击 "OK"(确定)。

    "Secure Global Desktop Servers"(Secure Global Desktop 服务器)选项卡显示消息,建议您等待服务器更改和同步过程完成。

    以前的主服务器将成为辅助服务器。

    注意

    对阵列结构进行更改后,请等待 SGD 将更改复制到阵列中的所有 SGD 服务器,然后再进行进一步的更改。在主 SGD 服务器上运行 tarantella status 命令以检查阵列的状态。

7.1.7.5. 如何从阵列中删除服务器

要从阵列中删除主服务器,必须先将另一台服务器设为主服务器,然后再删除旧的主服务器。

  1. 登录到主 SGD 服务器中的管理控制台。

  2. 转至 "Secure Global Desktop Servers"(Secure Global Desktop 服务器)选项卡。

  3. 在 "Secure Global Desktop Server List"(Secure Global Desktop 服务器列表)中,单击 "Remove"(删除)按钮。

    提示

    此外,还可以使用 tarantella array detach 命令从阵列中删除 SGD 服务器。

  4. 在出现提示时,单击 "OK"(确定)。

    "Secure Global Desktop Servers"(Secure Global Desktop 服务器)选项卡显示消息,建议您等待服务器更改和同步过程完成。

    注意

    对阵列结构进行更改后,请等待 SGD 将更改复制到阵列中的所有 SGD 服务器,然后再进行进一步的更改。在主 SGD 服务器上运行 tarantella status 命令以检查阵列的状态。

7.1.7.6. 如何更改用于阵列内安全通信的密码套件

确保没有用户登录到阵列中的 SGD 服务器,并且没有正在运行的应用程序会话(包括暂停的应用程序会话)。

  1. 停止阵列中的所有 SGD 服务器。

  2. 以超级用户 (root) 身份登录阵列中的主 SGD 服务器。

  3. 指定密码套件。

    使用以下命令:

    # tarantella config edit \
    --tarantella-config-security-peerssl-ciphers cipher-suite
    

    其中,cipher-suite 是密码套件的 JSSE 名称。

    下表列出了可用的密码套件。

    JSSE 名称

    密码套件

    TLS_RSA_WITH_AES_256_CBC_SHA

    RSA_WITH_AES_256_CBC_SHA

    TLS_RSA_WITH_AES_128_CBC_SHA

    RSA_WITH_AES_128_CBC_SHA

    SSL_RSA_WITH_3DES_EDE_CBC_SHA

    RSA_WITH_3DES_EDE_CBC_SHA

    SSL_RSA_WITH_RC4_128_SHA

    RSA_WITH_RC4_128_SHA

    SSL_RSA_WITH_RC4_128_MD5

    RSA_WITH_RC4_128_MD5

    SSL_RSA_WITH_DES_CBC_SHA

    RSA_WITH_DES_CBC_SHA

    默认设置为 TLS_RSA_WITH_AES_128_CBC_SHA

  4. 启动阵列中的所有 SGD 服务器。

7.1.8. 配置阵列回弹

配置阵列回弹涉及以下步骤:

  1. 为阵列启用阵列故障转移。

    默认情况下,SGD 阵列的阵列故障转移被禁用。

  2. (可选)配置阵列故障转移宽限期。

    宽限期过后,阵列故障转移将自动启动。

  3. (可选)配置备份主服务器列表。

    备份主服务器列表决定了哪台辅助服务器将被提升为新的主服务器。

    有关更多详细信息,请参见以下内容:

  4. (可选)配置查找新的主服务器超时期限。

    如果无法在该超时期限内与新主服务器取得联系,则会联系备份主服务器列表中的下一台服务器。

  5. (可选)配置恢复阶段。

    默认情况下,当原始主服务器变得可用时,恢复阶段将自动重新创建原始阵列结构。

    您可以使用手动恢复手动重新创建原始阵列结构。

7.1.8.1. 如何为阵列启用阵列故障转移

  1. 在管理控制台中,转至 "Global Settings"(全局设置) → "Resilience"(弹性)选项卡。

  2. 为 SGD 阵列启用阵列故障转移。

    选中 "Array Failover"(阵列故障转移)复选框。

    提示

    此外,还可以使用 tarantella config edit 命令启用 "Array Failover"(阵列故障转移)(--array-failoverenabled) 属性。

7.1.8.2. 如何配置阵列故障转移宽限期

  1. 在管理控制台中,转至 "Global Settings"(全局设置) → "Resilience"(弹性)选项卡。

  2. 配置宽限期。

    键入 "Monitor Interval"(监视时间间隔)和 "Monitor Attempts"(监视尝试次数)属性的值。

    例如,要将宽限期更改为 120 秒(2 分钟),请将 "Monitor Interval"(监视时间间隔)和 "Monitor Attempts"(监视尝试次数)属性分别设置为 60 和 2。

    默认宽限期为 10 分钟。

    提示

    此外,还可以使用 tarantella config edit 命令配置 "Monitor Interval"(监视时间间隔)(--array-monitortime) 和 "Monitor Attempts"(监视尝试次数)(--array-maxmonitors) 属性。

7.1.8.3. 如何显示阵列的备份主服务器列表

  1. 在管理控制台中,转至 "Global Settings"(全局设置) → "Resilience"(弹性)选项卡。

  2. 查看备份主服务器列表中的条目。

    "Backup Primaries"(备份主服务器)表显示了阵列的备份主服务器列表。

    提示

    此外,还可以使用 tarantella array list_backup_primaries 命令显示阵列的备份主服务器列表。

7.1.8.4. 如何向备份主服务器列表添加条目

  1. 在管理控制台中,转至 "Global Settings"(全局设置) → "Resilience"(弹性)选项卡。

  2. 向备份主服务器列表添加条目。

    1. 在 "Backup Primaries"(备份主服务器)表中单击 "New"(新建)按钮。

      此时将显示 "Available Secondaries"(可用的辅助服务器)表,该表显示了不在备份主服务器列表中的可用辅助服务器。

    2. 在 "Available Secondaries"(可用的辅助服务器)表中选择一台服务器,然后单击 "Add"(添加)。

      此时将自动更新 "Backup Primaries"(备份主服务器)表。

    提示

    此外,还可以使用 tarantella array add_backup_primary 命令向备份主服务器列表添加条目。

7.1.8.5. 如何更改条目在备份主服务器列表中的位置

  1. 在管理控制台中,转至 "Global Settings"(全局设置) → "Resilience"(弹性)选项卡。

  2. 更改条目在备份主服务器列表中的位置。

    在 "Backup Primaries"(备份主服务器)表中选择服务器,然后单击 "Move Up"(上移)或 "Move Down"(下移)。

    提示

    此外,还可以使用 tarantella array edit_backup_primary 命令更改条目在备份主服务器列表中的位置。

7.1.8.6. 如何从备份主服务器列表中删除条目

  1. 在管理控制台中,转至 "Global Settings"(全局设置) → "Resilience"(弹性)选项卡。

  2. 删除备份主服务器列表中的条目。

    在 "Backup Primaries"(备份主服务器)表中选择服务器,然后单击 "Delete"(删除)。

    提示

    此外,还可以使用 tarantella array remove_backup_primary 命令从备份主服务器列表中删除条目。

7.1.8.7. 如何配置查找新的主服务器超时

  1. 在管理控制台中,转至 "Global Settings"(全局设置) → "Resilience"(弹性)选项卡。

  2. 配置查找新的主服务器超时期限。

    键入 "Find Primary Interval"(查找主服务器时间间隔)和 "Find Primary Attempts"(查找主服务器尝试次数)属性的值。

    例如,要将查找新的主服务器超时更改为 60 秒(1 分钟),请将 "Find Primary Interval"(查找主服务器时间间隔)和 "Find Primary Attempts"(查找主服务器尝试次数)属性分别设置为 60 和 1。

    默认的查找新的主服务器超时期限为 3 分钟。

    提示

    此外,还可以使用 tarantella config edit 命令配置 "Find Primary Interval"(查找主服务器时间间隔)(--array-resubmitfindprimarywait) 和 "Find Primary Attempts"(查找主服务器尝试次数)(--array-resubmitfindprimarymax) 属性。

7.1.8.8. 如何配置故障转移结束时执行的操作

  1. 在管理控制台中,转至 "Global Settings"(全局设置) → "Resilience"(弹性)选项卡。

  2. 配置当原始主服务器变得可用时如何重新配置阵列。

    为 "Action When Failover Ends"(故障转移结束时执行的操作)属性选择必需选项。

    • 要接受原始主服务器作为主服务器返回到阵列,请选择 "Restore original primary"(恢复原始主服务器)选项。

      原始主服务器和任何已连接的辅助服务器重新加入阵列。原始主服务器恢复为阵列的主服务器。当前主服务器成为辅助服务器。这是默认设置。

    • 要从阵列中排除原始主服务器,请选择 "Do not restore original array"(不恢复原始阵列)选项。

      原始主服务器和任何已连接的辅助服务器不会重新加入阵列。原始主服务器和任何已连接的辅助服务器将停留在它们在故障转移阶段后的状态。

    • 要接受原始主服务器作为辅助服务器返回到阵列,请选择 "Restore array with a new primary"(通过新的主服务器恢复阵列)选项。

      原始主服务器和任何已连接的辅助服务器将作为辅助服务器重新加入阵列。

    提示

    此外,还可以使用 tarantella config edit 命令配置 "Action When Failover Ends"(故障转移结束时执行的操作)(--array-primaryreturnaction) 属性。

7.1.8.9. 如何手动重新构建阵列

  1. 删除所有阵列状态信息。

    在阵列中的每台 SGD 服务器上运行以下命令。

    $ tarantella array clean

    默认情况下,tarantella array clean 命令将删除所有阵列信息并将 SGD 服务器配置为单个、独立的服务器。如果要将 SGD 服务器与其他可联系且报告了相同阵列成员关系的 SGD 服务器保留在阵列中,请使用此命令的 --contactmembers 选项。

  2. 手动重新构建阵列。

    使用 tarantella array 命令。有关如何执行此操作的详细信息,请参见第 7.1.5 节 “管理阵列和 SGD 服务器”