 |
» |
|
|
 |
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 FilesThe following commands have new options to support NFS Diskless:
Command Option Function
======= ====== ========
swapon(1M) -t Allows choice of type of swap entry
(in /etc/fstab--formerly /etc/checklist)
to be processed
mount(1M) -Q Causes mount to ignore file systems
already mounted
|
Commands, Parameters, Options No Longer SupportedThe 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}
` -
|
 |
|