Working with NIM machine groups

Machine groups are used to represent collections of machines of similar types. The machine types in a group must all be the same (for example, standalone, diskless, or dataless) and of the same architecture, because some NIM operations are restricted to certain target types.

The first member added to a group determines the architecture and type of machine the group can contain. By having multiple machines defined as members of a single group, you can perform a single operation on all machines by specifying the group as the target. NIM iterates through the list of machines in the group, and performs the operation on each member, in turn.

Group members can be excluded from NIM group operations by marking them for exclusion before performing the operation. Excluding a member marks the member list in the group representation, so NIM skips the member when it iterates through the list. Excluding a member does not change the definition of the client in the NIM database. For information on marking group members for inclusion and exclusion, see Including and excluding group members from operations on the group.

Machines can be added or removed from groups, as well as be members of multiple groups. When all members of a group are removed, the group definition in the NIM database is automatically deleted. For information on adding and removing group members, see Adding new members to machine groups and Removing members from machine groups.

The command line syntax for defining a machine group is:
nim -o define -t mac_group -a Attribute=Value ... MachineGroupName

where the following attributes are optional:

Item Description
add_member=Value Specifies the name of a NIM client to add to the machine group. NIM automatically converts this attribute to a member attribute with an appropriate sequence number.
member=Value Specifies the name of a NIM client to add to the machine group. This attribute requires a sequence number.

Operations performed on machine groups are, by default, performed asynchronously on the non-excluded members of the group. NIM does not wait for an operation to complete on one group member before initiating the operation on the next member. When performing operations asynchronously, it is not possible for NIM to display all the output as it occurs on each client. Therefore, you should use the lsnim command to check the states of the group members to determine how far, and how successfully, the operations have executed. If errors do occur, the log files on client machines can be viewed using the NIM showlog operation.

To change the behavior of NIM group operations from asynchronous to synchronous, use the async=no attribute when running the nim command.

The number of machines permitted in a machine group is not explicitly limited by NIM. However, the following factors limit the number for practical reasons:
Item Description
Operation being Performed Operations that are not resource-intensive (such as the maint or showlog operations) may be performed on a group containing any number of machines. Operations that are resource-intensive (such as cust or bos_inst) are limited by the throughput of the network, the disk access throughput of the installation servers, and the platform type of servers.
NFS Export Limitations The maximum number of hosts to which a file or directory may be exported with root permissions is limited by NFS to 256. Also, the length of a line in an exports file has an upper limit which could determine the maximum number of machines permitted in a group. For information on how to increase the number of machines to which a resource can be allocated, refer to Exporting NIM resources globally.