sesdaemon  - Fibre Channel Drive Enclosure Status/Configu­
       ration daemon


SYNOPSIS

       sesdaemon sesdaemon-options-file


DESCRIPTION

       sesdaemon is a  daemon  which  allows  communication  with
       attached  fibre  channel  drive enclosures; status is col­
       lected and re-configuration is allowed.

       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 sesdaemon is chkconfig'ed on. One process contain­
       ing 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 handler that executes the client's
       commands. Each event results in a user configurable  call­
       out  shell  script  being executed. These scripts are user
       customizable.


OPTIONS

       The sesdaemon-options-file  is  provided  for  customizing
       certain aspects of sesdaemon operation. This file normally
       resides at /etc/sysconfig/sesdaemon.options. The  contents
       of  the file is a list of customizable 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  failures  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 2 minutes.


       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 termi­
                      nate.   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  con­
                      trollers.   If  the  daemons  have  already
                      exited  and  need  to  be  restarted,   run
                      /etc/init.d/sesdaemon start.

                      The default value is 1.

       PreRemovalCallout
                      Specifies  the pathname of the script to be
                      executed just prior to performing a  sesmgr
                      remove   command.   The  default  value  is
                      /usr/lib/sesdaemon/preremove.CO.

       PostRemovalCallout
                      Specifies the pathname of the script to  be
                      executed  immediately following the perfor­
                      mance  of  a  sesmgr  remove  command.  The
                      default     value    is    /usr/lib/sesdae­
                      mon/postremove.CO.

       PostInsertionCallout
                      Specifies the pathname of the script to  be
                      executed  immediately following the perfor­
                      mance of  a  fsesmgr  insert  command.  The
                      default value is /usr/lib/sesdaemon/postin­
                      sert.CO.

       StatusChangedCallout
                      Specifies the pathname of the script to  be
                      executed following a FRU status change. The
                      default    value    is     /usr/lib/sesdae­
                      mon/statchanged.CO.

       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 initi­
       ated reconfiguration. Each time a script is  executed,  10
       arguments  are  passed  to it which a user can use to cus­
       tomize said scripts. For example, the StatusChangedCallout

       trator'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 possible values are INFO,  RECON­
                      FIG and FAILURE. The types can be viewed in
                      increasing  priority  of  importance.   The
                      INFO  type  is  used  when  the  FRU status
                      change is informational and  little  or  no
                      system    administrator   intervention   is
                      needed.  An  example  of  an  informational
                      state  change  is  a disk FRU transitioning
                      from not present to OK following the inser­
                      tion  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 sys­
                      tem  administrator  intervention  is needed
                      due to an unexpected FRU failure.

       3 - time stamp A character string specifying the  time  at
                      which the status change occurred.

       4 - channel ID A  character  string  specifying  the  con­
                      troller  on  which  the  state  change  was
                      detected.

       5 - enclosure ID
                      A numerical character string specifying the
                      fibre channel drive enclosure on which  the
                      state  change  was detected. Is only speci­
                      fied for the case of the StatusChangedCall­
                      out. It is set to -1 for other callouts.

       6 - FRU type   A    character    string   specifying   the
                      type/class of  FRU  for  which  the  status
                      change  is  being reported. Possible values
                      are DISK (for disk  FRUs),  PS  (for  power
                      supply  FRUs), FAN (for fan FRUs), TEMP for
                      temperature, ALARM for alarm, and LCC  (for
                      Link-Control-Card FRUs).

       7 - FRU ID     A numerical character string specifying the

                      went  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 speci­
                      fied for the case of the StatusChangedCall­
                      out. It is set to -1 for other callouts.

       10 - State transition to state
                      A  character string specifying the to state
                      of the FRU state transition. Possible  val­
                      ues are the same as the from state.


EXAMPLES

       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
       # administrator.
       #

       set TMP="/tmp/statchanged_$$"

       if ("$2" == FAILURE) then
            echo "$6 #$7 in enclosure $5 on channel $4 on host $1 FAILED at $3" > $TMP
            Mail -s "FRU Failure" root@alpha.centauri.com < $TMP
            /bin/rm -f $TMP
       endif


LIMITATIONS

       If  a  communication path fails, the daemon will automati­
       cally  try  alternate  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.

       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  assigned,  it
       will not be changed by the daemon if the enclosure config­
       uration changes.  However on later runs, this will  result
       in the enclosure having a different ID.

       These  utilities  are  not able to handle soft addressing.
       Proper SAN configuration is critical to their proper oper­
       ation.

       The  Xyratex  16 slot enclosure must use addressing mode 0
       in 1x16 configurations and mode 2 in  2x8  configurations.
       Also  be  very  careful  if mixing 1x16 and 2x8 configured
       enclosures on the same loop.  Extra care is required  when
       setting the enclosure id's to prevent overlapping the tar­
       get alpa ranges.  If that happens, the other enclosures on
       the loop will switch to soft addressing.

       Not all enclosures support all capabilities of these util­
       ities.

       Simulating failures may not result  in  exactly  the  same
       failure notifications as actual failures.

       Due to dependencies on drive types, this utility only sup­
       ports 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 tar­
       get.

       Attempting to run this daemon on  a  system  which  doesnt
       have the XSCSI device files properly available will likely
       result in a core dump.


FILES

       /usr/bin/sesdaemon
       /etc/sysconfig/sesdaemon.options
       /etc/init.d/sesdaemon
       /usr/lib/sesdaemon/postinsert.CO
       /usr/lib/sesdaemon/preremove.CO
       /usr/lib/sesdaemon/postremove.CO
       /usr/lib/sesdaemon/statchanged.CO


SEE ALSO

       chkconfig(8), xscsiha(8), sesmgr(8)


Man(1) output converted with man2html