SGI Techpubs Library

Linux  »  Man Pages
find in page

sesdaemon



SYNOPSIS

       sesdaemon sesdaemon-options-file


DESCRIPTION

       sesdaemon  is  a  daemon which allows communication with attached fibre
       channel drive enclosures; status is collected 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  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
       user customizable.


OPTIONS

       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
                      2 minutes.

                      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
                      /etc/init.d/sesdaemon start.
                      immediately following the performance 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  performance  of  a  fsesmgr
                      insert  command.  The  default value is /usr/lib/sesdae-
                      mon/postinsert.CO.

       StatusChangedCallout
                      Specifies the pathname of the script to be executed fol-
                      lowing  a  FRU  status  change.  The  default  value  is
                      /usr/lib/sesdaemon/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 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
                      failure.

       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
                      other callouts.

       10 - State transition to state
                      A  character  string  specifying the to state of the FRU
                      state transition. Possible values 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 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.


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)

                                                                 sesdaemon(1m)

Output converted with man2html


home/search | what's new | help