OCF_HEARTBEAT_MDRAID(7)

NAME
ocf_heartbeat_mdraid - Manages Linux software RAID (MD) devices on shared storage

SYNOPSIS

mdraid [start | stop | monitor | meta-data | validate-all]

DESCRIPTION

This resource agent manages Linux software RAID (MD) devices on a shared storage medium ensuring that non-clustered MD arrays are prohibited from starting cloned (which would cause data corruption (e.g., on raid6 arrays) unless forced (see force_clones parameter). Clustered MD RAID layouts (see below) will be discovered and allowed cloning by default; no need to set force_clones.

It uses mdadm(8) to start, stop, and monitor the MD devices.

Supported clustered (i.e., clonable active-active) arrays are linear, raid0, and clustered raid1/raid10 (i.e. mdadm(8) created with

--bitmap=clustered).

Option: OCF_CHECK_LEVEL

When OCF_CHECK_LEVEL is set to any number greater than 0, the standard monitor operation (including probe) will check the array and attempt recovery sequence to re-add devices if any failed device exists. By default, OCF_CHECK_LEVEL is unset, and this is disabled.

SUPPORTED PARAMETERS

mdadm_conf
    The MD RAID configuration file (e.g., /etc/mdadm.conf).

    (required, string, no default)

md_dev
    MD array block device to use (e.g., /dev/md0 or /dev/md/3). With shared access to the array's storage, this should preferably be a clustered raid1 or raid10 array created with --bitmap=clustered, assuming its resource will be cloned (i.e., active-active access).

    Be sure to disable auto-assembly for the resource-managed arrays!

    (required, string, no default)

force_stop
    If processes or kernel threads are using the array, it cannot be stopped. We will try to stop processes, first by sending TERM and then, if that doesn't help in seconds, using KILL. The lsof(8) program is required to get the list of array users. Of course, the kernel threads cannot be stopped this way. If the processes are critical for data integrity, then set this parameter to false. Note that in that case the stop operation will fail and the node will be fenced.

    (optional, boolean, default false)

wait_for_udev
    Wait until udevd creates a device in the start operation. On a normally loaded host this should happen quickly, but you may be unlucky. If you are not using udev set this to "no".

    (optional, boolean, default true)

force_clones
    Activating the same, non-clustered MD RAID array (i.e. single-host raid1/4/5/6/10) on multiple nodes at the same time will result in data corruption and thus is forbidden by default.

    A safe example could be an (exotic) array that is only named identically across all nodes, but is in fact based on distinct (non-shared) storage.

    Only set this to "true" if you know what you are doing!

    (optional, boolean, default false)

SUPPORTED ACTIONS

This resource agent supports the following actions (operations):

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

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

monitor
    Performs a detailed status check. Suggested minimum timeout: 20s. Suggested interval: 10s.

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

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

EXAMPLE CRM SHELL

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

    primitive p_mdraid ocf:heartbeat:mdraid \
      params \
        mdadm_conf=string \
        md_dev=string \
      op monitor depth="0" timeout="20s" interval="10s"

EXAMPLE PCS

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

    pcs resource create p_mdraid ocf:heartbeat:mdraid \
      mdadm_conf=string \
      md_dev=string \
      op monitor OCF_CHECK_LEVEL="0" timeout="20s" interval="10s"

SEE ALSO

http://clusterlabs.org/

AUTHOR

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