基于 Microsoft SQL Server 的辅助服务器模型

在关键任务环境中,确保密码访问不中断至关重要。PAM360 提供了一套辅助服务器模型来保障这一点。 在使用 Microsoft SQL Server(MS SQL)配置辅助服务器(高可用性或 HA)时,必须在主 MS SQL 数据库与辅助 MS SQL 数据库之间设置数据库复制。此操作可直接通过 PAM360 完成,也可通过 SQL Server Management Studio 实现。本文档详细介绍了如何使用 PAM360 在主数据库与辅助数据库之间配置 MS SQL Server 复制。

附加说明

如需使用 SQL Server Management Studio 配置复制,请参阅 此帮助文档

阅读完本文后,您将全面掌握在基于 Microsoft SQL Server 的 PAM360 环境中配置备用服务器相关的以下关键要点:

  1. 辅助服务器模型如何工作?
  2. PAM360 中的辅助服务器架构
  3. 辅助服务器的网络场景
  4. 设置辅助服务器 (使用 PAM360 进行复制)
  5. 验证辅助服务器配置

1. 辅助服务器模型如何工作?

在 PAM360 中,辅助服务器模型确保了服务器和数据库实例的冗余。该模型的主要特征包括:

  • 主实例和辅助实例:主实例处理所有用户的读写访问。辅助实例始终与主实例保持同步。
  • 数据同步:主数据库与辅助数据库之间的数据通过 SQL Server 的数据复制功能,经由安全加密通道持续同步。
  • 故障转移:当主服务器不可用时,辅助服务器将自动为用户提供读写访问权限(密码重置功能除外),直至主服务器恢复在线。一旦主服务器恢复,停机期间对辅助数据库所做的任何更改都会自动与主数据库同步。

2. PAM360 中的辅助服务器架构

该架构由冗余的 PAM360 服务器组成——包括一台主服务器和一台辅助服务器。辅助服务器通过 SQL Server 复制与主服务器保持同步。
high-availability-mssql

3. 辅助服务器的网络场景

PAM360 中的辅助服务器架构支持两种网络场景:

场景 1

主服务器和备用服务器位于同一网络中


在此场景中,主服务器和备用服务器均部署在同一网络内。如果主服务器发生故障,备用服务器将接管读写职责,但密码重置除外。

示例

两台服务器均部署在同一地点。如果主服务器发生故障,用户仍可通过同一网络内的备用服务器检索密码并执行相关操作。一旦主服务器恢复运行,两台服务器的数据库数据将自动同步。

方案 2

主服务器与备用服务器位于不同网络

在此场景中,主服务器和备用服务器部署在不同的地理位置,通过广域网(WAN)链路连接。如果广域网链路发生故障,备用服务器仍可通过提供读写访问(密码重置除外)继续为其所在网络的用户提供服务。

示例

若主服务器位于地点 A,备用服务器位于地点 B,且两者之间的广域网链路发生故障,则两台服务器将独立运行。地点 B 的用户将访问备用服务器,直至链路恢复,之后两台服务器的数据库将进行同步。


3.1 审计日志管理

在两种场景下,审计日志均按常规方式记录。若主服务器发生故障期间用户访问备服务器,密码找回、登录和注销等操作将记录在备服务器上。一旦网络连接恢复,主服务器与备服务器之间的审计数据将进行同步。



4. 使用 PAM360 配置带复制功能的备用服务器

注意

在继续进行辅助服务器配置之前,请确保计划部署为辅助服务器的服务器上已安装 Microsoft Visual C++ Redistributable for Visual Studio 2015 或更高版本(如果您的环境中部署了应用程序网关)。

high-availability-flow

4.1 使用 PAM360 配置复制


附加信息

