---
name: "drbdadm-9.0"
section: "8"
platform: "linux"
package: "drbd-utils"
version: "9.22.0-1.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/drbdadm-9.0"
---

# drbdadm-9.0(8)

Utility for DRBD administration

## 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)](/drbd.conf/5.md). 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)](/drbdmeta/8.md) for details.

attach {*device*}

Attach a lower-level device to an existing replicated device. See [**drbdsetup**(8)](/drbdsetup/8.md) 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)](/drbdsetup/8.md) for details.

create-md {*device*}

Initialize the metadata of a device. This is necessary before a device can be attached; see [**drbdmeta**(8)](/drbdmeta/8.md) for details.

cstate {*connection*}

Show the current state of a connection. See [**drbdsetup**(8)](/drbdsetup/8.md) for details.

detach {*device*}

Detach the lower-level device of a replicated device. See [**drbdsetup**(8)](/drbdsetup/8.md) for details.

disconnect {*connection*}

Remove a connection to a peer host. See [**drbdsetup**(8)](/drbdsetup/8.md) for details.

disk-options {*device*}

Change the disk options of an attached lower-level device. See [**drbdsetup**(8)](/drbdsetup/8.md) for details.

down {*resource*}

Take a resource down by removing all volumes, connections, and the resource itself. See [**drbdsetup**(8)](/drbdsetup/8.md) for details.

dstate {*device*}

Show the current disk state of a lower-level device. See [**drbdsetup**(8)](/drbdsetup/8.md) 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)](/drbdmeta/8.md) 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)](/drbdsetup/8.md) 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)](/drbdsetup/8.md) for details.

invalidate-remote {*peer\_device*}

Replace a peer device's data of a resource with the local data. See [**drbdsetup**(8)](/drbdsetup/8.md) for details.

net-options {*connection*}

Change the network options of an existing connection. See [**drbdsetup**(8)](/drbdsetup/8.md) for details.

new-current-uuid {*device*}

Generate a new currend UUID. See [**drbdsetup**(8)](/drbdsetup/8.md) for details.

outdate {*device*}

Mark the data on a lower-level device as outdated. See [**drbdsetup**(8)](/drbdsetup/8.md) for details.

pause-sync {*peer\_device*}

Stop resynchronizing between a local and a peer device by setting the local pause flag. See [**drbdsetup**(8)](/drbdsetup/8.md) for details.

primary {*resource*}

Change the role of a node in a resource to primary. See [**drbdsetup**(8)](/drbdsetup/8.md) 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)](/drbdsetup/8.md) for details.

resource-options {*resource*}

Change the resource options of an existing resource. See [**drbdsetup**(8)](/drbdsetup/8.md) for details.

resume-sync {*peer\_device*}

Allow resynchronization to resume by clearing the local sync pause flag. See [**drbdsetup**(8)](/drbdsetup/8.md) for details.

role {*resource*}

Show the current role of a resource.

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)](/drbdsetup/8.md) 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)](/drbdsetup/8.md) 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)](/drbdsetup/8.md) 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)](/drbdsetup/8.md) for details.

wipe-md {*device*}

Wipe out the DRBD metadata of a device. See [**drbdmeta**(8)](/drbdmeta/8.md) for details.

forget-peer {*connection*}

Completely remove any reference to a unconnected peer from meta-data. See [**drbdmeta**(8)](/drbdmeta/8.md) 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.conf/5.md), [**drbd**(8)](/drbd/8.md), [**drbdsetup**(8)](/drbdsetup/8.md), [**drbdmeta**(8)](/drbdmeta/8.md) and the **DRBD project web site**\[1\]

## NOTES

- 1\.

  DRBD project web site

  http://www.drbd.org/
