/etc/beowulf/conf.d/nsswitch.conf -- NSS config file for compute nodes


The Linux Name Service Switch (NSS) is configured by the /etc/nsswitch.conf file, which describes what sources the Name Service uses to resolve queries for each database category. For example, simple nsswitch.conf entries are:

passwd: files
group:  files
hosts:  files dns

A query for a user password uses the passwd database, which informs the Name Service to search the file /etc/passwd. A query for a group name uses the group database, searching /etc/group. A query for a host name uses the hosts database, first searching /etc/hosts, and then if that fails to find the name, then using /lib64/ to query the DNS server.

The Scyld ClusterWare beonss package enhances the Name Service to provide consistent naming across the cluster.

Installing the beonss package modifies the master's /etc/nsswitch.conf, adding "beo" and "bproc" sources to various database categories. For example, for the hosts database, the "beo" source uses functionality in /lib64/, interpreting the /etc/beowulf/config file's nodename and iprange values to translate the node name "n32" into that node's IP address, and the "bproc" source uses /lib64/ to translate the node name ".32" into the same IP address result.

/etc/beowulf/conf.d/nsswitch.conf is copied to each booting compute node and installed there as /etc/nsswitch.conf. A file with a numeric suffix, e.g., /etc/beowulf/conf.d/nsswitch.conf.32, specifies an alternative node-specific file, in this case copied to node n32 at boot time.

The /etc/nsswitch.conf on compute nodes understands the same "bproc" source, plus an additional "kickback" source for various database categories, using functionality in /lib64/ to further query the master node for name resolution, assuming that the /etc/beowulf/init.d/03kickbackproxyd is enabled on the master node.

For example, suppose the compute node's nsswitch.conf includes:

passwd: files kickback
group:  files kickback
hosts:  files bproc kickback

The addition of a new user and group on the master node amends the master's /etc/passwd and /etc/group files, although that does not affect those files on the already-booted compute nodes. When a compute node client subsequently asks for that new user name's password, the compute node's Name Service fails when searching the passwd "files" source, then the "kickback" functionality queries the master node for the name, which successfully replies with the new user's password information.

See Also

nss(5), nsswitch.conf(5), services(5), beowulf-config(5), getent(1), getpwent(3), gethostbyname(3), getservent(3), getnetent(3)