[ Previous | Next | Contents | Glossary | Home | Search ]
AIX Version 4.3 Network Installation Management Guide and Reference

NIM Machines

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.

NIM Operations on Client Machines

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
Standalone Diskless Dataless
bos_inst x    
dkls_init   x  
dtls_init     x
diag x x x
cust x    
fix_query x    
lppchk x    
maint x    
maint_boot x    
reset x x x
check x x x
showlog x x x
reboot x x x

For more information about NIM operations, see "NIM Operations".

Defining NIM Clients

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 are required:

-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:
Value 1 Specifies the name of the NIM network to which this interface connects. If the name of the NIM network is unknown, then the find_net keyword can be used to match the client's IP address to a defined NIM network. If the find_net keyword is used, but NIM does not find a matching network, the optional net_definition attribute should be used to define the network, as well.
Value 2 Specifies the host name associated with this interface.
Value 3 Specifies the network adapter hardware address of this interface. A value of 0 can be specified unless broadcasting is used for network boot of the client.
Value 4 Specifies the logical device name of the network adapter used for this interface. If this value is not specified, NIM uses a default based on the type of network interface defined. This field is required when the client is defined on a heterogeneous network.

This attribute requires a sequence number for NIM to distinguish between multiple network interfaces. Because machines can be multihomed, NIM allows more than one if attribute per machine.

The following attributes are optional:

-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:
Value 1 = NetworkType (required) Specified values are tok, ent, fddi, and generic.
Value 2 = SubnetMask (required) Specifies the dotted decimal mask for the network.
Value 3 = ClientGateway (optional) Specifies the IP address or host name of the default gateway used by the machine being defined to communicate with the NIM master.
Value 4 = MasterGateway (optional) Specifies the IP address or host name of the default gateway used by the NIM master to communicate with clients on other subnets.
Value 5 = NetworkName (optional) Specifies a name to be given to the NIM definition created for the network. (Otherwise, a unique default value is assigned.)

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 Clients

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.

Network Booting a Standalone Client

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".

Managing Software on Standalone Clients

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

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.

The reasons for defining a machine as diskless or dataless are:

Required and Optional Resources for Diskless and Dataless Clients

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 clients.

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.

The network boot images used to boot clients are constructed from software installed in the SPOT.

A SPOT resource is required for both diskless and dataless clients.

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 client.

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.

A root resource is required for both diskless and dataless clients.

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 the client.

A dump resource is required for both diskless and dataless clients.

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.

A paging resource is required for diskless clients and optional for dataless clients.

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.

A home resource is optional for both diskless and dataless clients.

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.

A shared_home resource is optional for both diskless and dataless clients.

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.

A tmp resource is optional for both diskless and dataless clients.

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.

Initialization of 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.

Among the operations performed during client initialization are the following:

  • The boot image is made available to the client for performing a network boot.
  • The root files, which are used for machine-specific customization, are copied into the client's subdirectory in the root resource. The files that are copied into the client root directories come from the SPOT resource that has been allocated to the client.
  • The /tftpboot/Client.info file is created on the boot server (which is the SPOT server). This file contains information that will be needed by the client during the start-up configuration processing to successfully configure as a diskless or dataless client.

    The following are some of the variables defined in the Client.info file:

    export NIM_CONFIGURATION=diskless
    export RC_CONFIG=rc.dd_boot
    export ROOT=Host:Client_Root_Directory
    export DUMP=Host:Client_Dump_Directory
    export SPOT=Host:SPOT_Location
    The paging location is set in the client's root directory in the /etc/swapspaces file.
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 RAM.

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.

The remote file systems are mounted from the resource servers.

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(s) on the local hard disk.

Managing Software on Diskless and Dataless Clients

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:

  1. The /usr files are installed in the SPOT. These files are automatically seen by all the clients that mount the SPOT as their /usr file systems.
  2. The root files are installed in special subdirectories in the SPOT.
  3. After all the filesets have been installed in the SPOT, the root files are copied to the root directories of any diskless or dataless clients that have been initialized with the SPOT.

When NIM is used to deinstall software in a SPOT, the following operations are performed to manage the software for diskless and dataless clients:

  1. The /usr files are removed from the SPOT. This automatically "removes" the files from the client systems as well.
  2. The root files of the software are removed from the client root directories.

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.


[ Previous | Next | Contents | Glossary | Home | Search ]