Solaris 8 System Administration Supplement

Managing Diskless Clients Overview

Diskless Client Management updates the Solstice AdminSuiteTM 2.3 Diskless Client tool. The AdminSuite 2.3 Diskless Client tool is GUI based, whereas Diskless Client Management consists solely of a command line interface.

The following are supported:

A diskless client is a workstation that depends on an OS server, or host, for its operating system, software, and storage. A diskless client mounts its root (/), /usr, and other file systems from its OS server. A diskless client has its own CPU and physical memory and can process data locally. However, a diskless client cannot operate if it is detached from its network or if its OS server malfunctions. A diskless client generates significant network traffic because of its continual need to function across the network.

Working With Diskless Client Management

You use the command line interface to work with the Diskless Client Management tool. By writing your own shell scripts and using the commands shown in Table 10–1, you can easily set up and manage your diskless client environment.

Table 10–1 Diskless Client Management Commands

Command 

Subcommand 

Task 

/usr/sadm/bin/smosservice

add

Add OS services 

 

delete

Delete OS services 

 

list

List OS services 

 

patch

Manage OS service patches 

/usr/sadm/bin/smdiskless

add

Add a diskless client to an OS server 

 

delete

Delete a diskless client from an OS server 

 

list

List the diskless clients on an OS server 

 

modify

Modify the attributes of a diskless client 

You can obtain help on these commands in two ways:

User Rights

Users can make use of either a subset or all of the Diskless Client Management commands, according to the rights to which they are assigned. Table 10–2 lists the rights that are required to use the Diskless Client Management commands.

Table 10–2 Required Rights

Right 

Command 

Task 

Basic Solaris User,Network Management 

smosservice listsmosservice patchsmdiskless list

List OS services List OS patches List diskless clients 

Network Management 

smdiskless add

Add diskless clients 

System Administrator 

All commands 

All tasks 

Disk Space Requirements

Before you set up your diskless client environment, make sure you have the required disk space available for each of the Diskless Client directories.

Table 10–3 Disk Space Requirements

Directory 

Required Space (MB) 

/export/Solaris_version

10 

/export/exec

800 

/export/share

/export/swap/diskless_client

32 (default size) 

/export/dump/diskless_client

32 (default size) 

/export/root/templates/Solaris_version

30 

/export/root/clone/Solaris_version/machine_class

30 through 60 (depends on machine class) 

/export/root/diskless_client(clone of above)

30 through 60 (depends on machine class) 

/tftpboot/inetboot.machine_class.Solaris_version

200 KB per machine_class.Solaris_version

How to Set Up Your Diskless Client Environment

  1. Choose where to start.

    • If your system currently supports diskless clients that were created with the Diskless Client tool, proceed to step 2.

    • If your system does not currently support diskless clients that were created with the Diskless Client tool, proceed to step 4.

  2. Remove the existing diskless clients by using the admhostdel command.

  3. Remove the existing OS services by using the admhostmod command.

  4. Upgrade the machine(s) designated as the OS server(s) to the Solaris 8 1/01 or compatible operating environment.

  5. To view Diskless Client error messages by using the SMC Log Viewer tool, start the SMC:


    % /usr/sadm/bin/smc &
    

    Then choose Log Viewer from the SMC main window.

  6. Add the required OS services.

  7. Add the diskless client(s).

  8. Boot each diskless client from the PROM level by using the boot net command. For more information on this command, refer to the Solaris System Administration Guide, Volume 1.

Preparing to Add OS Services

When you use the smosservice add command to add OS services, you must type the platform, mediapath, and cluster of each diskless client platform that you want to support. Therefore, you must first do some high-level work to determine the following for each diskless client:

How to Add an OS Service

After you determine the platform, media path, and cluster for each diskless client, you are ready to add OS services. The following directories are created and populated for each OS service that you add:

/export/Solaris_version/Solaris_version_instruction_set.all (symbolic link to /export/exec/Solaris_version/Solaris_version_instruction_set.all)/export/Solaris_version/export/Solaris_version/var/export/Solaris_version/opt/export/share/export/root/templates/Solaris_version/export/root/clone/export/root/clone/Solaris_version/export/root/clone/Solaris_version/machine_class

  1. Use the smosservice add command, including the required mediapath, platform, and cluster options, to add the first OS service. The installation process can require 45 minutes, depending on the server speed and the OS service configuration you choose.

  2. Continue to use the smosservice add command to add other OS services.

  3. When you are finished adding OS services, use the smosservice list command to verify that the OS services were installed.

How to Add a Diskless Client

The following default directories are created and populated on the OS server for each diskless client that you add:

/export/root/diskless_client/export/swap/diskless_client/tftpboot/diskless_client_ipaddress_in_hex/export/dump/diskless_client (if you specify the -x dump option)


Note –