有关如何使用 SQL Server Management Studio 配置复制,请参阅 此帮助文档

  1. 停止 PAM360 主服务器。
  2. 接下来,将 MS SQL 辅助数据库的 SSL 证书导入主服务器。如果辅助数据库尚未配置 SSL,则必须使用 参考帮助文档进行配置。PAM360 需要 SSL 来确保数据库之间的安全通信。要导入 SSL 证书,请打开命令提示符,导航至<PAM360-主-安装-目录>/bin文件夹,并执行以下命令:
       importCert.bat <MS SQL 辅助数据库 SSL 证书的绝对路径>
  3. 导入 SSL 证书后,打开pam360_key.key文件并复制MASTERKEY 的值。您将在下一步中使用此值。如果您在集成 SQL 服务器时按照建议将此密钥移动到了安全位置,请将其准备好以便在下一步中使用。
    如果您使用的是 PAM360 8000 之前的版本,请导航至<PAM360-主安装目录>/conf文件夹,并打开masterkey.key文件。从该文件中复制SQL 主密钥,以便在下一步中使用。如果您在集成 SQL 服务器时已按建议将此密钥移动到安全位置,请将其准备好以便在下一步中使用。
  4. 现在,请再次导航至<PAM360-Primary-Installation-Directory>/bin文件夹,并根据您的操作系统执行复制配置脚本ConfigureReplication.batsh ConfigureReplication.sh。 此命令将启动一个用于主数据库和从数据库的安全复制配置向导。
    config-replication

    补充说明

    从 PAM360 8000 及以上版本开始,您可以执行ConfigureReplication.bat --files-only(在 Windows 中)或sh ConfigureReplication.sh --files-only(在 Linux 中)来创建不包含数据库复制的SQLServerHAPack.zip

  5. “主数据库详细信息”下,请提供以下信息:
    1. 主数据库主机名:输入安装有主数据库 MS SQL Server 的机器名称或 IP 地址。
    2. 实例名称:指定 PAM360 应使用的 SQL Server 命名实例。如果未提供实例名称,PAM360 将尝试连接到端口 1433 上的默认实例。
      由于 PAM360 仅通过 SSL 模式连接到 MS SQL,建议为 PAM360 创建一个运行在特定端口上的专用数据库实例。如果您需要指定 1433 以外的端口号,请按以下格式将其包含在“主机名”字段中:<主机名>:<端口>
    3. 登录名和密码:输入用于连接主数据库的 SQL Server 身份验证凭据。该用户必须拥有 sysadmin SQL 角色。请注意,PAM360 不会存储这些凭据;它们仅在主数据库与辅助数据库之间的复制配置过程中使用。
      若从 Windows 计算机连接,也可使用您的 Windows 登录凭据。此时,请将登录名输入为<域名称>\<用户名>
    4. 主数据库:提供 PAM360 主数据库的名称。
    5. 主密钥:粘贴之前在步骤 3 中复制的SQL 主密钥
  6. “从属 数据库详细信息”下,提供以下信息:
    1. 从属主机名:输入安装了用于二级数据库的 MS SQL Server 的机器名称或 IP 地址。
    2. 实例名称:指定 PAM360 应使用的 SQL Server 命名实例。如果未提供实例名称,PAM360 将尝试连接到端口 1433 上的默认实例。
      与主数据库类似,建议为 PAM360 在特定端口上创建一个专用数据库实例。如果使用 1433 以外的端口,请按以下格式将其包含在“主机名”字段中:<主机名>:<端口>
    3. 从库登录名和密码:输入用于连接辅助数据库的 SQL Server 身份验证凭据。该用户必须拥有 sysadmin SQL 角色。请注意,PAM360 不会存储这些凭据;它们仅在主数据库与辅助数据库之间的复制配置过程中使用。
      若从 Windows 计算机连接,也可使用您的 Windows 登录凭据。此时,请将登录名输入为<域名称>\<用户名>
    4. 从属数据库:提供 PAM360 从属数据库的名称,默认名称为pam360standby。 如果您在为主服务器配置ChangeDB.bat时,将“加密密钥”选项设为“自定义”,则需要创建一个新的从属数据库。此外,请使用 AES 256 加密创建主密钥、证书和对称密钥,然后在此处指定从属数据库名称。
  7. 单击“测试”,然后单击“配置”以开始复制设置。根据环境的不同,此过程可能需要 30 分钟或更长时间才能完成。
  8. 配置完成复制后,请重启主服务器。

