|
| 以 PDF 格式下载本书 (1375 KB)
Chapter 6 Managing Diskless Clients (Tasks)
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 5, Managing Server and Client Support (Overview).
For information about managing clients with Solstice AdminSuiteTM software, see Solstice AdminSuite 2.3 Administration
Guide.
Managing Diskless Clients (Task Map)
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 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.
|
Starting the Solaris Management Console
|
|
4. Prepare for adding a diskless client
|
Verify supported releases and
identify the platform, mediapath,
and cluster (or software group) of each diskless client.
|
How to Prepare for Adding Diskless Clients
|
|
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.
|
How to Add OS Services For Diskless Client Support
|
|
6. Add a diskless client
|
Add diskless client support by specifying
all required information with the smdiskless command.
|
How to Add a Diskless Client
|
|
7. Boot the diskless client
|
Verify that the diskless client support is
successfully added by booting the diskless client.
|
How to Boot a Diskless Client
|
|
8. (Optional) Delete diskless client
support
|
Delete support for a
diskless client if it is no longer required.
|
How to Delete Diskless Client Support
|
|
9. (Optional) Delete OS services for
a diskless client
|
Delete OS
services for a diskless client if they are no longer needed.
|
How to Delete OS Services for Diskless Clients
|
|
10. (Optional) Patch OS services
|
Add, delete, list, or synchronize patches
for diskless client OS services.
|
How to Add an OS Patch for a Diskless Client
|
Managing Diskless Clients
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)
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 file system.
How to Prepare for Adding Diskless Clients
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 or Solaris
9 releases. The sun4d architecture is not supported
in the Solaris 9 releases.
-
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 operating system 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 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 9/04 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 system on the same system (SPARC or x86).
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 release (in this situation, Solaris_9) on the same system must use
the same cluster.
Note –
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.
How to Add OS Services For Diskless Client Support
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 ...
Login to starbug as user root was successful.
Download of com.sun.admin.osservermgr.cli.OsServerMgrCli from starbug:898
was successful.
Platform
-------------------------------------------------------------------------
|
-
Add the OS services.
# /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.
|
Note –
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 --
|
Example—Adding an OS Service for Diskless Client Support
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.
|
How to Add a Diskless Client
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 --
|
Examples—Adding a Diskless Client
This example shows how to add a Solaris 8 client, holoship, from the server starbug.
# /usr/sadm/bin/smdiskless add -- -i 172.20.27.103 -e 8:0:20:92:4e:f3
-n holoship -x os=sparc.sun4u.Solaris_8 -x root=/export/root/holoship
-x swap=/export/swap/holoship -x swapsize=128 -x tz=US/Mountain
-x locale=en_US
|
This example shows how to add a Solaris 7 client, inquisitor, from the server starbug.
# /usr/sadm/bin/smdiskless add -- -i 172.20.27.102 -e 8:0:20:1f:31:be
-n inquisitor -x os=sparc.sun4u.Solaris_2.7 -x root=/export/root/inquisitor
-x swap=/export/swap/inquisitor -x swapsize=64 -x tz=US/Mountain
|
How to Boot a Diskless Client
-
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.
How to Delete Diskless Client Support
-
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 --
|
Example—Deleting Diskless Client Support
This example shows how to delete the diskless client holoship from the OS server starbug.
# /usr/sadm/bin/smdiskless delete -- -o starbug -n holoship
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.
|
How to Delete OS Services for Diskless Clients
-
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 --
|
Example—Deleting OS Services for Diskless Clients
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.
|
Patching Diskless Client OS Services
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.
Note –
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.
Displaying OS Patches for Diskless Clients
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:
-
/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.
How to Add an OS Patch for a Diskless Client
-
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.
-
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.
|
Note –
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/sun4u
|
Example—Adding an OS Patch for a Diskless Client
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/sun4u
|
Troubleshooting Diskless Client Problems
This section lists some common problems with diskless clients 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 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.
-
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 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.
- 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 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, 8, 9,
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:
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
|
- Problem
-
OS server is not responding
to diskless client's RARP request
- Solution
-
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
|
- Problem
-
Boot program downloads,
but panics early in the process
- Solution
-
Using the snoop command, verify that the intended OS server is answering the client's
TFTP and NFS requests.
- Problem
-
- Solution
-
Restart the following daemons
on the OS server:
# /usr/sbin/rpc.bootparamd
# /usr/sbin/in.rarpd -a
|
|