You can modify the default locations of the root, /swap, and /dump directories by using the -x option. However, do not create these directories under the /export branch.


  1. Use the smdiskless add command, including the required IP address, Ethernet address (MAC address), name, and operating system options, for the first diskless client that you want to add. The operating system is in the format of instruction_set.machine_class.Solaris_os_version and is equivalent to the platform you specified when you used the smosservice command to set up OS services.

  2. Continue to use the smdiskless add command to add each diskless client.

  3. When you are finished adding diskless clients, use the smdiskless list command to verify that the diskless clients were installed.

Patching OS Services

You use the smosservice patch command to do the following:


Note –

Keep your OS servers up to date by installing recommended OS patches on a timely basis.


Displaying Patches

Diskless client patches are logged in different directories, depending on the type of patch:

To list all spooled patches by OS and architecture, use the smosservice command with the -P option.

Troubleshooting

This section lists some common problems with Diskless Client Management and possible solutions.

Problem
  • OS server does not respond to client RARP requests

  • OS server does not respond to client bootparam requests

  • OS server cannot mount diskless client root file system

Solution

In a files environment

  • Verify that files is listed as the first source for hosts, ethers, and bootparams in /etc/nsswitch.conf on the OS server.

  • Verify that the client's IP address appears in /etc/inet/hosts.

  • Verify that the client's Ethernet address appears in /etc/ethers.

  • Verify that the /etc/bootparams file contains the following paths to the client's root and swap areas:


    diskless_client root=os_server:/export/
    root/diskless_client swap=os_server:/export/
    swap/diskless_client swapsize=24

    The swap size varies depending on whether you specify the -x swapsize option when you add the diskless client. If you specify the -x dump option when you add the diskless client, the following line is present:


    dump=os_server:/export/dump/diskless_client dumpsize=24

    The dump size varies depending on whether you specify the -x dumpsize option when you add the diskless client.

  • Verify that the OS server's IP address appears in /export/root/diskless_client/etc/inet/hosts.

In a name service environment

  • Verify that both the OS server's and the client's Ethernet address and IP address are correctly mapped.

  • Verify that /etc/bootparams contains the paths to the client's root and swap areas, as follows:


    diskless_client root=os_server:/export/
    root/diskless_client swap=os_server:/export/
    swap/diskless_client swapsize=24

    The swap size varies depending on whether you specify the -x swapsize option when you add the diskless client. If you specify the -x dump option when you add the diskless client, the following line is present:


    dump=os_server:/export/dump/diskless_client dumpsize=24

    The dump size varies depending on whether you specify the -x dumpsize option when you add the diskless client.

Problem

Diskless client panics

Solution
  • Verify that the OS server's Ethernet address is correctly mapped to its IP address. If you physically moved a machine from one network to another, you might have forgotten to remap the machine's new IP address.

  • Verify that the client's host name, IP address, and Ethernet address do not exist in the database of another server on the same subnet that responds to the client's RARP, TFTP, or bootparam requests. Often, test machines are set up to install their OS from an install server. In these cases, the install server answers the client's RARP or bootparam request, returning an incorrect IP address. This incorrect address might result in the download of a boot program for the wrong architecture, or a failure to mount the client's root file system.

  • Verify that the diskless client's TFTP requests are not answered by an install server (or previous OS server) that transfers an incorrect boot program. If the boot program is of a different architecture, the client immediately panics. If the boot program loads from a non-OS server, the client might obtain its root partition from the non-OS server and its /usr partition from the OS server. In this situation, the client panics if the root and /usr partitions are of conflicting architectures or versions.

  • If you are using both an install server and an OS server, verify that the following entry exists in /etc/dfs/dfstab:


    share -F nfs -o -ro /export/exec/Solaris_version_instruction_set.all/usr
    

    Where version=2.6, 2.7, or 8, and instruction_set=sparc or i386.

  • Verify that the diskless client's root, /swap, and /dump (if specified) partitions have share entries:


    % share -F nfs -o rw=client_name,root=client_name /export/root/client_name % share -F nfs -o rw=client_name,root=client_name /export/swap/client_name % share -F nfs -o rw=client_name,root=client_name /export/dump/client_name 
    
  • On the OS server, type the following to check which files are shared:


    % share
    

    The OS server must share /export/root/client_name and /export/swap/client_name (defaults), or the root, /swap, and /dump partitions you specified when you added the diskless client.

    Verify that the following entry exists in /etc/dfs/dfstab:


    % share -F nfs -o ro /export/exec/Solaris_version_instruction_set.all/usr
    

Problem

OS server is not responding to diskless client's RARP request

Solution

From the client's intended OS server, run snoop as root by using the client's Ethernet address:


# snoop xx:xx:xx:xx:xx:xx

Problem

Boot program downloads, but panics early in the process

Solution

Using snoop, verify that the intended OS server is answering the client's TFTP and NFS requests.

Problem
  • Diskless client hangs

  • Incorrect server responds to diskless client's RARP request

Solution

Restart the following on the OS server:


% /usr/bin/rpc.bootparamd% /usr/sbin/in.rarpd -a