第三十七章 配置镜像 - 配置 ISCAgent

103 阅读4分钟

第三十七章 配置镜像 - 配置 ISCAgent

配置 ISCAgent

ISCAgent 在每个镜像成员上的专用、可配置端口(默认为 2188)上安全运行。当代理接收到将其定向到镜像实例的传入网络连接时,它会在该实例中执行 irisuxagent 以升级到管理镜像成员所需的权限。如果镜像配置为需要 TLS,则在执行任何操作之前对传入连接进行身份验证。

当属于一个或多个镜像的多个 IRIS 实例托管在一个系统上时,它们共享一个 ISCAgent

本节提供有关通过以下方式管理 ISCAgent 的信息:

启动和停止 ISCAgent

ISCAgent 在安装或升级 IRIS 时安装,默认情况下作为用户 iscagentiscagent 组的成员运行。要获得组权限,这是执行 irisuxagent 实用程序所必需的,该实用程序为其提供对 IRIS 实例的访问(如 ISCAgent 中所述),ISCAgent 必须在系统启动期间自动启动或由具有 root 权限的用户启动。一旦为自己分配了所需的用户和组权限,ISCAgent 就会放弃所有根权限。

ISCAgent 必须配置为在系统在每个故障转移和 DR 异步镜像成员上启动时自动启动。 提供特定于平台的控制脚本,系统管理员可以将其添加到初始化过程中,如以下部分所述。 (有关详细的系统启动配置过程,请参阅您的操作系统文档。)

UNIX®macOS 系统上启动 ISCAgent

UNIX®macOS 平台上,运行 ISCAgent 启动/停止脚本,该脚本安装在以下位置,具体取决于操作系统:

  • IBM AIX®: /etc/rc.d/init.d/ISCAgent

  • macOS: /Library/StartupItems/ISCAgent/ISCAgent

例如,要在 IBM AIX® 平台上启动 ISCAgent,请以 root 身份运行以下命令:/etc/rc.d/init.d/ISCAgent start;要停止它,请运行命令 /etc/rc.d/init.d/ISCAgent stop

UNIX®/Linux 平台上的其他 ISCAgent 注意事项包括:

  • 如前所述,ISCAgent 必须在系统启动时在每个故障转移和 DR 异步镜像成员上自动启动。有时让用户启动、停止或重新启动代理也很有用。这可以通过以下方式完成:

    • 直接由 root 用户执行,如前所述。
    • 任何能够启动和停止 IRIS 实例的用户都可以使用 IRIS 实例的 /bin 目录中的 agentctrl 可执行文件。例如,要启动代理,请执行以下命令:
    /iris/bin$ ./agentctrl start
    

    该命令还采用参数停止和重新启动。

  • IRIS 使用 iscagent.status 文件,该文件位于 IRISSYS 环境变量指定的目录中(请参阅安装指南“准备安装”一章中的安装目录)或如果 IRISSYS 未定义,则位于 /var/run 中,以跟踪ISCAgent 的状态。因为代理程序必须能够获得此文件的独占锁,所以如果 iscagent.status 文件位于 /var/run 并且 /var/run 位于 NFS 安装的文件系统上,则 NFS 配置必须支持 fcntl 文件锁定。

  • 如前所述,ISCAgent 获得了使用 irisuxagent 管理 IRIS 实例所需的权限。默认情况下,代理具有执行 irisuxagent 所需的权限(iscagent 用户/iscagent 组),在典型配置下,无需更改。

  • 但是,根据系统的安全配置,站点上的实例可能需要额外的权限才能导航到镜像实例的 /bin 目录,以便执行 irisuxagent。如果是这样,必须确保 ISCAgent 的权限足以执行该命令。为此,可以使用以下过程修改代理的权限:

  1. 创建文件 /etc/iscagent/iscagent.conf,如果它已经存在则对其进行编辑(例如,因为之前创建它是为了自定义 ISCAgent 端口号或接口)。
  2. 要添加组权限,请添加以下行,指定执行 irisuxagent 所需的一个或多个组:
privileges.group=iscagent,<groupname>[,<groupname>[,...]]

通常,添加组权限就足够了。但是,在某些配置下,您可能需要以不同的用户身份运行 ISCAgent。这也可以在 /etc/iscagent/iscagent.conf 中完成,如下所示:

privileges.user= <username>

注意:因为 irisuxagent 需要 iscagent 组权限,所以 iscagent 必须保留在组列表中。

  • ISCAgent 将消息写入操作系统的系统错误日志,例如 Linux 上的 /var/log/messages