Diskless Client Management is new in the Solaris 8 1/01 release and updates the Solstice AdminSuiteTM 2.3 Diskless Client tool.
For the most current man pages, use the man command. The Solaris 8 Update release man pages include new feature information not found in the Solaris 8 Reference Manual Collection.
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:
SPARC architecture or IA OS servers that run the Solaris 8 1/01 or compatible operating environment.
SPARC architecture diskless clients that run either the Solaris 8 1/01, Solaris 2.7, or Solaris 2.6 operating environments from their OS server.
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.
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:
Usage statements – To display a usage statement, use the -h option after you type the command, subcommand, and required options. For example, to display the usage statement for smdiskless add:
%/usr/sadm/bin/smdiskless add -p my_password -u my_user_name -- -h |
Man pages – To view a man page, type man and the command name. For example, to display the man page for smdiskless:
%man smdiskless |
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 |
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 |
5 |
/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 |
Choose where to start.
Remove the existing diskless clients by using the admhostdel command.
Remove the existing OS services by using the admhostmod command.
Upgrade the machine(s) designated as the OS server(s) to the Solaris 8 1/01 or compatible operating environment.
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.
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.
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:
Platform – You designate the diskless client platform in the format of instruction_set.machine_class.Solaris_os_version. For example, sparc.sun4u.Solaris_8. The following are the possible platform options:
instruction_set |
machine_class |
Solaris_os_version |
---|---|---|
sparc |
sun4usun4msun4csun4d |
Solaris_8Solaris_2.7Solaris_2.6 |
i386 |
i86pc |
Solaris_8Solaris_2.7Solaris_2.6 |
Media path – The full path to the CD–ROM or network image that contains the operating system that you want to install for the diskless client. For example, /net/install_files.
If you are loading OS services from the Solaris 8 software CDs, the Solaris 8 operating environment is delivered on multiple CDs. However, the Diskless Client Management software does not support this multiple CD distribution. You must run the scripts that are found on the Solaris 8 software CDs (and optional Language CD) to:
Create an install image on a server. For information on setting up an install server, refer to the Solaris 8 Advanced Installation Guide.
Load the required OS services from the image.
CD 1 of 2 – /cdrom/cdrom0/s0/Solaris_8/Tools/setup_install_server
CD 2 of 2 – /cdrom/cdrom0/s0/Solaris_8/Tools/add_to_install_server
Language CD – /cdrom/cdrom0/s0/Solaris_8/Tools/add_to_install_server
Cluster – Depending on the configuration of the diskless client, you can specify one of four clusters that contain the Diskless Client functionality: SUNWCXall, SUNWCall, SUNWCprog, or SUNWCuser. You must use the same cluster for diskless clients that run the same operating environment on the same machine (SPARC or IA).
For example, to set up the following diskless clients:
sparc.sun4m.Solaris_8
sparc.sun4u.Solaris_8
sparc.sun4d.Solaris_8
If you are using a sun4u machine, or if you are using a machine with an accelerated 8-bit color memory frame buffer (cgsix), you must specify SUNWCXall as the cluster.
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
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.
Continue to use the smosservice add command to add other OS services.
When you are finished adding OS services, use the smosservice list command to verify that the OS services were installed.
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)
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.
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.
Continue to use the smdiskless add command to add each diskless client.
When you are finished adding diskless clients, use the smdiskless list command to verify that the diskless clients were installed.
You use the smosservice patch command to do the following:
Establish the /export/diskless/Patches patch spool directory on an OS server.
Add patches to the patch spool directory. If the patch being added obsoletes an existing patch in the spool, the obsolete patch is moved to /export/diskless/Patches/Archive.
Delete patches from the patch spool directory.
List the patches in the patch spool directory.
Synchronize spooled patches out to clients. You must reboot each synchronized client for the client to recognize the patch update.
Keep your OS servers up to date by installing recommended OS patches on a timely basis.
Diskless client patches are logged in different directories, depending on the type of patch:
Kernel patches are logged in the diskless client's /var/sadm/patch directory. To display kernel patches from the diskless client, type:
% showrev –p |
/usr patches are logged in the OS server's /export/Solaris_version/var/patch directory. A directory is created for each patch ID. To list the patches, change to this directory and type:
% ls -l |
To list all spooled patches by OS and architecture, use the smosservice command with the -P option.
This section lists some common problems with Diskless Client Management and possible solutions.
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
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.
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.
Diskless client panics
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 |
OS server is not responding to diskless client's RARP request
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 |
Boot program downloads, but panics early in the process
Using snoop, verify that the intended OS server is answering the client's TFTP and NFS requests.