资源组管理器 (RGM) 用于管理资源组,进而最终管理群集上的资源,它对回调模型起作用。当发生特定事件时,例如某个节点发生故障,RGM 将为在受影响节点上运行的每一个资源调用资源类型的方法。例如,RGM 将调用 Stop 方法来停止在受影响节点上运行的资源,然后调用该资源的 Start 方法以在其他节点上启动该资源。有关此模型的更多信息,请参见RGM 模型、回调方法和 rt_callbacks(1HA) 手册页。
为支持此模型,Agent Builder 将在 install_directory/rt_name/bin 目录中生成用作回调方法的八个可执行 C 程序或 Korn shell 脚本。
严格地说,用来实现故障监视器的 rt_name _probe 程序不是回调程序。RMG 并不直接调用 rt_name _probe,而是调用 rt_name _monitor_start 和 rt_name _monitor_stop,它们通过调用 rt_name_probe 来启动和停止故障监视器。
rt_name_monitor_check
rt_name_monitor_start
rt_name_monitor_stop
rt_name_probe
rt_name_svc_start
rt_name_svc_stop
rt_name_update
rt_name_validate
有关以上各方法的详细信息,请参见 rt_callbacks( 1HA) 手册页。
Agent Builder 将在 install_directory/rt_name/src 目录中(C 输出)生成以下文件:
头文件 (rt_name.h)
包含所有方法通用的代码的源文件 (rt_name.c)
通用代码的对象文件 (rt_name.o)
每个方法的源文件 (*.c)
每个方法的对象文件 (*.o)
Agent Builder 将 rt_name .o 文件链接到每个方法的 .o 文件,以在 install_directory/ rt_name/bin 目录中创建可执行文件。
对于 Korn shell 输出,install_directory /rt_name/bin 和 install_directory/rt_name/src 目录中的内容是相同的。每个目录都包含八个可执行脚本,分别对应七个回调方法和 Probe 方法。
Korn shell 输出包含两个已编译好的实用程序(gettime 和 gethostnames),某些特定的回调方法需要使用这两个实用程序来获取时间和进行探测。
您可以编辑源代码并运行 make 命令来重新编译代码,完成时,可以运行 make pkg 命令生成新的软件包。为了使您可以更改源代码,Agent Builder 在源代码中您可以添加代码的相应位置加入了注释。请参见编辑已生成的源代码。