DRBDADM(8)
π NAME π
okay bestie, meet drbdadm β the system-administration utility for DRBD administration, and yes, this is the DRBDADM(8) page. Itβs the high-level bestie that reads your configuration files (see drbd.conf(5)) and translates your vibe into one or more lower-level commands for drbdsetup and drbdmeta, which are the ones actually controlling the kernel module and doing the on-disk metadata manipulation. π
β¨ SYNOPSIS β¨
drbdadm [options...] [-- [backend-options...]] {command} {context...}
πΈ DESCRIPTION πΈ
Depending on the command, the drbdadm utility operates on one or more resources, devices, connections, or peer devices. The following command contexts are defined, and yes, you need to know them:
resourceβ a resource specified by name, or the keywordallfor 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. iconic behavior, honestly. β¨
π OPTIONS π
-d,--dry-runβ show which commandsdrbdadmwould execute instead of actually executing them (for example,drbdadm -d up resource). This can be a useful way to learn howdrbdsetupanddrbdmetaare used. vibe check before you commit, fr fr.-c,--config-file fileβ use an alternative configuration file. By default,drbdadmwill use 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 thedumpand thesh-nopcommands.-s,--drbdsetup fileβ specifies the full path to thedrbdsetupprogram. If this option is omitted,drbdadmwill look for it beneath itself first, and then in thePATH.-m,--drbdmeta fileβ specifies the full path to thedrbdmetaprogram. If this option is omitted,drbdadmwill look for it beneath itself first, and then in thePATH.-S,--stackedβ perform the command on a stacked resource.
π COMMANDS π
okay so hereβs the command menu, bestie. every single one, no skipping. π«Ά
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 allfollowed bydrbdadm up all), but without the interruptions.
note bestie: theadjustcommand can misinterpret the configuration change in some cases. To be safe, check what the command would do (with the--dry-runoption) before running the actual command. no cap, do the dry run. π
adjust-with-progress {resource}β the same asadjust, but with some more information about the commandβs progress.apply-al {device}β apply the activity log of the specified device. Seedrbdmeta(8)for details.repair-md {device}β check and repair metadata of the specified device. Seedrbdmeta(8)for details.attach {device}β attach a lower-level device to an existing replicated device. Seedrbdsetup(8)for details.check-resize {device}β calldrbdmetato 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 nextattachcommand can succeed.connect {connection}β activate an existing connection to a peer. The connection needs to be created first with thenew-peercommand, and have at least one path created with thenew-pathcommand. Seedrbdsetup(8)for details.create-md {device}β initialize the metadata of a device. This is necessary before a device can be attached; seedrbdmeta(8)for details.cstate {connection}β show the current state of a connection. Seedrbdsetup(8)for details.detach {device}β detach the lower-level device of a replicated device. Seedrbdsetup(8)for details.disconnect {connection}β remove a connection to a peer host. Seedrbdsetup(8)for details.disk-options {device}β change the disk options of an attached lower-level device. Seedrbdsetup(8)for details.down {resource}β take a resource down by removing all volumes, connections, and the resource itself. Seedrbdsetup(8)for details.dstate {device}β show the current disk state of a lower-level device. Seedrbdsetup(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. Seedrbdmeta(8)for details.get-gi {peer_device}β show the data generation identifiers for a device on a particular connection. Usesdrbdsetupfor attached devices anddrbdmetafor unattached devices. Seedrbdsetup(8)for details.hidden-commandsβ shows all commands which are not explicitly documented. secret menu energy. πinvalidate {peer_device}β replace the local data of a device with that of a peer. Seedrbdsetup(8)for details.invalidate-remote {peer_device}β replace a peer deviceβs data of a resource with the local data. Seedrbdsetup(8)for details.net-options {connection}β change the network options of an existing connection. Seedrbdsetup(8)for details.new-current-uuid {device}β generate a new current UUID. Seedrbdsetup(8)for details.outdate {device}β mark the data on a lower-level device as outdated. Seedrbdsetup(8)for details.pause-sync {peer_device}β stop resynchronizing between a local and a peer device by setting the local pause flag. Seedrbdsetup(8)for details.primary {resource}β change the role of a node in a resource to primary. Seedrbdsetup(8)for details.resize {device}β resize the lower-level devices of a replicated device on all nodes. This combines thecheck-resizeandresizelower-level commands; seedrbdsetup(8)for details.resource-options {resource}β change the resource options of an existing resource. Seedrbdsetup(8)for details.resume-sync {peer_device}β allow resynchronization to resume by clearing the local sync pause flag. Seedrbdsetup(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. do not ignore that part, bestie.show-gi {peer_device}β show the data generation identifiers for a device on a particular connection. In addition, explain the output. Seedrbdsetup(8)for details.state {resource}β this is an alias fordrbdsetup 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 theapply-aldrbdmetacommand and thenew-resource,new-device,new-minor,attach, andconnectdrbdsetupcommands.verify {peer_device}β start online verification, change which part of the device will be verified, or stop online verification. Seedrbdsetup(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. Seedrbdsetup(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. Seedrbdsetup(8)for details.wipe-md {device}β wipe out the DRBD metadata of a device. Seedrbdmeta(8)for details.forget-peer {connection}β completely remove any reference to an unconnected peer from meta-data. Seedrbdmeta(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 π
- DRBD project web site
http://www.drbd.org/
π cute sign-off, bestie: source/version is DRBD 9.0.x, this page is dated 17 January 2018, and the manual is DRBDADM(8). slay. periodt. π
π¦ where this page comes from
- opensuse-leap 16.0: drbd-utils 9.29.0-160000.3.1 Β· GPL-2.0-or-later
- opensuse-leap 16.0: drbd-utils 9.29.0-160000.3.1 Β· GPL-2.0-or-later
- opensuse-leap 16.0: drbd-utils 9.29.0-160000.3.1 Β· GPL-2.0-or-later
- opensuse-leap 16.0: drbd-utils 9.29.0-160000.3.1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms