基于 PostgreSQL 数据库的只读服务器模型
只读服务器模型通过增加关键的弹性层,增强了 PAM360 的高可用性策略。只读服务器可在多个地点进行配置,专门用于执行读取操作,从而通过防止数据修改来维护数据完整性。这些服务器与主服务器保持同步运行,实际上充当镜像服务器。如果主服务器发生故障,任何只读服务器均可配置为主服务器。
注意
- PAM360 将允许用户仅通过只读服务器检索密码。
- 如果主服务器发生故障,管理员可以将任何只读服务器转换为主服务器,并重新配置所有其他只读服务器,使其指向新的主服务器。
- 在主 PAM360 服务上线或只读服务器转换为主服务器之前,在只读服务器上执行的操作的审计日志将不可见。
- 从 8400 版开始,PAM360 允许用户通过可用的只读服务器启动 RDP、SSH 和 VNC 连接。此外,要从只读服务器回放录制的会话,应使用 会话配置 设置中配置网络路径。
只读服务器模型如何运作?
当主服务器发生故障或遭遇灾难性事件时,任何只读服务器均可无缝接管主服务器角色,确保业务连续性不受中断。与其他仅支持单个辅助服务器的高可用性配置不同,企业可在不同地点配置多台只读服务器,从而获得更大的灵活性。
当主服务器发生故障时,管理员可轻松将任意只读服务器转换为主服务器,并重新配置其余服务器以指向新的主实例。此功能确保 PAM360 即使在遭遇意外中断时,仍能保持弹性并持续运行。 不过,PAM360 仅允许通过只读服务器执行密码检索和远程会话初始化操作。在这些服务器上进行的所有操作都会由主服务器进行记录和审计,相关记录也会复制到其他只读服务器上。

设置主服务器和只读服务器
在开始对主服务器和只读服务器进行配置之前,请确保您环境中的所有只读服务器上已成功安装 PAM360。安装完成后,请按照以下文档的指引,在主服务器和只读服务器上进行必要的配置调整。此外,下文还提供了详细说明,指导您在主服务器发生故障时,如何将只读服务器提升为主服务器。
注意
- 如果您拥有 辅助服务器型号 ,且服务器环境中已配置 PostgreSQL 数据库, 请在配置只读服务器之前 在配置只读服务器之前,请先移除辅助服务器的配置。
- 如果您的环境中部署了应用程序网关,请确保计划作为只读服务器部署的服务器上已安装 Microsoft Visual C++ Redistributable for Visual Studio 2015 或更高版本。
1. 在主服务器上创建只读服务器配置包
- 在主服务器上导航至<PAM360-安装目录>/bin 文件夹, 并根据您的操作系统执行以下命令。这将生成一个ROPack.zip 文件,其中包含需要复制到只读服务器的文件。
Windows:
ROSetup.bat <只读服务器IP> <用户名> <密码> <槽名>
Linux:
ROSetup.sh <RO服务器IP> <用户名> <密码> <槽位名>
其他详情
- 在创建ROPack.zip 时,每个只读服务器必须拥有一个唯一的slotName 。
- 首次创建复制包以配置只读服务器时,请提供您选择的用户名和密码。今后若要生成其他复制包,必须使用相同的用户名和密码。请注意,PAM360 数据库不会存储用户名和密码。因此,建议您将它们保存在安全的位置。
其中,- RO_Server_IP 是指 只读服务器的有效 IP 地址。
- userName 是 用于复制的用户名。
- password 是 复制用户的密码。
- slotName 是 用于复制的只读服务器的槽名称。
注意
- 一个用户名和密码即可用于所有只读服务器。
- 用户名只能包含小写字母、数字和下划线。
- 复制槽名称只能包含小写字母、数字和下划线。
- 每台只读服务器应具有唯一的槽名称。
复制包的 zip 文件将成功生成,并位于<PAM360-安装目录>/replication文件夹下。 - 现在,请执行以下命令导入证书:
Windows:
importCert.bat <PAM360-安装目录>\conf\ServerCer.cer
importCert.bat <PAM360-安装目录>\conf\CACert.pem
importCert.bat <PAM360-安装目录>\agent\ServerCer.cer
Linux:
sh importCert.sh <PAM360-安装目录>/conf/ServerCer.cer
sh importCert.sh <PAM360-安装目录>/conf/CACert.pem
sh importCert.sh <PAM360-安装目录>/agent/ServerCer.cer
其他详细信息
要安装自定义证书,请将上述命令中的证书路径全部替换为绝对路径。
您已成功创建只读配置包并设置了主服务器。
2. 设置只读服务器
- 在只读服务器上导航至 PAM360 安装目录,并解压ROPack.zip文件。这将替换此处已存在的来自主服务器的文件。
- 将主服务器上的pam360_key.key文件复制到只读服务器,并更新<PAM360-安装目录>/conf/manage_key.conf文件中pam360_key.key文件的路径。
- 如果只读服务器上不存在manage_key.conf文件,请创建一个名为manage_key.conf的新文件,并注明加密密钥的位置。如果加密密钥位于远程路径,请使用 UNC 格式指定路径。
- 现在,请执行以下命令导入证书:
Windows:
importCert.bat <PAM360-安装目录>\conf \ServerCer.cer
importCert.bat <PAM360-安装目录>\conf\CACert.pem
importCert.bat <PAM360-安装目录>\agent\ServerCer.cer
Linux:
sh importCert.sh <PAM360-安装目录>/conf/ServerCer.cer
sh importCert.sh <PAM360-安装目录>/conf/CACert.pem
sh importCert.sh <PAM360-安装目录>/agent/ServerCer.cer
其他详细信息
如果您在 PAM360 安装中使用自定义 SSL 证书,请将 SSL 证书从主服务器复制,并粘贴到只读服务器的以下路径中:<PAM360-安装目录>/conf。要安装自定义证书,请替换上述命令中的证书路径。
您已成功设置好只读服务器。请导航至“管理 >> 业务连续性 >> 只读服务器”,在 PAM360 界面中查看已配置的只读服务器。
3. 将只读服务器配置为主服务器
- 停止将要转换为主服务器的只读服务器。
- 从<PAM360-安装目录>/pgsql/data 文件夹中 删除 standby.signal 文件 。
- 打开位于<PAM360-安装目录>/pgsql/ext_conf 文件夹中的 postgres_ext.conf文件。删除recovery props 下的所有条目。
- 在<PAM360-安装目录>/conf/configurations.properties文件中删除readonly.mode=true条目。
- 打开位于<PAM360-安装目录>/conf 文件夹中的 serverstate.conf文件。查找ro并将其更改为master。
- 启动 PAM360 服务器,此时该只读服务器将作为主服务器启动。 您已成功将只读服务器配置为主服务器。
- 现在,执行以下命令,从数据库中删除已转换的只读服务器的 IP 地址。
Windows:
<PAM360-安装目录>\bin\DeleteROServerIP.bat <已转换为主服务器的只读服务器 IP 地址>
<PAM360-安装目录>\bin\DeleteSlot.bat <已转换为主服务器的只读服务器的插槽名称>
Linux:
<PAM360-安装目录>/bin/DeleteROServerIP.sh <已转换为主RO的RO的IP地址>
<PAM360-安装目录>/bin/DeleteSlot.sh <已转换为主节点的RO的槽位名称>
- 现在,请按照 步骤 1 (在主服务器上创建只读服务器配置包)以及 步骤 2 (设置只读服务器),将现有只读服务器重新配置为与该主服务器保持同步。
4. 从集群中删除只读服务器
在主服务器上执行以下命令,将只读服务器从集群中移除:
- 要删除现有的只读服务器,请执行以下命令:
Windows:
<PAM360-安装目录>\bin\DeleteROServerIP.bat <RO_IP_地址>
Linux:
<PAM360-安装目录>/bin/DeleteROServerIP.sh <RO_IP_地址>
- 要删除已配置为只读服务器的现有槽位,请执行以下命令:
Windows:
<PAM360-安装目录>\bin\DeleteSlot.bat <RO_插槽名称>
Linux:
<PAM360-安装目录>/bin/DeleteSlot.sh <RO_Slot_Name>
其他详细信息
升级至 6600 版本后,PostgreSQL 服务器将自动删除已配置到只读服务器的现有插槽。
5. 只读服务器的审计日志
启用只读服务器后,只读服务器的审核记录将作为独立列显示,其完整审核日志位于“资源审核”和“用户审核”下。点击 此处 了解有关审计的更多信息。
6. 故障排除提示
导航至“管理” >> “业务连续性” >> “只读服务器”,检查只读服务器的状态是否为“非活动”。如果是,请按照以下步骤进行故障排除:
请按照以下步骤操作主服务器:
- 导航至<PAM360_安装目录>/pgsql/data文件夹。
- 打开 pg_hba.conf 文件 ,检查只读服务器的IP 地址和复制用户名是否正确。
请按照以下步骤操作只读服务器:
- 导航至 <PAM360-安装目录>/pgsql/data 文件夹 ,并执行以下操作:
- 打开pg_hba.conf 文件 ,检查主 服务器 和 只读服务器的 IP 地址是否正确。
- 此外,请导航至# TYPE DATABASE USER ADDRESS METHOD部分,并验证复制用户名、IP 地址和 槽位详细信息的格式是否正确 。例如:host replication pmpuser 10.214.147.123/32 md5。
- 现在,打开configuration.properties文件,检查readonly.mode=true的值。
如果问题仍然存在,请将<PAM360_安装目录>/logs和<PAM360_安装目录>/pgsql/data/pg_log目录下的日志文件发送至 pam360-support@manageengine.com 以获取进一步协助。