OCF_HEARTBEAT_SG_PER(7)

NAME
ocf_heartbeat_sg_persist - Manages SCSI PERSISTENT RESERVATIONS

SYNOPSIS

sg_persist [start | stop | monitor | promote | demote | meta-data | validate-all]

DESCRIPTION

This resource agent manages SCSI PERSISTENT RESERVATIONS. "sg_persist" from sg3_utils is used, please see its documentation. Should be used as multistate (Master/Slave) resource Slave registers its node id ("crm_node -i") as reservation key ( --param-rk ) on each device in the "devs" list. Master reserves all devices from "devs" list with reservation "--prout-type" value from "reservation_type" parameter.

SUPPORTED PARAMETERS

binary
    The name of the binary that manages the resource.

    (optional, string, default "sg_persist")

devs
    Device list. Multiple devices can be listed with blank space as separator. Shell wildcards are allowed.

    (required, string, no default)

required_devs_nof
    Minimum number of "working" devices from device list 1) existing 2) "sg_persist --read-keys $device" works (Return code 0) resource actions "start","monitor","promote" and "validate-all" return "$OCF_ERR_INSTALLED" if the actual number of "working" devices is less then "required_devs_nof". resource actions "stop" and "demote" tries to remove reservations and registration keys from all working devices, but always return "$OCF_SUCCESS"

    (optional, string, default "1")

reservation_type
    reservation type

    (optional, string, default "1")

master_score_base
    master_score_base value "master_score_base" value is used in "master_score" calculation: master_score = $master_score_base + $master_score_dev_factor * $working_devs if set to bigger value in sg_persist resource configuration on some node, this node will be "preferred" for master role.

    (optional, string, default "0")

master_score_dev_factor
    Working device factor in master_score calculation each "working" device provides additional value to "master_score", so the node that sees more devices will be preferred for the "Master"-role Setting it to 0 will disable this behavior.

    (optional, string, default "100")

master_score_delay
    master/slave decreases/increases its master_score after delay of $master_score_delay seconds so if some device gets inaccessible, the slave decreases its master_score first and the resource will no be watched and after this device reappears again the master increases its master_score first this can work only if the master_score_delay is bigger then monitor interval on both master and slave Setting it to 0 will disable this behavior.

    (optional, string, default "30")

SUPPORTED ACTIONS

This resource agent supports the following actions (operations):

start
    Starts the resource. Suggested minimum timeout: 30s.

promote
    Promotes the resource to the Master role. Suggested minimum timeout: 30s.

demote
    Demotes the resource to the Slave role. Suggested minimum timeout: 30s.

notify
    Suggested minimum timeout: 30s.

stop
    Stops the resource. Suggested minimum timeout: 30s.

monitor (Slave role)
    Performs a detailed status check. Suggested minimum timeout: 20s. Suggested interval: 29s.

monitor (Master role)
    Performs a detailed status check. Suggested minimum timeout: 20s. Suggested interval: 60s.

meta-data
    Retrieves resource agent metadata (internal use only). Suggested minimum timeout: 5s.

validate-all
    Performs a validation of the resource configuration. Suggested minimum timeout: 30s.

EXAMPLE CRM SHELL

The following is an example configuration for a sg_persist resource using the crm(8) shell:

    primitive p_sg_persist ocf:heartbeat:sg_persist \
      params \
        devs=string \
      op monitor depth="0" timeout="20s" interval="29s" role="Slave" \
      op monitor depth="0" timeout="20s" interval="60s" role="Master"

    ms ms_sg_persist p_sg_persist \
      meta notify="true" interleave="true"

EXAMPLE PCS

The following is an example configuration for a sg_persist resource using pcs(8)

    pcs resource create p_sg_persist ocf:heartbeat:sg_persist \
      devs=string \
      op monitor depth="0" timeout="20s" interval="29s" role="Slave" \
      op monitor depth="0" timeout="20s" interval="60s" role="Master" --master

SEE ALSO

http://clusterlabs.org/

AUTHOR

ClusterLabs contributors (see the resource agent source for information about individual authors)