failover(7M)

failover - disk device alternate path support

As shipped in IRIX 6.5.5. Added in IRIX 6.5.5.

NAME
     failover - disk device alternate path support

SYNOPSIS
     /etc/init.d/failover [init|start]

DESCRIPTION
     Failover is the ability to define and manage alternate paths to a single
     disk device or lun.  At startup, failover automatically detects and
     configures alternate paths to SGI Raid devices. To configure primary and
     alternate paths to other more generic devices, failover also processes
     configuration directives contained within the /etc/failover.conf
     configuration file.

     Failover works in conjuction with the SGI logical volume manager, to
     automatically switch between primary and alternate paths.  Additionally,
     failover is only possible for devices which utilize dksc(7m), the scsi
     disk driver.

   Alternate Path Configuration
     Primary and alternate paths to devices are defined by two different
     mechanisms.  Automatic detection, and definition within a configuration
     file.

     Configuration of SGI Raid devices is automatic and happens at the time of
     device discovery during the probing of the scsi and fibre channel buses.

     Configuration of alternate paths to other disk storage devices is defined
     within the /etc/failover.conf configuration file.  This file is processed
     during failover startup, and when the /etc/init.d/failover script is
     executed.  When /etc/init.d/failover is executed with the start
     parameter, it automatically calls xlv_assemble(1m).  When executed with
     the init parameter, the execution of xlv_assemble is skipped.

     The entries defining the available paths to a device consist of a single
     line which defines an arbitrary group name, a primary path, and up to
     three alternate paths.  The group name is an arbitrary string of up to 31
     characters.  Following the group name are the /dev/scsi names associated
     with the primary and alternate paths, the primary being the first path
     specified.

   Sample Configuration Entries
     The sample file shows ten failover groups, A-J, each consisting of a
     primary path and one alternate path.  The sample also includes the
     comments placed in the sample configuration file which is installed on
     the system.

     #ident $Revision: 1.3 $
     #
     #    This is the configuration file for table driven failover support.
     #    The entries within this file consist of a single line per
     #    failover grouping.  These lines describe up to four paths to
     #    each device.  Obviously, these paths should reference the
     #    same device!  Some sanity checking is performed, but the
     #    software is not foolproof in this area.  (If it was foolproof,
     #    the configuration file would be unnecessary!)  It is recommended
     #    that all paths to a device be listed.
     #
     #    The format of each line consists of a group name followed by
     #    up to four device names from the "/dev/scsi" directory.  If
     #    it's not in "/dev/scsi", it cannot be configured.  But, this
     #    implementation assumes that if a device is not present, its
     #    path has failed.  Consequently, no error messages will be
     #    generated for missing paths.  This means that you may have a
     #    a failover group that consists of a single primary path with
     #    no alternates.
     #
     #    Additionally, there is a configuration directive available that
     #    will cause the program to emit debug information.  Placing
     #    "#verbose" at the start of a line, without the quotes, will
     #    enable the debug output.  The debug output is displayed for
     #    all subsequent configuration directives.  Once enabled, the
     #    debug output cannot be disabled.
     #
     #    Lines that begin with a "#" are considered comment lines.
     #    A "#" anywhere within a line signals the beginning of a comment.
     #    White space must separate the last parameter of a line and the #.
     #    Blank lines are also considered a comment.
     #
     #    --> Lines that begin with 'sc' will be skipped as it's likely a
     #    --> configuration error.
     #
     #    Sample configuration.  (Remember to omit the "#" the start of
     #    the line.)
     #
     #
     #  # Name    Pri path | alt path | alt path | alt path
     #
     #    GroupA  sc6d50l0   sc7d50l0   sc8d50l0   sc9d50l0
     #    GroupB  sc6d51l0   sc7d51l0   sc8d51l0   sc9d51l0       # Some comment
     #    GroupC  sc6d52l0   sc7d52l0   sc8d52l0   sc9d52l0
     #
     #    One word of caution.  The switch to an alternate path is
     #    choreographed by the SGI logical volume manager.   An SGI logical
     #    volume manager is a requirement for failover to function.  XLV
     #    is an SGI logical volume manager.
     #
     #    Notes:
     #
     #    It is not possible to change the primary device of a group after
     #    the initial configuration by reordering the entries on the line
     #    and running /etc/init.d/failover start.  To change the primary,
     #    scsifo may be used to switch to the next available path.
     #
     #    It is not possible to remove the primary of a group by deleting
     #    the entry from the group and running /etc/init.d/failover start.
     #    A reboot is necessary.
     #
     #    To remove the "DOWN" displayed by hinv for the failed path,
     #    fix the path and reproble the bus using scsiha -p #.
     #

     A       sc7d1l0 sc8d1l0
     B       sc7d1l1 sc8d1l1
     C       sc7d1l2 sc8d1l2
     D       sc7d1l3 sc8d1l3
     E       sc7d1l4 sc8d1l4
     F       sc7d1l5 sc8d1l5
     G       sc7d1l6 sc8d1l6
     H       sc7d1l7 sc8d1l7
     I       2000002037003be2/lun0/c3p1 2000002037003be2/lun0/c5p2
     J       2000002037003c6c/lun0/c5p2 2000002037003c6c/lun0/c3p1

   Switching to an Alternate Path
     Failover is controlled by the SGI logical volume manager.  When the
     logical volume manager receives notification of an i/o error, it requests
     failover to switch the erring device to an available alternate path.  If
     the path switch is successful, the SGI logical volume manager retries the
     failed i/o using the new path.

     The scsifo(1m) command is available to permit the system administrator to
     manually request a switch to an alternate path.  While the scsifo command
     performs a switch, it is not detected by the SGI logical volume manager
     until the SGI logical volume manager receives an i/o error on the current
     path due to the path no longer being available.  The SGI logical volume
     manager  then begins utilizing the new path.

   Inventory Display
     The hinv(1m) command will display the path status of primary and
     alternate paths configured in the /etc/failover.conf configuration file.
     The following sample hinv output reflects the above sample configuration
     file.  Three of the devices have failed over to the alternate path,
     perhaps via the scsifo command.

     Integral SCSI controller 7: Version Fibre Channel AIC-1160, revision 1
       Disk drive: unit 1 on SCSI controller 7 (primary path)
       Disk drive: unit 1,lun 1, on SCSI controller 7 (primary path)
       Disk drive: unit 1,lun 2, on SCSI controller 7 (primary path)
       Disk drive: unit 1,lun 3, on SCSI controller 7 (primary path)
       Disk drive: unit 1,lun 4, on SCSI controller 7 (primary path)
       Disk drive: unit 1,lun 5, on SCSI controller 7 (alternate path) DOWN
       Disk drive: unit 1,lun 6, on SCSI controller 7 (alternate path) DOWN
       Disk drive: unit 1,lun 7, on SCSI controller 7 (alternate path) DOWN
     Integral SCSI controller 8: Version Fibre Channel AIC-1160, revision 1
       Disk drive: unit 1 on SCSI controller 8 (primary path)
       Disk drive: unit 1,lun 1, on SCSI controller 8 (alternate path)
       Disk drive: unit 1,lun 2, on SCSI controller 8 (alternate path)
       Disk drive: unit 1,lun 3, on SCSI controller 8 (alternate path)
       Disk drive: unit 1,lun 4, on SCSI controller 8 (alternate path)
       Disk drive: unit 1,lun 5, on SCSI controller 8 (primary path)
       Disk drive: unit 1,lun 6, on SCSI controller 8 (primary path)
       Disk drive: unit 1,lun 7, on SCSI controller 8 (primary path)
     Integral SCSI controller 3: Version Fibre Channel QL2200
       Fabric Disk: node 2000002037003be2 port 1 lun 0 on SCSI controller 3 (primary path)
       Fabric Disk: node 2000002037003c6c port 1 lun 0 on SCSI controller 3 (alternate path)
     Integral SCSI controller 5: Version Fibre Channel QL2200
       Fabric Disk: node 2000002037003be2 port 2 lun 0 on SCSI controller 5 (alternate path)
       Fabric Disk: node 2000002037003c6c port 2 lun 0 on SCSI controller 5 (primary path)

     By using the scsiha(1m) command to reprobe the bus to which a down device
     is connected, presuming the device is now responding on the bus, the
     "DOWN" indicator displayed by hinv can be cleared.

FILES
     /etc/failover.conf
     /etc/init.d/failover
     /etc/init.d/xlv

SEE ALSO
     dks(5m), ds(7m), hinv(1m), scsifo(1m), scsiha(1m), xlv_assemble(1m), and
     xlv(7m).

NOTES
     The group name specified within the /etc/failover.conf file has no
     external visibility.  It cannot be correlated to the group number
     information displayed by the scsifo command.