Linux » Man Pages
find in page
sesdaemon is a daemon which allows communication with attached fibre
channel drive enclosures; status is collected and re-configuration is
The low-level transport protocol is the industry standard SES (SCSI-3
Enclosure Services). See sesmgr(1M) for details.
The sesdaemon is normally started automatically during boot if sesdae-
mon is chkconfig’ed on. One process containing 4 threads is started for
each instance of sesdaemon; the backend polling thread which handles
polling the drive enclosures for status, the frontend RPC thread which
is responsible for communication with user interfaces like sesmgr, an
event handler thread which handles FRU status change events, and a han-
dler that executes the client’s commands. Each event results in a user
configurable callout shell script being executed. These scripts are
The sesdaemon-options-file is provided for customizing certain aspects
of sesdaemon operation. This file normally resides at /etc/syscon-
fig/sesdaemon.options. The contents of the file is a list of customiz-
able variables and their values.
PollPeriod Specifies the time, in seconds, between successive polls
of the SAN enclosures. Status change detection is not
interrupt driven so status changes will not be detected
until the next poll period.
The challenge in selecting an optimal polling period is
to find an interval that is short enough to find fail-
ures quickly and yet long enough to avoid adding a sig-
nificant amount of traffic to the SAN. Large or busy
SAN’s will require more time to execute a poll than
smaller or less busy ones. However some FRU failures
can cause automatic enclosure shutdowns in as little as
The default value is 60.
ExitNoCtlrs On startup, if no fibre channel controllers are found in
the system and this is set to 1, all of the sesdaemon
threads will terminate. Changing it to 0 will let the
threads run as usual whether controllers are present or
not. This may be useful in the event controllers will
be added later via PCI hotswap inserts. However, once
added, an sesmgr poll command must still be executed for
sesdaemon to see the new controllers. If the daemons
have already exited and need to be restarted, run
immediately following the performance of a sesmgr remove
command. The default value is /usr/lib/sesdae-
Specifies the pathname of the script to be executed
immediately following the performance of a fsesmgr
insert command. The default value is /usr/lib/sesdae-
Specifies the pathname of the script to be executed fol-
lowing a FRU status change. The default value is
DebugLevel Specifies the "verbosity" of sesdaemon. The default
value is 0.
CONFIGURATION OF EVENT CALLOUT SCRIPTS
The sesdaemon event handler executes one or more callout scripts in
response to a FRU status change or user initiated reconfiguration. Each
time a script is executed, 10 arguments are passed to it which a user
can use to customize said scripts. For example, the StatusChangedCall-
out script can be modified to send mail to a system administrator’s
chatty pager should a fault be detected. The arguments are as follows:
1 - host name A character string specifying the name of the host
machine where the FRU status change was detected.
2 - callout type
A character string specifying the callout type. The pos-
sible values are INFO, RECONFIG and FAILURE. The types
can be viewed in increasing priority of importance. The
INFO type is used when the FRU status change is informa-
tional and little or no system administrator interven-
tion is needed. An example of an informational state
change is a disk FRU transitioning from not present to
OK following the insertion of of a previously absent
disk drive. The RECONFIG type is used following a con-
figuration change which may be of interest to the system
administrator. An example of a reconfiguration state
change is a disk FRU transitioning from OK to
NOT_PRESENT following the execution of a sesmgr remove
command. The FAILURE type is used when system adminis-
trator intervention is needed due to an unexpected FRU
3 - time stamp A character string specifying the time at which the sta-
tus change occurred.
4 - channel ID A character string specifying the controller on which
the state change was detected.
5 - enclosure ID
for alarm, and LCC (for Link-Control-Card FRUs).
7 - FRU ID A numerical character string specifying the ID of the
FRU in an enclosure which underwent the state change.
This would be the slot number, bay number, or LCC number
in the enclosure.
8 - FRU NAME This is the identifier of the FRU, which in the case of
drives is the world wide name in hex.
9 - State transition from state
A character string specifying the from state of the FRU
state transition. Possible values are OK, OFF, FAILED,
NOT-PRESENT, OFF if the FRU is not ready, and UNSUP for
not supported FRU types. It is only specified for the
case of the StatusChangedCallout. It is set to -1 for
10 - State transition to state
A character string specifying the to state of the FRU
state transition. Possible values are the same as the
The following is an example of a StatusChangedCallout C-shell script
which may be used to send mail to a system administrator following the
detection of a FRU failure.
#! /bin/csh -f
# If the status change is a failure, send mail to system
if ("$2" == FAILURE) then
echo "$6 #$7 in enclosure $5 on channel $4 on host $1 FAILED at $3" > $TMP
Mail -s "FRU Failure" firstname.lastname@example.org < $TMP
/bin/rm -f $TMP
If a communication path fails, the daemon will automatically try alter-
nate paths to the other SES capable devices. However, driver retries
before returning an error can make this a lengthy process.
Losing the last SES drive in an enclosure or losing the link to an
enclosure may be logged as an LCC failure.
Enclosures which dont set their enclosure ID in their SES configuration
page will be assigned an enclosure ID from the worldwide name of the
first SES drive the daemon locates in the enclosure. Once the id is
is required when setting the enclosure id’s to prevent overlapping the
target alpa ranges. If that happens, the other enclosures on the loop
will switch to soft addressing.
Not all enclosures support all capabilities of these utilities.
Simulating failures may not result in exactly the same failure notifi-
cations as actual failures.
Due to dependencies on drive types, this utility only supports IBM and
SEAGATE disk drives.
If a target assigns different worldwide names to each of its ports,
each port will be treated as an individual target.
Attempting to run this daemon on a system which doesnt have the XSCSI
device files properly available will likely result in a core dump.
chkconfig(8), xscsiha(8), sesmgr(8)
Output converted with
what's new |