DRBDADM(8)

NAME
drbdadm - Utility for DRBD administration

SYNOPSIS

drbdadm [options...] [-- [backend-options...]] {command} {context...}

DESCRIPTION

The drbdadm utility is used for managing DRBD based on its configuration files, see drbd.conf(5). It translates high-level commands into one or more lower-level commands for the drbdsetup and drbdmeta utilities, which control the kernel module and manipulate the on-disk metadata.

Depending on the command, the drbdadm utility operates on one or more resources, devices, connections, or peer devices. The following command contexts are defined:

resource
    A resource specified by name, or the keyword all for all defined resources.

device
    A device, specified by minor number (minor-minornumber, e.g. minor-0) or by resource and volume number (resource/volume). If only a resource is specified, the command iterates over all devices of that resource.

connection
    A connection, specified by resource and connection name (resource:connection-name). If only a resource is specified, the command iterates over all connections of that resource.

peer_device
    A peer device, specified by resource, connection name, and volume number (resource:connection-name/volume). If only a resource, device, or connection is specified, the command iterates over all peer devices of that resource, device, or connection.

All options following a double-dash are passed through to the lower-level utilities as specified. In addition, drbdadm understands most of the options of drbdsetup, and will pass them through even without the double-dash.

OPTIONS

-d, --dry-run
    Show which commands drbdadm would execute instead of actually executing them (for example, drbdadm -d up resource). This can be a useful way to learn how drbdsetup and drbdmeta are used.

-c, --config-file file
    Use an alternative configuration file. By default, drbdadm will use the the first of the following files that exists: /etc/drbd-90.conf, /etc/drbd-84.conf, /etc/drbd-83.conf, /etc/drbd-82.conf, /etc/drbd-08.conf, /etc/drbd.conf.

-t, --config-to-test file
    Check an additional configuration file. This option is only allowed with the dump and the sh-nop commands.

-s, --drbdsetup file
    Specifies the full path to the drbdsetup program. If this option is omitted, drbdadm will look for it beneath itself first, and then in the PATH.

-m, --drbdmeta file
    Specifies the full path to the drbdmeta program. If this option is omitted, drbdadm will look for it beneath itself first, and then in the PATH.

-S, --stacked
    Perform the command on a stacked resource.

COMMANDS

adjust {resource}
    Adjust the configuration of the kernel module so that it matches the configuration files. The result should be the same as when stopping and restarting all resources (drbdadm down all followed by drbdadm up all), but without the interruptions.

    Note that the adjust command can misinterpret the configuration change in some cases. To be safe, check what the command would do (with the --dry-run option) before running the actual command.

adjust-with-progress {resource}
    The same as adjust, but with some more information about the command's progress.

apply-al {device}
    Apply the activity log of the specified device. See drbdmeta(8) for details.

repair-md {device}
    Check and repair metadata of the specified device. See drbdmeta(8) for details.

attach {device}
    Attach a lower-level device to an existing replicated device. See drbdsetup(8) for details.

check-resize {device}
    Call drbdmeta to eventually move internal meta data. If the backing device was resized, while DRBD was not running, meta data has to be moved to the end of the device, so that the next attach command can succeed.

connect {connection}
    Activate an exisiting connection to a peer. The connection needs to be created first with the new-peer command, and have at least one path created with the new-path command. See drbdsetup(8) for details.

create-md {device}
    Initialize the metadata of a device. This is necessary before a device can be attached; see drbdmeta(8) for details.

cstate {connection}
    Show the current state of a connection. See drbdsetup(8) for details.

detach {device}
    Detach the lower-level device of a replicated device. See drbdsetup(8) for details.

disconnect {connection}
    Remove a connection to a peer host. See drbdsetup(8) for details.

disk-options {device}
    Change the disk options of an attached lower-level device. See drbdsetup(8) for details.

down {resource}
    Take a resource down by removing all volumes, connections, and the resource itself. See drbdsetup(8) for details.

dstate {device}
    Show the current disk state of a lower-level device. See drbdsetup(8) for details.

dump {resource}
    Parse the configuration file and dump it to stdout. This will fail if the configuration file is syntactically incorrect.

dump-md {device}
    Dump the metadata of a device in text form, including the bitmap and activity log. See drbdmeta(8) for details.

get-gi {peer_device}
    Show the data generation identifiers for a device on a particular connection. Uses drbdsetup for attached devices and drbdmeta for unattached devices. See drbdsetup(8) for details.

hidden-commands
    Shows all commands which are not explicitly documented.

invalidate {peer_device}
    Replace the local data of a device with that of a peer. See drbdsetup(8) for details.

invalidate-remote {peer_device}
    Replace a peer device's data of a resource with the local data. See drbdsetup(8) for details.

net-options {connection}
    Change the network options of an existing connection. See drbdsetup(8) for details.

new-current-uuid {device}
    Generate a new currend UUID. See drbdsetup(8) for details.

outdate {device}
    Mark the data on a lower-level device as outdated. See drbdsetup(8) for details.

pause-sync {peer_device}
    Stop resynchronizing between a local and a peer device by setting the local pause flag. See drbdsetup(8) for details.

primary {resource}
    Change the role of a node in a resource to primary. See drbdsetup(8) for details.

resize {device}
    Resize the lower-level devices of a replicated device on all nodes. This combines the check-resize and resize lower-level commands; see drbdsetup(8) for details.

resource-options {resource}
    Change the resource options of an existing resource. See drbdsetup(8) for details.

resume-sync {peer_device}
    Allow resynchronization to resume by clearing the local sync pause flag. See drbdsetup(8) for details.

role {[resource] | [connection]}
    Show the current role of a resource or the role of a resource on a peer.

secondary {resource}
    Change the role of a node in a resource to secondary. This command fails if the replicated device is in use.

show-gi {peer_device}
    Show the data generation identifiers for a device on a particular connection. In addition, explain the output. See drbdsetup(8) for details.

state {resource}
    This is an alias for drbdsetup role. Deprecated.

up {resource}
    Bring up a resource by applying the activity log of all volumes, creating the resource, creating the replicated devices, attaching the lower-level devices, and connecting to all peers. See the apply-al drbdmeta command and the new-resource, new-device, new-minor, attach, and connect drbdsetup commands.

verify {peer_device}
    Start online verification, change which part of the device will be verified, or stop online verification. See drbdsetup(8) for details.

wait-connect {[device] | [connection] | [resource]}
    Wait until a device on a peer, all devices over a connection, or all devices on all peers are visible. See drbdsetup(8) for details.

wait-sync {[device] | [connection] | [resource]}
    Wait until a device is connected and has finished eventual resync operation. Also available on connection and resource level. See drbdsetup(8) for details.

wipe-md {device}
    Wipe out the DRBD metadata of a device. See drbdmeta(8) for details.

forget-peer {connection}
    Completely remove any reference to an unconnected peer from meta-data. See drbdmeta(8) for details.

VERSION

This document was revised for version 9.0.0 of the DRBD distribution.

AUTHOR

Written by Philipp Reisner <philipp.reisner@linbit.com> and Lars Ellenberg <lars.ellenberg@linbit.com>

REPORTING BUGS

Report bugs to <drbd-user@lists.linbit.com>.

COPYRIGHT

Copyright 2001-2018 LINBIT Information Technologies, Philipp Reisner, Lars Ellenberg. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

drbd.conf(5), drbd(8), drbdsetup(8), drbdmeta(8) and the DRBD project web site[1]

NOTES

1.  DRBD project web site
    http://www.drbd.org/