There are currently three types of machines that can be managed in the NIM environment. These are standalone, diskless, and dataless clients. This section describes the differences between the machines, the attributes required to define the machines, and the operations that can be performed on them. The NIM environment is composed of two basic machine roles: master and client. The NIM master manages the installation of the rest of the machines in the NIM environment. The master is the only machine that can remotely run NIM commands on the clients. All other machines participating in the NIM environment are clients to the master, including machines that may also serve resources.
There are unique operations to
initialize the different client configurations. NIM uses this fact to
check that the operation is a valid operation for a specific client
configuration. The following table shows the operations that can be
performed on the different client configuration types.
|NIM Operation||Machine Configuration|
For more information about NIM operations, see NIM Operations.
Standalone, diskless, and dataless clients are defined in the NIM environment using the NIM define operation. The command line syntax is as follows:
nim -o define -t MachineType -a Attribute=Value ... MachineName
where the following attributes
|-t MachineType||Specifies the type of machine being defined. Valid values are standalone, diskless, and dataless.|
|-a if=Value ...||Stores network interface information for a NIM client, and requires a
sequence number when specified. The value for this attribute consists
of three required values and a fourth, optional value:
The following attributes are
|-a ring_speed=Value||Specifies the ring speed of the client's token-ring adapter. This value is required if the client's NIM network is token-ring. This attribute requires a sequence number for NIM to distinguish between ring speeds for multiple interfaces on the machine.|
|-a cable_type=Value||Specifies the cable type of the client's ethernet adapter. This value is required if the client's NIM network is ethernet. This attribute requires a sequence number for NIM to distinguish between cable types for multiple interfaces on the machine.|
|-a platform=Value||Specifies the platform of the machine being defined. The default value is platform=rs6k. Other examples are rspc and chrp. Run the bootinfo -p command on a running machine to determine its platform.|
|-a netboot_kernel=Value||Specifies the kernel type of the client. Valid values are up for uniprocessor machines and mp for multiprocessor machines. The default value is netboot_kernel=up.|
|-a iplrom_emu=Value||Specifies the device that contains the IPL ROM emulation software. IPL ROM emulation is required for machines that do not have bootp-enabled IPL ROM.|
|-a net_definition=Value ...||Defines a NIM network to be associated with the client being
defined. The value for this attribute consists of two required values
and three optional values:
When specifying the net_definition attribute to create or change a machine definition, the find_net keyword must be specified as the first component of the if attribute for the machine. The net_definition attribute may also be specified when defining additional NIM interfaces (if attributes) for machine definitions.
|-a cpuid=Value||Specifies the CPU ID of the machine being defined. This attribute can be used for client verification during NIM operations. To display the CPU ID on a running machine, use the uname -m command. This field is optional and will be automatically set the first time a client communicates with the NIM master.|
|-a master_port=Value||Specifies the port number used by the NIM master for socket communication with the clients. The default master port number is 1058.|
|-a registration_port=Value||Specifies the port number used by clients to register themselves with the NIM master. The default registration port number is 1059.|
|-a group=Value||Specifies a machine group to which the client should be added. The group will be defined if it does not exist.|
|-a comments=Value||Provides comments about the client being defined.|
|-a verbose=Value||Displays information for debugging. Use verbose=5 to show maximum detail.|
Standalone NIM clients are clients with the capability of booting and running from local resources. Standalone clients mount all file systems from local disks and have a local boot image. Standalone clients are not dependent upon network servers for operation.
Although an installed standalone client is capable of booting from the local disk, it may be necessary to perform a network boot of the client for certain NIM operations. Clients must boot over the network in order for NIM to perform a BOS installation (bos_inst) of the client or to boot into maintenance mode (maint_boot) and diagnostics (diag). For instructions on booting a client over the network, see Booting a Machine Over the Network .
The AIX Base Operating System can be installed directly on standalone clients using the NIM bos_inst operation. Additional software and updates can be installed and managed on standalone clients using the NIM cust and maint operations. See NIM Operations for more information about these and other operations.
Diskless and dataless clients are machines that are not capable of booting and running without the assistance of servers on a network. As their names imply, diskless clients have no hard disk, and dataless clients have disks that are unable to hold all the data that may be required for operation. Diskless machines must mount paging space and all file systems from remote servers. Dataless machines can only use a local disk for paging space and the /tmp and /home file systems. Neither diskless nor dataless clients have a local boot image, and they must boot from servers on the network.
Diskless/dataless clients and resources are not supported for platforms of type Itanium-based.
The reasons for defining a machine as diskless or dataless are:
No hard disk is required for diskless clients. Only a small hard disk is needed for dataless clients.
On diskless and dataless clients, the file system containing the Base Operating System is mounted from a server. All client systems that mount the same file system for BOS run from identical software.
User data for diskless and dataless clients are stored on remote servers. A system administrator can manage storage allocation and data backups for the client machines by managing the data on the server, rather than on each machine separately.
The file systems that are mounted by the diskless and dataless client machines are treated as resources in the NIM environment. Like other resources, they exist on a server in the NIM environment, and they are NFS-exported to the clients that use them.
The following resources are managed by NIM to support diskless and dataless clients:
|boot||Defined as a network boot image for NIM clients. The boot resource is managed automatically by NIM and is never explicitly allocated or deallocated by users.|
|SPOT||Defined as a directory structure that contains the AIX run-time files
common to all machines. These files are referred to as the
usr parts of the fileset. The SPOT resource is
mounted as the /usr file system on diskless and dataless
Contains the root parts of filesets. The root part of a fileset is the set of files that may be used to configure the software for a particular machine. These root files are stored in special directories in the SPOT, and they are used to populate the root directories of diskless and dataless clients during initialization.
|root||Defined as a parent directory for client "/" (root)
directories. The client root directory in the root resource
is mounted as the "/" (root) file system on the
When the resources for a client are initialized, the client root directory is populated with configuration files. These configuration files are copied from the SPOT resource that has been allocated to the same machine.
|dump||Defined as a parent directory for client dump files. The client
dump file in the dump resource is mounted as the dump device for
|paging||Defined as a parent directory for client paging files. The client
paging file in the paging resource is mounted as the paging device
for the client.
|home||Defined as a parent directory for client /home
directories. The client directory in the home resource is
mounted as the /home file system on the client.
|shared_home||Defined as a /home directory shared by clients. All
clients that use a shared_home resource will mount the same
directory as the /home file system.
|tmp||Defined as a parent directory for client /tmp
directories. The client directory in the tmp resource is
mounted as the /tmp file system on the client.
|resolv_conf||Contains nameserver IP addresses and a network domain name.
Unlike the other resources used by diskless/dataless clients, the resolv_conf resource does not remain mounted by the client. Instead, it is copied to the /etc/resolv.conf file in the client's root directory.
A resolv_conf resource is optional for both diskless and dataless clients.
Diskless and dataless clients are
not installed in the same way as standalone machines. Instead, they are
initialized. Initialization of diskless and dataless clients involves
several phases of operation:
|Resource Allocation||The resources required to support a diskless/dataless client must be
allocated to the client before or during the initialization operation.
If the resource is a parent directory of client directories, the allocation will create an empty subdirectory for the client. The client subdirectory is then NFS-exported to the client. The client subdirectories are not populated until the initialization is actually performed.
|Client Initialization||The dkls_init and dtls_init operations are used in
NIM to initialize the resources for client use.
|Network Boot of the Client||The client machine is booted over the network using standard
bootp procedures for the machine type. The client obtains
the boot image and begins running a mini-kernel in a file system in
The client tftp's the Client.info file from the /tftpboot directory on the SPOT server. The information in the Client.info file is used to properly configure the client as a diskless or dataless machine.
If the client is a dataless client, and no paging, tmp, home, or shared_home resource is allocated, then the client will create the missing file system on the local hard disk.
The /usr and root file systems of diskless and dataless clients are resources that have been mounted from a server. Therefore, in order to install or deinstall software on a diskless/dataless client, the processing must actually occur on the resources that the clients use.
The SPOT contains the directory structure for an installed /usr file system. It also contains subdirectories for the "root" parts of installed filesets. Since the SPOT contains both usr and root files, software maintenance must be performed on the SPOT in order to update the software that is running on the clients. Such actions must be performed using the NIM cust and maint operations. See NIM Operations for more information about the cust and maint operations.
If the SPOT is currently allocated for client use, NIM will prevent software customization operations from being performed on it. This is to safeguard the SPOT from changes that may adversely affect running client machines. However, this restriction can be overridden by specifying the force option when performing the operation.
When NIM is used to install software in a SPOT, the following operations are performed to manage the software for diskless and dataless clients:
When NIM is used to deinstall software in a SPOT, the following operations are performed to manage the software for diskless and dataless clients:
NIM also provides a sync_roots operation to perform consistency verification and correction to ensure the client root directories match the root parts stored in the SPOT.