Configuración de condición de partida ECKD para un clúster de dos nodos

Configure un desempate ECKD en Linux en System z.

Si los nodos se ejecutan en z/VM®, consulte Condición de partida de ECKD en entornos z/VM para obtener más información sobre las implicaciones de configuración relacionadas con la definición de un dasd ECKD que se utilizará como condición de partida.

El tipo de condición de partida ECKD es específico para Linux en System z. Si desea crear un objeto de condición de partida ECKD, debe establecer el atributo de recurso persistente DeviceInfo para indicar el número de dispositivo ECKD. Este tipo de condición de partida utiliza un mecanismo de reserva o liberación y debe volver a reservarse periódicamente para retener la reserva. Por este motivo, también puede especificar el atributo de recurso persistente HeartbeatPeriod al crear una condición de partida de este tipo. El atributo de recurso persistente HeartbeatPeriod define el intervalo en el que se vuelve a especificar la solicitud de reserva.

Recopile la siguiente información del sistema (Linux® kernel v2.4):
node01:~ # cat /proc/subchannels
Device sch.  Dev Type/Model CU  in use  PIM PAM POM CHPIDs
---------------------------------------------------------------------
50DE   0A6F  3390/0A   3990/E9          F0  A0  FF  7475E6E7 FFFFFFFF
node01:~ # cat /proc/dasd/devices
50dc(ECKD) at ( 94:  0) is            : active at blocksize: 4096, 601020 blocks, 2347 MB
50dd(ECKD) at ( 94:  4) is            : active at blocksize: 4096, 601020 blocks, 2347 MB
50de(ECKD) at ( 94:  8) is            : active at blocksize: 4096, 601020 blocks, 2347 MB
50df(ECKD) at ( 94: 12) is            : active at blocksize: 4096, 601020 blocks, 2347 MB
Para el kernel de Linux v2.6, utilice el mandato lscss en lugar del mandato cat /proc/subchannels . Realice los pasos siguientes para utilizar la condición de partida:
  1. Cree un objeto de recurso de condición de partida en IBM.TieBreaker class. La DeviceInfo muestra el número de dispositivo ECKD. Se puede obtener del archivo /proc/dasd/devices .
    node01:~ # mkrsrc IBM.TieBreaker Name=myTieBreaker \
       Type=ECKD DeviceInfo="ID=50de" HeartbeatPeriod=5
    node01:~ # lsrsrc IBM.TieBreaker
    Resource Persistent Attributes for: IBM.TieBreaker
    resource 1:
            Name                = "Operator"
            Type                = "Operator"
            DeviceInfo          = ""
            ReprobeData         = ""
            ReleaseRetryPeriod  = 0
            HeartbeatPeriod     = 0
            PreReserveWaitTime  = 0
            PostReserveWaitTime = 0
            NodeInfo            = {}
    resource 2:
            Name                = "Fail"
            Type                = "Fail"
            DeviceInfo          = ""
            ReprobeData         = ""
            ReleaseRetryPeriod  = 0
            HeartbeatPeriod     = 0
            PreReserveWaitTime  = 0
            PostReserveWaitTime = 0
            NodeInfo            = {}
    resource 3:
            Name                = "myTieBreaker"
            Type                = "ECKD"
            DeviceInfo          = "ID=50de"
            ReprobeData         = ""
            ReleaseRetryPeriod  = 0
            HeartbeatPeriod     = 5
            PreReserveWaitTime  = 0
            PostReserveWaitTime = 0
            NodeInfo            = {}
  2. Cambie el atributo OpQuorumTieBreaker de la clase IBM.PeerNode por uno de los objetos de recurso de condición de partida.
    node01:~ # chrsrc -c IBM.PeerNode OpQuorumTieBreaker="myTieBreaker"
    node01:~ # lsrsrc -c IBM.PeerNode
    Resource Class Persistent Attributes for: IBM.PeerNode
    resource 1:
            CommittedRSCTVersion  = ""
            ActiveVersionChanging = 0
            OpQuorumOverride      = 0
            CritRsrcProtMethod    = 1
            OpQuorumTieBreaker    = "myTieBreaker"

Rearranque manual de un nodo

Si se reinicia un nodo de un clúster de dos nodos, el nodo de rearranque puede volver rápidamente. El rearranque puede interrumpir el método de condición de partida y provocar un rearranque no deseado del nodo restante. Si un nodo que pertenece a un clúster debe reiniciarse manualmente, utilice el mandato halt -nf en lugar de reboot -nf.

Interrupción manual de una reserva de disco

Si el nodo que reserva una condición de partida está inactivo y no se puede rearrancar, se necesita acceso manual al nodo en buen estado para romper la reserva y tomarla en ese nodo.
  • El disco de condición de partida puede seguir conectado al nodo en buen estado, siempre que este nodo no se haya rearrancado en el tiempo medio:
    node01:~ # cat /proc/subchannels
    Device sch. Dev Type/Model CU in use PIM PAM POM CHPIDs
    --------------------------------------------------------------
    50DE 0A6F 3390/0A 3990/E9 F0 A0 FF 7475E6E7 FFFFFFFF
    
    node01:~ # cat /proc/dasd/devices
    50de(ECKD) at ( 94: 8) is dasdc: active at blocksize: 4096,601020 blocks, 2347 MB
  • El disco de condición de partida se puede encajonar si este nodo se rearranca y ya no puede reconocer el disco de condición de partida:
    node01:~ # cat /proc/subchannels
    Device sch. Dev Type/Model CU in use PIM PAM POM CHPIDs
    --------------------------------------------------------------
    50DE   0A6F            FFFF/00          F0  A0  FF  7475E6E7 FFFFFFFF
    
    node01:~ # cat /proc/dasd/devices
    50de(ECKD) at ( 94: 8) is dasdc : boxed 
    Para interrumpir la reserva de disco de condición de partida, especifique el mandato /usr/sbin/rsct/bin/tb_break:
    tb_break -t ECKD /dev/dasdc
    El disco de condición de partida está reservado ahora por el nodo en buen estado.
Nota: Si el mandato tb_brk no funciona la primera vez, especifíquelo de nuevo.