This chapter describes how to manage diskless clients in the Solaris environment.
For information on the procedures associated with managing diskless clients, see Managing Diskless Clients (Task Map).
For overview information on managing diskless clients, see Chapter 7, Managing Server and Client Support (Overview).
For information about managing clients with Solstice AdminSuiteTM software, see Solstice AdminSuite 2.3 Administration Guide.
The following table identifies the procedures needed to manage diskless clients.
Task |
Description |
For Instructions |
---|---|---|
1. (Optional) Remove existing diskless client support |
If you have existing diskless clients that were added with the Solstice AdminSuite product, remove the diskless client support and OS services with the admhostdel and admhostmod commands before installing the Solaris 9 release. |
Solstice AdminSuite 2.3 Administration Guide |
3. (Optional) Enable Solaris Management Console logging to view diskless client error messages |
Choose Log Viewer from the console main window to view diskless client error messages. | |
4. Prepare for adding a diskless client |
Verify supported releases and identify the platform, mediapath, and cluster (or software group) of each diskless client. | |
5. Add required OS services to an OS server |
Add the OS services for the diskless clients you want to support with the smosservice command. You must identify the platform, media path, and each diskless client platform that you want to support. | |
6. Add a diskless client |
Add diskless client support by specifying all required information with the smdiskless command. | |
7. Boot the diskless client |
Verify that the diskless client support is successfully added by booting the diskless client. | |
8. (Optional) Delete diskless client support |
Delete support for a diskless client if it is no longer required. | |
9. (Optional) Delete OS services for a diskless client |
Delete OS services for a diskless client if they are no longer needed. | |
10. (Optional) Patch OS services |
Add, delete, list, or synchronize patches for diskless client OS services. |
These sections describe the procedures needed to manage diskless clients.
Keep the following key points in mind when managing diskless clients:
The Solaris installation program doesn't prompt you to set up diskless client support. You must manually create an /export partition to support diskless clients. You create the /export partition during or after the installation process.
The /export partition must contains a minimum of 800–1000 Mbytes, depending upon the number of clients supported. For specific information, see Disk Space Requirements for OS Servers.
The name service identified in the smosservice or smdiskless commands must match the primary name service identified in the /etc/nsswitch.conf file. If you don't specify a name service in the smdiskless or smosservice commands, the default name service is files.
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
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 file system.
Make sure that the system intended to be the OS service is running a supported release. Also verify that the combination of OS server release and diskless client release is supported.
When you use the smosservice add command to add OS services, you must specify the platform, mediapath, and cluster (or software group) of each diskless client platform that you want to support.
Verify that the intended OS server and diskless client will be running a combination of Solaris releases that are supported.
For more information, see OS Server and Diskless Client Support Information.
Identify the diskless client platform by using this format:
instruction_set.machine_class.Solaris_version
For example:
sparc.sun4u.Solaris_9
The following are the possible platform options:
instruction_set |
machine_class |
Solaris_version |
---|---|---|
sparc |
sun4d*, sun4c*, sun4m, sun4u, |
Solaris_9, Solaris_8, Solaris_2.7, Solaris_2.6 |
i386 |
i86pc |
Solaris_9, Solaris_8, Solaris_2.7, Solaris_2.6 |
* The sun4c architecture is not supported in the Solaris 8 and Solaris 9 releases. The sun4d architecture is not supported in the Solaris 9 release.
Identify the media path, which is the full path to the disk image that contains the operating system that you want to install for the diskless client.
The Solaris 9 operating environment is delivered on multiple CDs. However, you cannot use the smosservice command to load OS services from a multiple CD distribution. You must run the scripts that are found on the Solaris 9 software CDs (and optional Language CD) to do the following:
Create an install image on a server. For information on setting up an install server, refer to Solaris 9 Installation Guide.
Load the required OS services from the CD image using one of the following scripts:
CD 1 of 2 – /cdrom/cdrom0/s0/Solaris_9/Tools/setup_install_server
CD 2 of 2 – /cdrom/cdrom0/s0/Solaris_9/Tools/add_to_install_server
Language CD – /cdrom/cdrom0/s0/Solaris_9/Tools/add_to_install_server
For example, if you are using the setup_install_server script from the Solaris 9 Software 1 of 2 SPARC Platform Edition CD on a locally connected CD-ROM device, the syntax looks something like this:
# mkdir /export/install/sparc_9 # cd /cd_mount_point/Solaris_9/Tools # ./setup_install_server /export/install/sparc_9 |
After the Solaris CD image is installed on the disk, specify the disk image path. For example:
/net/export/install/sparc_9 |
Identify the SUNWCXall cluster when you add OS services.
You must use the same cluster for diskless clients that run the same operating environment on the same system (SPARC or IA).
For example, consider the following diskless clients:
sparc.sun4m.Solaris_9
sparc.sun4u.Solaris_9
To set up these diskless clients, you would need to specify the SUNWCXall cluster for each diskless client because the sun4u and sun4m systems require the SUNWCXall cluster. In addition, diskless clients that run the same operating environment (in this situation, Solaris_9) on the same system must use the same cluster.
If you are using a sun4u system, or if you are using a system with an accelerated 8-bit color memory frame buffer (cgsix), you must specify SUNWCXall as the cluster.
Use this procedure to add OS services for a diskless client on the server.
Become superuser or assume an equivalent role on the server.
For more information, see How to Become Superuser (root) or Assume a Role.
Verify that the Solaris Management Console server is running and that the diskless client tools are available on the system.
# /usr/sadm/bin/smosservice list -H starbug:898 -- Loading Tool: com.sun.admin.osservermgr.cli.OsServerMgrCli from starbug:898 Login to starbug as user root was successful. Download of com.sun.admin.osservermgr.cli.OsServerMgrCli from starbug:898 was successful. Platform -------------------------------------------------------------------------- |
# /usr/sadm/bin/smosservice add -H hostname:898 -- -o hostname -x mediapath=path -x platform=instruction-set.machine-class.Solaris-version -x cluster=cluster-name -x locale=locale-name |
add |
Adds the specified OS service. |
-H hostname:898 |
Specifies the host name and port to which you want to connect. If you do not specify a port, the system connects to the default port, 898. |
-- |
Identifies that the subcommand arguments start after this point. |
-x mediapath=path |
Specifies the full path to the Solaris image. |
-x platform=instruction-set.machine-class.Solaris-version |
Specifies the instruction architecture, machine class, and the Solaris version to be added. |
-x cluster=cluster-name |
Specifies the Solaris cluster to install. |
-x locale=locale-name |
Specifies the locale to install. |
The installation process can take approximately 45 minutes, depending on the server speed and the OS service configuration you choose.
For more information, see smosservice(1M).
(Optional) Continue to add the other OS services.
When you are finished adding OS services, verify that the OS services were installed.
# /usr/sadm/bin/smosservice list -H hostname:898 -- |
This example describes how to add Solaris 8 OS services on the server starbug. The server starbug is running the Solaris 9 release.
# /usr/sadm/bin/smosservice add -H starbug:898 -- -o starbug -x mediapath=/net/install/export/sparc_8 -x platform=sparc.sun4u.Solaris_8 -x cluster=SUNWCXall -x locale=en_US Authenticating as user: root Type /? for help, pressing enter accepts the default denoted by [ ] Please enter a string value for: password :: xxx Loading Tool: com.sun.admin.osservermgr.cli.OsServerMgrCli from starbug:898 Login to starbug as user root was successful. Download of com.sun.admin.osservermgr.cli.OsServerMgrCli from starbug:898 was successful. |
Use this procedure to add a diskless client after you have added OS services.
Become superuser or assume an equivalent role.
For more information, see How to Become Superuser (root) or Assume a Role.
Add the diskless client.
# /usr/sadm/bin/smdiskless add -- -i ip-address -e ethernet-address -n client-name -x os=instruction-set.machine-class.Solaris-version -x root=/export/root/client-name -x swap=/export/swap/client-name -x swapsize=size -x tz=timezone -x locale=locale-name |
add |
Adds the specified diskless client. |
-- |
Identifies that the subcommand arguments start after this pont. |
-i ip-address |
Identifies the IP address of the diskless client. |
-e ethernet-address |
Identifies the Ethernet address of the diskless client. |
-n client-name |
Specifies the name of the diskless client. |
-x os=instruction-set.machine-class.Solaris-version |
Specifies the instruction architecture, machine class, OS, and the Solaris version for the diskless client. |
-x root=root=/export/root/client-name |
Identifies the root directory for the diskless client. |
-x swap=root=/export/root/client-name |
Identifies the swap file for the diskless client. |
-x swapsize=size |
Specifies the size of the swap file in Mbytes. The default is 24 Mbytes. |
-x tz=timezone |
Specifies the timezone for the diskless client. |
-x locale=locale-name |
Specifies the locale to install for the diskless client. |
For more information, see smdiskless(1M).
(Optional) Continue to use the smdiskless add command to add each diskless client.
Verify that the diskless clients were installed.
# /usr/sadm/bin/smosservice list -H hostname:898 -- |
This example shows how to add a Solaris 8 client, earth, from the server starbug.
# /usr/sadm/bin/smdiskless add -- -i 172.20.27.27 -e 8:0:20:1f:33:9e -n earth -x os=sparc.sun4m.Solaris_8 -x root=/export/root/earth -x swap=/export/swap/earth -x swapsize=64 -x tz=US/Mountain -x locale=en_US |
This example shows how to add a Solaris 7 client, earth2, from the server starbug.
# /usr/sadm/bin/smdiskless add -- -i 172.20.27.26 -e 8:0:20:1f:32:be -n earth2 -x os=sparc.sun4m.Solaris_2.7 -x root=/export/root/earth2 -x swap=/export/swap/earth2 -x swapsize=64 -x tz=US/Mountain |
Verify the following prerequisites on the OS server:
Confirm that the name service used to add the diskless client and the OS services matches the primary name in the server's /etc/nsswitch.conf file.
Otherwise, the diskless client won't boot.
Confirm that the rpc.bootparamd daemon is running. If it is not running, start it.
Boot the diskless client.
ok boot net |
Become superuser or assume an equivalent role.
For more information, see How to Become Superuser (root) or Assume a Role.
Remove the diskless client support.
# /usr/sadm/bin/smdiskless delete -- -o hostname:898 -n client-name |
Verify that the diskless client support is removed.
# /usr/sadm/bin/smosservice list -H hostname:898 -- |
This example shows how to delete the diskless client earth from the OS server starbug.
# /usr/sadm/bin/smdiskless delete -- -o starbug -n earth Authenticating as user: root Type /? for help, pressing enter accepts the default denoted by [ ] Please enter a string value for: password :: Starting SMC server version 2.0.0. endpoint created: :898 SMC server is ready. Loading Tool: com.sun.admin.osservermgr.cli.OsServerMgrCli from starbug Login to starbug as user root was successful. Download of com.sun.admin.osservermgr.cli.OsServerMgrCli from starbug was successful. |
Become superuser or assume an equivalent role.
For more information, see How to Become Superuser (root) or Assume a Role.
Remove the OS services for the diskless clients.
# /usr/sadm/bin/smosservice delete -H hostname:898 -- -x rmplatform=instruction-set.machine-class.Solaris-version |
Verify that the OS services are removed.
# /usr/sadm/bin/smosservice list -H hostname:898 -- |
The following example shows how to delete the diskless client OS services (sparc.all.Solaris_9) from the server starbug.
# /usr/sadm/bin/smosservice delete -H starbug:898 -- -x rmplatform=sparc.all.Solaris_9 Authenticating as user: root Type /? for help, pressing enter accepts the default denoted by [ ] Please enter a string value for: password :: Loading Tool: com.sun.admin.osservermgr.cli.OsServerMgrCli from starbug:898 Login to starbug as user root was successful. Download of com.sun.admin.osservermgr.cli.OsServerMgrCli from starbug:898 was successful. |
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 you are adding 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.
For information on downloading patches, see How to Download an Unsigned Solaris Patch.
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, type the following command on the diskless client:
% patchadd –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 display /usr patches, type the following command on the OS server:
% patchadd -S Solaris_8 -p Patch: 111879-01 Obsoletes: Requires: Incompatibles: Packages: SUNWwsr |
To list all spooled patches by OS and architecture, use the smosservice command with the -P option.
Become superuser or assume an equivalent role on the server.
For more information, see How to Become Superuser (root) or Assume a Role.
Log in to the diskless client system and shut it down.
# init 0 |
Add the patch to a spool directory.
# /usr/sadm/bin/smosservice patch -- -a /var/patches/patch-ID-revision Authenticating as user: root Type /? for help, pressing <enter> accepts the default denoted by [ ] Please enter a string value for: password :: Loading Tool: com.sun.admin.osservermgr.cli.OsServerMgrCli from starbug Login to starbug as user root was successful. Download of com.sun.admin.osservermgr.cli.OsServerMgrCli from starbug was successful. |
If the patch to add depends on another patch, adding the patch fails with the following message:
The patch patch-ID-revision could not be added because it is dependent on other patches which have not yet been spooled. You must add all required patches to the spool first. |
Verify the patch is spooled.
# /usr/sadm/bin/smosservice patch -- -P |
Push the spooled patch to the diskless client.
# /usr/sadm/bin/smosservice patch -- -m -U Authenticating as user: root Type /? for help, pressing <enter> accepts the default denoted by [ ] Please enter a string value for: password :: Loading Tool: com.sun.admin.osservermgr.cli.OsServerMgrCli from starbug Login to starbug as user root was successful. Download of com.sun.admin.osservermgr.cli.OsServerMgrCli from starbug was successful. |
Pushing and synchronizing the patch to the diskless client can take up to 90 minutes per patch.
Verify the patch is applied to the diskless client.
# /usr/sadm/bin/smosservice patch -- -P Authenticating as user: root Type /? for help, pressing <enter> accepts the default denoted by [ ] Please enter a string value for: password :: Loading Tool: com.sun.admin.osservermgr.cli.OsServerMgrCli from starbug Login to starbug as user root was successful. Download of com.sun.admin.osservermgr.cli.OsServerMgrCli from starbug was successful. Patches In Spool Area Os Rel Arch Patch Id Synopsis ------------------------------------------------------------------------- 8 sparc 111879-01 SunOS 5.8: Solaris Product Registry patch SUNWwsr Patches Applied To OS Services Os Service Patch ------------------------------------------------------------------------- Solaris_8 Patches Applied To Clone Areas Clone Area Patch ------------------------------------------------------------------------- Solaris_8/sun4m |
This example shows how to add a Solaris 8 patch (111879-01) to the diskless client's OS services on the server.
# /usr/sadm/bin/smosservice patch -- -a /var/patches/111879-01 Authenticating as user: root . . . # /usr/sadm/bin/smosservice patch -- -P Patches In Spool Area Os Rel Arch Patch Id Synopsis ---------------------------------------------------------------------------- 8 sparc 111879-01 SunOS 5.8: Solaris Product Registry patch SUNWwsr . . . # /usr/sadm/bin/smosservice patch -- -m -U Authenticating as user: root . . . # /usr/sadm/bin/smosservice patch -- -P Authenticating as user: root . . . Patches In Spool Area Os Rel Arch Patch Id Synopsis ---------------------------------------------------------------------------- 8 sparc 111879-01 SunOS 5.8: Solaris Product Registry patch SUNWwsr Patches Applied To OS Services Os Service Patch ---------------------------------------------------------------------------- Solaris_8 Patches Applied To Clone Areas Clone Area Patch ---------------------------------------------------------------------------- Solaris_8/sun4m |
This section lists some common problems with diskless clients 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 the /etc/nsswitch.conf file on the OS server.
Verify that the client's IP address appears in the /etc/inet/hosts file.
Verify that the client's Ethernet address appears in the /etc/ethers file.
Verify that the /etc/bootparams file contains the following paths to the client's root and swap areas:
client root=os-server:/export/root/client swap=os-server: /export/swap/client |
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/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 the /export/root/client/etc/inet/hosts file.
Verify that both the OS server's and the client's Ethernet address and IP address are correctly mapped.
Verify that the /etc/bootparams file contains the paths to the client's root and swap areas, as follows:
client root=os-server:/export/ root/client swap=os-server:/export/ swap/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/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 system from one network to another, you might have forgotten to remap the system'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 systems 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 the /etc/dfs/dfstab file:
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,root=client /export/root/client share -F nfs -o rw=client,root=client /export/swap/client share -F nfs -o rw=client,root=client /export/dump/client |
On the OS server, type the following to check which files are shared:
% share |
The OS server must share /export/root/client 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 entries exists in the /etc/dfs/dfstab file:
share -F nfs -o ro /export/exec/Solaris_version_instruction_set.all/usr share -F nfs -o rw=client,root=client /export/root/client share -F nfs -o rw=client,root=client /export/swap/client |
OS server is not responding to diskless client's RARP request
From the client's intended OS server, run the snoop command 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 the snoop command, verify that the intended OS server is answering the client's TFTP and NFS requests.