4.2 PAM360 备用服务器配置

  1. 在辅助服务器上安装 PAM360 应用程序,并选择“将此服务器配置 高可用性辅助服务器”选项

    注意

    安装完成后,请勿在辅助服务器上启动 PAM360 服务。

  2. 现在,通过编辑文件ChangeDB.bat(Windows)ChangeDB.sh(Linux),向 PAM360 辅助服务器提供辅助数据库 SQL 服务器的详细信息。为此,请导航至<PAM360-Secondary-Installation-Directory>/bin文件夹,并执行文件ChangeDB.bat(Windows)或sh ChangeDB.sh(Linux)。 在弹出的窗口中,填写以下值:
    1. “服务器类型”选为“SQL Server”。
    2. 主机名:安装了用于二级数据库的 MS SQL 服务器的机器名称或 IP 地址。
    3. 实例名称:指定用于 PAM360 的 SQL Server 命名实例。如果未指定实例名称,PAM360 将尝试通过端口1433 与默认实例建立连接。

      最佳实践

      由于 PAM360 仅通过 SSL 模式连接到 MS SQL,建议您为 PAM360 创建一个在特定端口上运行的专用数据库实例。如果您想指定 1433 以外的端口号,可以在上面的“主机名”参数中以<主机名>:<端口> 的形式进行指定。

    4. 数据库名称:输入 PAM360 辅助数据库的名称。请确保此名称与复制配置过程中指定的数据库名称完全一致。
    5. 身份验证:连接 SQL 服务器的身份验证方式。若从 Windows 系统连接 SQL 服务器,请选择“Windows”。若 PAM360 服务使用具备连接 SQL 服务器权限的服务账户运行,则可利用Windows 单点登录功能;否则,请选择“SQL”选项。

      最佳实践

      建议选择“Windows”选项,因为用于身份验证的用户名和密码不会被存储在任何地方。

    6. 登录名和密码:步骤 v选择了“SQL” 选项,请指定 PAM360 用于连接数据库的用户名和密码。

      其他详细信息

      • 此处输入的登录名和密码将存储在 PAM360 中的database_params.conf文件中。因此,请注意加强主机的安全性。
      • 如果您是从 Windows 连接到数据库,甚至可以使用您的 Windows 登录凭据。在这种情况下,您需要将用户名输入为<domain-name>\<username>。
    7. 加密密钥:用于加密数据并将其存储在 SQL 服务器中的密钥。您可以保留默认值,允许 PAM360 自动生成密钥。如果您已为主数据库配置了自定义密钥,则在此处为辅助数据库也需选择“自定义”

      如果您选择了“自定义”选项,请执行以下操作:

    8. 实例类型:选择 “本地实例”作为您的实例类型,以继续进行数据库更改配置。
    9. JDBC 驱动程序:该驱动程序可与 MS SQL Server 数据库无缝协作。Microsoft(推荐)是该字段中默认选定的驱动程序,由于其兼容最新的 SQL Server 版本和功能,因此推荐用于大多数安装。可选的替代 JDBC 驱动程序是“jTDS”,它支持特定的兼容性功能。
    10. 连接属性:勾选此复选框后,您将能够以以下格式指定自定义连接属性:“key1=value1;key2=value2”。

      其他详细信息

      数据库迁移设置窗口中的现有服务器详细信息以及属性(如 SSL 和加密)无法作为自定义连接属性添加。

    11. 最后,点击“测试”以确保连接设置正确,然后点击“保存”

      db-change-conf

  3. 要将 PAM360 许可证、自定义图标和品牌重塑设置从主服务器转移到辅助服务器,请从主服务器复制SQLServerHAPack.zip文件,并将其解压到<PAM360-Secondary-Installation-Directory> 目录中。
  4. 接下来,编辑<PAM360-Secondary-Installation-Directory>/conf文件夹中的manage_key.conf文件,以指定加密密钥的位置。PAM360 要求在启动时能够通过完整路径访问pam360_key.key文件。一旦应用程序成功启动,该密钥便不再需要,此时可将包含密钥文件的设备断开网络连接。

    注意

    从 PAM360 8000 版本起,为确保系统平稳运行,必须将pam360_key.key文件保留在manage_key.conf文件中指定的路径下。PAM360 会持续访问该文件以确保运行不中断。如果指定路径下找不到pam360_key.key文件,服务可能无法启动,或者某些功能(如数据库备份)将无法正常工作。

  5. 最后,启动备用服务器。

5. 验证备用服务器配置

要验证备用服务器是否运行正常,请在主服务器或备用服务器上导航至“管理 > 常规 > 备用服务器”。若显示“高可用性状态:正常”的状态消息,则表明配置运行正常。




Top