All path names are relative to $GLOBUS_DEPLOY_PATH, which here is /opt/globus. This setup relies on either having that area cross mounted on all nodes -- I moved /opt to /usr/local (for various reasons) and then soft linked it from all machines -- or having a local copy on each machine.
You will need to change four globus setup scripts -- I just added a -gris to the name of the modified scripts:
sbin/SXXglobus-gris -- start only >sbin/grid-info-soft-register instead of all globus daemons;
etc/grid-info-resource-register-gris.conf -- register each host with the GIIS server on the gatekeeper ($GLOBUS_HOSTNAME is defined at the beginning of SXXglobus-gris);
etc/grid-info-resource-slapd-gris.conf -- define different libexec/grid-info-resource-search[-gris];
libexec/grid-info-resource-search-gris -- define separate log directory for each node (cache_dir=${localstatedir}/grid-info-resource-cache-`hostname`).
The last two are probably not necessary if you have separate /opt partitions on each machine. Just make sure to change SXXglobus-gris accordingly.
So, just copy the three grid-info-resource-* scripts to their respective location, use SXXglobus-gris as the system startup/shutdown file in /etc/rc.d/*.d/, and you should be in business.
Unless you have condor as one of your job schedulers, then you'll have to fix another bug first. Namely in etc/grid-info-resource.conf, you'll need to add the following to the line that defines the condor output:
... -condor-arch INTEL -condor-os LINUX
This should be picked up in etc/globus-jobmanager-condor.conf, but it isn't for some reason.
I also wrote a little script that, depending on how you call it, info-search or info-host-search, will either poll a host's GIIS or GRIS server. Maybe you'll find it useful.
If you encounter any problems or inaccuracies with this documentation, please let me know.