switchinfo(4) — Series 800 Only
Requires Optional SwitchOver/UX Software
NAME
Switchinfo − SwitchOver/UX configuration file
DESCRIPTION
A single configuration file, /etc/switch/Switchinfo, contains the information required by SwitchOver/ UX software. /etc/switch/Switchinfo is a text file, created and maintained by the System Administrator. A copy of the file resides on each host.
/etc/switch/Switchinfo contains a series of “sections”, one per host. Each section begins with the name of the host, beginning in the first column, followed by a :. On subsequent lines are a series of “entries”, one per line. Each entry is indented, and consists of a keyword, followed by =, then a value. Comments in the file begin with # and extend until the end of the line. White space is ignored. For example, the following is a syntactically correct (though incomplete) Switchinfo file:
# info file
hosta: # the standby
lan0 = 0x1122334455
prihost0 = hostb
hostb:
standby = hosta
lan0=0x1122334456
For each host, the host name should be the name that is printed by the hostname command when run on that host (see hostname(1)).
The following list names each keyword that can appear in Switchinfo and other pertinent information: whether the keyword is “required” or “optional”; the default value if optional; “standby” “primary”, or both, depending on which sections should contain the keyword; keyword meaning; commands that use the field; and an example.
lan# Required.
Primary and standby.
Gives the new LAN station address for the network specified by #. The address is obtained from HP, and is not the address normally recognized by the LAN interface card. There is one address per network, and thus one entry per network.
The # denotes a single character, which is 0-9 or a-f. This character is the logical unit (lu) number for the LAN card, and is the same character that is used in the device file name: lan0 names the network connected to /dev/lan0, and so on. (For the correspondence between logical units and slots, use the ioscan -k command). SwitchOver/ UX requires that each LAN card connected to a particular network have the same logical unit number. So, for example, if two LANs connect Host A and Host B, and one of the LANs is lan0 on Host A, then the same LAN must also be lan0 on Host B. This is most easily accomplished by having all cards attached to a particular network be placed at the same hardware address on each system processor.
Supported networks include Ethernet and FDDI LAN.
Used by switchsetlan, switchheartb, and switchreadp.
Example:
lan0 = 0x1122334455
lan1 = 0x1122334456
standby Required.
Primary only.
Names the host (by “hostname”) that serves as standby for this primary.
Used by switchheartb.
Example:
standby = mystandbyhost
rtprio Optional; default 0.
Primary and standby.
Gives the real-time priority of the heartbeat daemon on a primary or the readpulse daemon on a standby. The priority is a number from 0 to 127, with 0 being highest priority; see rtprio(2). The value can also be no, meaning that the daemon should not run at a real-time priority. Real-time priority should be used if the host in question is running other real-time processes that might prevent the state-of-health monitors from completing their handshakes.
Used by switchheartb, and switchreadp.
Example:
rtprio = 50
lockmem Optional; default “yes”.
Primary and standby.
Tells whether the heartbeat daemon (primary) or the readpulse daemon (standby) should be locked into memory. The value can be yes or no. Locking the daemons into memory further ensures timely execution of the state-of-health daemons.
Used by switchheartb, and switchreadp,
Example:
lockmem = yes
pulserate Optional; default “10”.
Primary only.
Gives the interval, in seconds, between successive heartbeat messages sent from the primary to the standby over each network specified by a lan# entry. See timeout for further information.
Used by switchheartb.
Example:
pulserate = 30
logfile Optional; default no logfile.
Primary and standby.
Names the file to which heartbeat (primary) and readpulse (standby) log errors. These daemons carefully detach themselves from any controlling terminal they may have inherited, so this entry provides the only reliable way to ensure that the daemons can send error messages to a terminal (for example, the console). If the error output should go to a file, this can be done by either using a “logfile” entry, or redirecting standard error in the place where switchheartb or switchreadp is invoked. The full pathname of logfile must be given.
Used by switchheartb, switchreadp.
Example:
logfile = /usr/adm/switch.errlog
prihost# Required.
Standby only.
Names a primary host that this (standby) host will monitor. The # is a single character from 0-9. This number is not related to the number in the lan# entries. However, the number is related to the rootdisk#, rootmir#, and rootthird# entries: prihost0 uses rootdisk0, rootmir0, and rootthird0, and so on.
Used by switchreadp and switchdiskl.
Example:
prihost0 = myprimaryhost
rootdisk# Required.
Standby only.
Names the (raw) root disk of the corresponding primary host. The # is a single character from 0-9. rootdisk0 corresponds to prihost0, and so on. It is possible, in an asymmetric SwitchOver/ UX configuration, for a given disk to have different names on the primary and the standby hosts. The name here is used by the standby, and so should be the standby’s name. The hardware path of this device is named by bootpath.
If the primary’s root is mirrored using DataPair, this is the name of the primary half of the mirror (as opposed to the secondary half; note the two uses of “primary” here).
If the primary’s root is a logical volume, this is the name of the physical volume created as the boot device in the root volume group.
Used by switchreadp and switchdiskl.
Example:
rootdisk0 = /dev/rdsk/c0d0s4
rootmir# Optional; default none.
Standby only.
Similar to rootdisk#, except that it names the second root device. This entry should be present if the root is mirrored and absent if it is not. The hardware path of this device is named by bootmir.
If the primary’s root is mirrored using DataPair, this is the name of the secondary half of the mirror.
If the primary’s root is mirrored using Logical Volume Manager, this is the name of a second physical volume created as a boot device in the root volume group.
Used by switchreadp and switchdiskl.
Example:
rootmir0 = /dev/rdsk/c8d0s4
rootthird#
Optional; default none.
Standby only.
Similar to rootmir#, except that it names the third root device. This entry should be present if the root is mirrored three-way using the Logical Volume Manager, and absent if it is not. The third root device is a third physical volume created as a boot device in the root volume group. The hardware path of this device is named by bootthird.
Used by switchreadp and switchdiskl.
Example:
rootthird0 = /dev/rdsk/c6d0s2
timeout Required.
Primary only.
Gives the heartbeat timeout value, in seconds. If readpulse has not seen a heartbeat message from the primary after this period of time, then it runs become to start the takeover. In general, timeout should be larger than any pulserates so that failover occurs only when a primary has truly failed. As an example, timeouts slightly larger than twice the largest pulserate would avoid failover in the event of losing one readpulse message on the network.
Used by switchreadp.
Example:
timeout = 60
bootpath Required.
Primary only.
Gives the hardware address of the primary boot device, which the standby system processor should use when it reboots the primary host. The standby changes its bootpath in stable storage to this value before it reboots. The device located at this hardware address is named by rootdisk. For mirrored root devices, see the description of bootmir and bootthird below.
Note that, although this value appears in a file organized by host, the value is in fact dependent on the system processor, and not the host. This is not an issue with SwitchOver/ UX, because of the requirement that each disk be accessed through identical hardware paths by any system processor that can access it.
Used by switchreadp.
Example:
bootpath = 4.4.0
bootmir Optional; default none.
Primary only.
Gives the hardware address of the alternate boot device. If present, the standby host checks the primary boot device, and if it is unavailable, sets its primary bootpath to bootmir before rebooting. The device at this hardware address is named by rootmir.
For mirroring with DataPair, the alternate boot device is the secondary half of the mirrored root device.
For mirroring with the Logical Volume Manager, the alternate boot device is a second physical volume created as a boot device.
Used by switchreadp.
Example:
bootmir = 4.3.0
bootthird Optional; default none.
Primary only.
Gives the hardware address of the third boot device. This entry is required if root is three-way mirrored using the Logical Volume Manager, and absent if it is not. The third boot device is a third physical volume in the root volume group created as a boot device. If present, the standby host checks the other two boot devices and if both are unavailable, sets its primary boot address to bootthird before rebooting. The device at this hardware address is named by rootthird.
Used by switchreadp.
Example:
bootmir = 4.3.0
rootdisk Required.
Primary and standby.
Gives the name of the (raw) root disk for the given host. In an asymmetric SwitchOver/ UX configuration, a given disk can have different names on the primary and standby hosts; here, the name is the name used by the host in whose section this entry appears. (Note the difference between this entry and the rootdisk# entry, which appears only in the standby section, and which gives the standby name for the disk.) The hardware path of this device is named by bootpath.
If the disk is mirrored using DataPair, this is the name of the primary half of the mirror, and rootmir is the name of the secondary.
If root is a logical volume, this names the physical volume created as the primary boot device in the root volume group.
Used by switchdiskl.
Example:
rootdisk = /dev/rdsk/c0d0s4
rootmir Optional.
Primary and standby.
Similar to rootdisk, except that it names the second root device. This entry is required if the root is mirrored and omitted if it is not. The hardware path of this device is named by bootmir.
If the primary’s root is mirrored using DataPair, this is the name of the secondary half of the mirror.
If the primary’s root is mirrored using Logical Volume Manager, this is the name of a second physical volume created as a boot device in the root volume group.
Used by switchdiskl.
Example:
rootmir = /dev/rdsk/c8d0s4
rootthird Optional.
Primary and standby.
Like rootdisk, but gives the name of the third boot device. This entry is required if the root is mirrored three-way using the Logical Volume Manager, and should be omitted if it is not. This device is a third physical volume in the root volume group created as a boot device. The hardware path of this device is named by bootthird.
Used by switchdiskl.
Example:
rootthird = /dev/rdsk/c8d0s4
SEE ALSO
switchdiskl(1M), switchheartb(1M), switchreadp(1M), switchsetflg(1M), switchsetlan(1M).
Hewlett-Packard Company — HP-UX Release 9.0: August 1992