SCSI tiebreaker setup for a two-node cluster
Set up an SCSI tiebreaker on Linux on System x or Linux on POWER.
This SCSI tiebreaker type is specific for Linux on System x, and Linux on POWER. If you want
to create a SCSI tiebreaker object, you must specify the SCSI device with the
DeviceInfo persistent resource attribute. If the SCSI configuration
is different on different nodes in the cluster, you can also use the
NodeInfo persistent resource attribute to reflect those
differences. This type of tiebreaker uses a reserve/release mechanism and must be
re-reserved periodically to hold the reservation. When you create a tiebreaker of this
type, you can also specify the HeartbeatPeriod persistent resource
attribute. The HeartbeatPeriod persistent resource attribute defines
the interval at which the reservation request is reissued.
node1:~# dmesg | grep "Attached scsi disk" Normally these
parameters are identical on each cluster node. For example, for node1 and node2 the
parameters are HOST=0 CHAN=0 ID=4 LUN=0. mkrsrc IBM.TieBreaker Name=myTieBreaker Type=SCSI DeviceInfo=" HOST=0 CHAN=0
ID=4 LUN=0"The
four values can also be different for different nodes (even if the target device is
same). In that case, use the NodeInfo field in addition to the
DeviceInfo field. # dmesg | grep "Attached scsi disk"
Attached scsi disk sdf at scsi2, channel 2, id 4, lun 0
For disk sdf the values of the SCSI identifier attributes are HOST=2,
CHAN=2, ID=4, LUN=0. For example, a SCSI device is connected to two nodes that are named
node1 and node2 and has the following SCSI identifiers:
node1: HOST=0 CHAN=0 ID=4 LUN=0
node2: HOST=2 CHAN=2 ID=4 LUN=0Create
the tiebreaker object by using DeviceInfo to specify common attribute
values and NodeInfo to specify node-specific attribute
values:# mkrsrc IBM.TieBreaker Name=scsi Type=SCSI DeviceInfo="ID=4 LUN=0"
NodeInfo='{["node1", "HOST=0 CHAN=0"], ["node2", "HOST=2 CHAN=2"]}'DeviceInfo and NodeInfo in such a way that it
merges the two strings, DeviceInfo first and then
NodeInfo. For example, for node1 the merged string
is:"ID=4 LUN=0 HOST=0 CHAN=0"This string is parsed.# mkrsrc IBM.TieBreaker Name=myTieBreaker Type=SCSI DeviceInfo="ID=4 LUN=0
HOST=0,CHAN=0" NodeInfo='{["node2", "HOST=2 CHAN=2"]}'This
simplification can be useful as in most cases the SCSI id is the same for many
nodes.Manually breaking a disk reservation
If the node that reserves a tie breaker is down and cannot be rebooted, manual access to the healthy node is needed to release the SCSI tiebreaker disk. To release a disk, run the tb_break [–f] HOST CHAN ID LUN command, for example/usr/sbin/rsct/bin/tb_break –f HOST=0 CHAN=0 ID=4 LUN=0