 |
» |
|
|
 |
As of 10.01, HP has replaced its proprietary technology for
"diskless" clusters, commonly known as "DUX" (Distributed HP-UX),
with the de facto UNIX standard, NFS Diskless.
But HP is retaining the SAM system management tool as the mechanism
for cluster management. SAM extends the base feature set of NFS
Diskless so as to retain a key strength of "DUX": easy administration
from a single seat. This set of enhancements is called Single
Point Administration, or SPA
for short. Other Documents |  |
For information on upgrading a "DUX"
cluster to NFS Diskless, see Upgrading from HP-UX 9.x
to 10.x. For an introduction to NFS Diskless concepts, and
important background on system administration, see the NFS
Diskless Concepts and Administration White Paper, which
is on your 10.x system in PostScript format in /usr/share/doc/NFSD_Concepts_Admin.ps.
This file is also available in the "HP-UX Upgrade Tools for 9.x
to 10.x" package. For information on optimizing NFS client/server
configurations, refer to the NFS Client/Server Configuration,
Topology, and Performance Tuning Guide White Paper,
which is on your 10.x system in PostScript format in /user/share/doc/NFS_Client_Server.ps. For information on setting up and running a new
cluster see Chapter 11, "Setting Up and Administering an HP-UX NFS
Cluster," in the 10.01 version of the HP-UX System Administration
Tasks manual, and the online help in SAM.
What Is NFS Diskless? |  |
NFS Diskless is the industry standard technology for sharing
file-system and other hardware and software resources amongst a
group of computers connected by one or more LANs (Local Area Networks). NFS Diskless is like HP's proprietary "DUX" technology (obsolete
as of 10.0) in that it: Allows clients to boot remotely from
a kernel stored on a remote server Allows the sharing of the root file system Allows the sharing of other resources such as:
But the underlying mechanisms are different: Feature "DUX" Mechanism NFS Diskless Mechanism ======= =============== ====================== Shared file system Proprietary global mount NFS mounts Private kernel, Context-Dependent Files HP-UX 10.0 File System device files, etc. (CDFs) Layout Remote boot RMP BOOTP/TFTP Remote swap Device swap File-system swap Client/server Link-level LAN address NFS/TCP-IP communication |
For more details, see “"DUX" versus NFS Diskless: Summary
of Key Differences ”. Reasons for the Change |  |
Provides industry-standard file-sharing
and remote boot technology Provides basis for future sharing of heterogeneous
operating systems and releases (but HP only, current release only,
at 10.x) Allows much greater flexibility in configuring and
distributing hardware
New Features and Capabilities |  |
A server can support clients on multiple
LANs A client can boot from a server on a different subnet Any system running HP-UX 10.01 or later can swap
to any NFS-mounted file system Clients boot using standard BOOTP/TFTP protocols (Existing Series 700 clients with RMP in boot ROM will still
boot correctly) Clients can mount local CD-ROM file systems Series 800 systems can be servers
The kernel parameter page_text_to_local
controls whether, and where, executable code is swapped. How you
set this parameter can affect the performance of an NFS Diskless
client: If page_text_to_local
is off (0), executable code pages will not be swapped out, but must
be re-read from disk if they have been cleared out of memory. This is the default. If page-text-to-local
is on (1), executable code pages will be swapped
out, to the local disk, when they are cleared out of memory.
From this you can see that a client that swaps to its local
disk, but executes applications that are not on the local disk,
will perform much better if you turn page_text_to_local
on (set it to 1). Old ("DUX") Features No Longer
Supported |  |
Context-Dependent Files (CDFs) NFS Diskless uses the mechanisms provided in the 10.0 file
system layout to separate private from shared files (see “The HP-UX 10.0 File System Layout ”.) Under 10.x, any CDFs left over from your 9.x system will appear
as regular directories that have the SUID bit set. Support for Series 300 and 400 systems as clients
and servers HP-UX 10.x does not support Series 300 and 400 computers.
See the Upgrading from HP-UX 9.x to 10.x
manual for more information. Automatic cluster-wide sharing of mounted file systems File systems must be shared explicitly (for example via NFS),
but SAM-SPA provides global management services. POSIX-compliant file system Remote device swap NFS diskless uses file-system swap. LAN break detection But clients will not panic if the LAN goes down; they will
simply wait for communication to be re-established. Support for configuring and reviewing Access Control
Lists on (ACLs) on NFS clients Commands such as chacl(1)
and setacl(1)
will fail on an NFS-mounted (imported) file system. But you can
still set up ACLs on the NFS server and they will be enforced on
the NFS clients. Distributed named pipes "DUX" allowed one client to read a named pipe written by another;
NFS Diskless does not. Global PIDs (Process Identifiers) PIDs are managed on an NFS Diskless node just as they are
on a standalone machine. Automatic clock synchronization. You must synchronize the client's clock with the cluster time
when you add the client via SAM.
For more information: Details of Changes for NFS Diskless |  |
The commands dcnodes(1M)
and dcnodesd (1M)replace
cnodes. dcnodes(3X)
is the corresponding library routine. Refer to the dcnodes(1)
manpage for more information. swcluster(1M)
manages installing and removing software in NFS Diskless clusters. Changes to Commands and
Files The following commands have new options to support NFS Diskless: Command Option Function ======= ====== ======== swapon(1M) -t Allows choice of type of swap entry (in /etc/fstabformerly /etc/checklist) to be processed mount(1M) -Q Causes mount to ignore file systems already mounted |
Commands, Parameters,
Options No Longer Supported The following commands were specific to "DUX" and are no longer
supported: ccck(1M) cdf(4) cfuser(1M) cluster(1M) cnodes (1) context(5) cps(1) csp(1M) cwall(1M) getcontext(1) makecdf(1M) showcdf(1M) |
The following commands had "DUX"-specific options that are
no longer supported: Command Options ======= ======= bdf(1M) -L chmod(1) -H fbackup(1M) -H find(1) -hidden -type H ftio(1) -H last(1M) -c ls(1) -H mount(1M) -L pax(1) -H pwd(1) -H reboot(1M) -l -b sync(1M) -l syncer(1M) -l tar(1) -H umount(1M) -L users(1) -c who(1) -c |
The following library and system calls are disabled or unsupported: cnodes(2) cnodeid(2) getcontext(2) diskless_stats(2) endccent(3c) fgetccent(3c) ftwh(3c) getccent(3) getccid(3c) getccnam(3c) getcdf(3c) getcontext(2) gethcwd(3c) hidecdf(3c) lsync(2) mkrnod(2) nftwh(3c) setccent(3c) setcontext(2) |
cnodes
and cnodeid return
zero if called on 10.01, and getcontext,
setcontext, diskless_stats,
lsysnc and mkmod
return the EOPNOTSUPP
error. The remaining calls in the above list are not recognized
on 10.01. The following kernel parameters were specific to "DUX" and
are no longer supported: num_cnodes serving_array_size server_node using_array_size dksless_fsbufsn gcsp rdu server_node check_alive_period retry_alive_period selftest_period reboot_option |
Upgrading a Cluster to 10.01 |  |
HP has provided tools to upgrade a 9.x "DUX" cluster to 10.01
NFS Diskless. You can then upgrade the NFS Diskless cluster. To
upgrade from "DUX", you need the package "HP-UX Upgrade Tools for
9.x to 10.x" and the manual Upgrading from HP-UX 9.x
to 10.x, which is part of the package. A Useful Script |  |
The nfsstat
command displays statistical information about the NFS and Remote
Procedure Call (RPC) interfaces to the kernel. The NFS
Client/Server Configuration, Topology, and Performance Tuning Guide
White Paper (on your 10.01 system in /usr/share/doc/NFS_Client_Server.ps)
provides a script for collecting these statistics. Here is the source
for that script.  |
#! /usr/bin/ksh # #This is a sample script that runs the nfsstat command at given #intervals and normalizes the output. # # Get a series of nfsstat reports and normalize over time. # Results are reported "per second", whatever the window used. # # Invoked as: Program-name interval nfsstat_flags runtime # All time units are in seconds. # # Output: # The output is similar to the nfsstat format appropriate to the option # requested with the addition of a % value which is the percent that # particular field is of the number of calls. export PATH="/usr/bin/:$PATH" if [ "$1" = "-f" ] ; then fileinput=1 shift echo using files $* else if [ "$1" != "" ] ; then window=$1 else window=${WINDOW:-60} fi echo Window=$window ttime=$3 if [ "$ttime" = "" ] ; then ttime=9999999 fi starttime=$SECONDS fi ( if [ "$fileinput" = "" ] ; then while [ "$ttime" -gt $SECONDS ] ; do let w2=ttime-starttime if [ "$w2" -le "$window" ] ; then echo Last window = $w2 >&2 window=$w2 fi echo "elapsedtime: $et" /usr/bin/nfsstat $2 echo `' sleep $window endtime=$SECONDS let et=endtime-starttime starttime=$SECONDS done else echo "elapsedtime: 600" # Assumes data taken over 10 minute interval cat $* fi ) | awk ` BEGIN { firsttime=1 } $1 == "" { firsttime = 0; next} $1 == "elapsedtime:" {et=$2;print ""; if (firsttime == 1 ) { printf ("Started at ")} system("date +%D\\ %X"); next} /^$/ {if (firsttime != 1) { print "" };next} /^Client |^Server / {class=$0 if (firsttime != 1) { print class } next} /^[a-zA-Z]/ {labelstr=$0 for (i=1; i%<= NF; i++) { label[i]=$i if (label[i] == "calls" ) { totcalls=deltaval } if (firsttime!=1) {printf("%8s/s ",label[i])} } if (firsttime != 1) { print "" } numlabels=NF getline datastr=$0 for (i=1;i%<=numlabels;i++) { if (NF == 2*numlabels) { datapos=i*2-1 } else { datapos=i } val=$datapos if (firsttime != 1) { deltaval=val-lastval[class label[i]] if (label[i] == "calls" ) { totcalls=deltaval if (totcalls == 0 ) { totcalls=1 } } printf ("%6.2f %2d%% ", deltaval/et,\\ int(100*deltaval/totcalls+0.5)) } lastval[class label[i]]=val } if (firsttime != 1) { print "" } next } {print "error on line: " $0} ` - |
 |
|