| <?xml version="1.0"?> |
| <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> |
| <refentry id="re-drbdmeta"> |
| <refentryinfo> |
| <date>6 December 2012</date> |
| <productname>DRBD</productname> |
| <productnumber>9.0.0</productnumber> |
| </refentryinfo> |
| <refmeta> |
| <refentrytitle>drbdmeta</refentrytitle> |
| <manvolnum>8</manvolnum> |
| <refmiscinfo class="manual">System Administration</refmiscinfo> |
| </refmeta> |
| <refnamediv> |
| <refname>drbdmeta</refname> |
| <refpurpose>Manipulate the DRBD on-disk metadata<indexterm significance="normal"> |
| <primary>drbdmeta</primary> |
| </indexterm> |
| </refpurpose> |
| </refnamediv> |
| <refsynopsisdiv> |
| <cmdsynopsis sepchar=" "> |
| <command moreinfo="none">drbdmeta</command> |
| <arg choice="opt" rep="norepeat">--force</arg> |
| <arg choice="opt" rep="norepeat">--ignore-sanity-checks</arg> |
| <arg choice="req" rep="norepeat"> |
| <replaceable>device</replaceable> |
| </arg> |
| <group choice="req" rep="norepeat"> |
| <arg choice="plain" rep="norepeat">v06 <replaceable>minor</replaceable></arg> |
| <arg choice="plain" rep="norepeat">v07 <replaceable>meta_dev index</replaceable></arg> |
| <arg choice="plain" rep="norepeat">v08 <replaceable>meta_dev index</replaceable></arg> |
| <arg choice="plain" rep="norepeat">v09 <replaceable>meta_dev index</replaceable></arg> |
| </group> |
| <arg choice="req" rep="norepeat"> |
| <replaceable>command</replaceable> |
| </arg> |
| <arg choice="opt" rep="repeat"> |
| <replaceable>cmd args</replaceable> |
| </arg> |
| </cmdsynopsis> |
| </refsynopsisdiv> |
| <refsect1> |
| <title>Description</title> |
| <para>The <option>drbdmeta</option> utility is used for creating, |
| displaying, and modifying DRBD's on-disk metadata. Users usually |
| interact with the <option>drbdadm</option> utility, which provides a more |
| high-level interface to DRBD than <option>drbdmeta</option>. (See |
| <option>drbdadm</option>'s <option>--dry-run</option> option to see how |
| <option>drbdadm</option> uses <option>drbdmeta</option>.)</para> |
| |
| <para>This utility can only be used on devices which are not currently in |
| use by the kernel.</para> |
| |
| <para>The first argument (<replaceable>device</replaceable>) specifies the |
| drbd device associated with a volume, or <quote>-</quote> if no device is |
| associated with that volume. If the drbd device is specified, the |
| <option>drbdmeta</option> utility makes sure that the drbd device does |
| not currently have a volume attached to prevent meta-data of an active |
| volume from being destroyed.</para> |
| |
| <para>The second argument specifies the |
| metadata version to use (v06, v07, v08, v09). In most metadata versions, |
| the third argument (<replaceable>meta_dev</replaceable>) specifies the |
| device which contains the metadata; this argument can be the same as |
| <replaceable>device</replaceable>. The fourth argument |
| (<replaceable>index</replaceable>) can be one of the keywords |
| <option>internal</option> (for internal metadata), |
| <option>flex-internal</option> (in v07 for variable-sized metadata; v07 |
| otherwise defaults to fixed-size internal metadata), |
| <option>flex-external</option> (for variable-sized external metadata), or |
| a numeric matadata index (for fixed-size external metadata). See the |
| <option>meta-disk</option> parameter in <citerefentry> |
| <refentrytitle>drbd.conf</refentrytitle> <manvolnum>5</manvolnum> |
| </citerefentry>.</para> |
| </refsect1> |
| <refsect1> |
| <title>Options</title> |
| <variablelist> |
| <varlistentry> |
| <term>--force</term> |
| <listitem> |
| <para><indexterm significance="normal"><primary>drbdmeta</primary><secondary>--force</secondary></indexterm> |
| Assume yes as the answer to all questions drbdmeta would ask.</para> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term>--ignore-sanity-checks</term> |
| <listitem> |
| <para><indexterm significance="normal"><primary>drbdmeta</primary><secondary>--ignore-sanity-checks</secondary></indexterm> |
| Normally, <option>drbdmeta</option> performs some sanity checks |
| before writing to the metadata device: for example, if the device |
| appears to contain a file system, it refuses to destroy the file |
| system by writing into it. Use this option to ignore these |
| checks.</para> |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| </refsect1> |
| <refsect1> |
| <title>Commands</title> |
| <variablelist> |
| <varlistentry> |
| <term><option>create-md</option> |
| <arg choice="opt" rep="norepeat"><option>--peer-max-bio-size=</option><replaceable>val</replaceable></arg> (metadata versions v06, v07, and v08)</term> |
| <term><option>create-md</option> |
| <arg choice="req" rep="norepeat">number-of-bitmap-slots</arg> |
| <arg choice="opt" rep="norepeat"><option>--peer-max-bio-size=</option><replaceable>val</replaceable></arg> |
| <arg choice="opt" rep="norepeat"><option>--al-stripes=</option><replaceable>val</replaceable></arg> |
| <arg choice="opt" rep="norepeat"><option>--al-stripe-size-kB=</option><replaceable>val</replaceable></arg> (metadata version v09)</term> |
| <listitem> |
| <para><indexterm |
| significance="normal"><primary>drbdmeta</primary><secondary>create-md</secondary></indexterm> |
| Initialize the metadata. This is necessary before a DRBD resource |
| can be attached. If <option>drbdmeta</option> finds an older |
| version of DRBD metadata on the device, it asks if the format |
| should be converted.</para> |
| |
| <para>When <option>drbdadm</option> calls <option>drbdmeta</option>'s |
| <option>create-md</option> command for a device, it sets the |
| <replaceable>number-of-bitmap-slots</replaceable> argument to the |
| number of peers in the resource. To reserve additional bitmap |
| slots (which allows to add more peers in the future), call |
| <option>drbdmeta</option> directly instead.</para> |
| |
| <para>When a device is used before being connected to its peers the |
| first time, DRBD assumes that peers can only handle 4 KiB requests |
| by default. The <option>--peer-max-bio-size</option> option allows |
| to set more optimistic values; use this if the versions of DRBD |
| that this device will connect to are known. DRBD supports a |
| maximum bio size of 32 KiB since version 8.3.8, of 128 KiB since |
| version 8.3.9, and of 1 MiB since version 8.4.0.</para> |
| <para> |
| If you want to use more than 6433 activity log extents, or live on |
| top of a spriped RAID, you may specify the number of stripes |
| (<option>--al-stripes</option>, default 1), and the stripe size |
| (<option>--al-stripe-size-kB</option>, default 32). |
| To just use a larger linear on-disk ring-buffer, leave |
| the number of stripes at 1, and increase the size only: |
| <?linebreak?> |
| <command>drbdmeta 0 v08 /dev/vg23/lv42 internal create-md --al-stripe-size 1M</command> |
| </para> |
| <para> |
| To avoid a single "spindle" from becoming a bottleneck, |
| increase the number of stripes, to achieve an interleaved layout |
| of the on-disk activity-log transactions. |
| What you give as "stripe-size" should be what is a.k.a. "chunk size" |
| or "granularity" or "strip unit": the minimum skip to the next |
| "spindle". |
| <?linebreak?> |
| <command>drbdmeta 0 v08 /dev/vg23/lv42 internal create-md --al-stripes 7 --al-stripe-size 64</command> |
| </para> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><option>get-gi</option> |
| <arg rep="norepeat"><option>--node-id=</option><replaceable>id</replaceable></arg> |
| </term> |
| <listitem> |
| <para><indexterm |
| significance="normal"><primary>drbdmeta</primary><secondary>get-gi</secondary></indexterm> |
| Show the data generation identifiers for a device on a particular |
| connection. DRBD version 9.0.0 and beyond support multiple peers; |
| use the <replaceable>node-id</replaceable> option to define which |
| peer's data generation identifiers to show. |
| </para> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><option>show-gi</option> |
| <arg rep="norepeat"><option>--node-id=</option><replaceable>id</replaceable></arg> |
| </term> |
| <listitem> |
| <para><indexterm significance="normal"><primary>drbdmeta</primary><secondary>show-gi</secondary></indexterm> |
| Similar to <option>get-gi</option>, but with explanatory information. |
| </para> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><option>dump-md</option></term> |
| <listitem> |
| <para><indexterm |
| significance="normal"><primary>drbdmeta</primary><secondary>dump-md</secondary></indexterm> |
| Dump the metadata of a device in text form, including the bitmap |
| and activity log. |
| </para> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><option>outdate</option></term> |
| <listitem> |
| <para> |
| Mark the data on a lower-level device as outdated. See |
| <citerefentry> <refentrytitle>drbdsetup</refentrytitle> |
| <manvolnum>8</manvolnum> </citerefentry> for details. |
| </para> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><option>dstate</option></term> |
| <listitem> |
| <para> |
| Show the current disk state of a lower-level device. |
| </para> |
| </listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><option>check-resize</option></term> |
| <listitem> |
| <para><indexterm significance="normal"><primary>drbdmeta</primary><secondary>check-resize</secondary></indexterm> |
| Examine the device size of a lower-level device and its last known device size |
| (saved in <option>/var/lib/drbd/drbd-minor-<replaceable>minor</replaceable>.lkbd</option> |
| by <option>drbdsetup check-resize</option>). For internal metadata, |
| if the size of the lower-level device has changed and the metadata |
| can be found at the previous position, move the metadata to the new |
| position at the end of the block device. |
| </para> |
| </listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><option>apply-al</option></term> |
| <listitem> |
| <para><indexterm significance="normal"><primary>drbdmeta</primary><secondary>apply-al</secondary></indexterm> |
| Apply the activity log of the specified device. This is necessary |
| before the device can be attached by the kernel again. |
| </para> |
| </listitem> |
| </varlistentry> |
| |
| </variablelist> |
| </refsect1> |
| <refsect1> |
| <title>Expert commands</title> |
| <para>The <option>drbdmeta</option> utility can be used to fine tune |
| metdata. Please note that this can lead to destroyed metadata or even |
| silent data corruption; use with great care only. |
| </para> |
| <variablelist> |
| <varlistentry> |
| <term><option>set-gi</option> <replaceable>gi</replaceable> |
| <arg rep="norepeat"><option>--node-id=</option><replaceable>id</replaceable></arg> |
| </term> |
| <listitem> |
| <para><indexterm significance="normal"><primary>drbdmeta</primary><secondary>set-gi </secondary></indexterm> |
| Set the generation identifiers. The <replaceable>gi</replaceable> |
| argument is a generation counter for the v06 and v07 formats, and a |
| set of UUIDs for v08 and beyond. Accepts the same syntax as in the |
| <option>get-gi</option> output. DRBD version 9.0.0 and beyond |
| support multiple peers; use the <replaceable>--node-id</replaceable> |
| option to define which peer's data generation identifiers to set. |
| <!-- FIXME: only the bitmap value taken? or current overwritten, too? --> |
| </para> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><option>restore-md</option> <replaceable>dump_file</replaceable></term> |
| <listitem> |
| <para><indexterm significance="normal"><primary>drbdmeta</primary><secondary>restore-md </secondary></indexterm> |
| Replace the metadata on the device with the contents of |
| <replaceable>dump_file</replaceable>. The dump file format is |
| defined by the output of the <option>dump-md</option> command. |
| </para> |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| </refsect1> |
| <refsect1> |
| <title>Version</title> |
| <simpara>This document was revised for version 9.0.0 of the DRBD distribution.</simpara> |
| </refsect1> |
| <refsect1> |
| <title>Author</title> |
| <simpara>Written by Philipp Reisner <email>philipp.reisner@linbit.com</email> |
| and Lars Ellenberg <email>lars.ellenberg@linbit.com</email>. |
| </simpara> |
| </refsect1> |
| <refsect1> |
| <title>Reporting Bugs</title> |
| <simpara>Report bugs to <email>drbd-user@lists.linbit.com</email>. |
| </simpara> |
| </refsect1> |
| <refsect1> |
| <title>Copyright</title> |
| <simpara>Copyright 2001-2008,2012 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. |
| </simpara> |
| </refsect1> |
| <refsect1> |
| <title>See Also</title> |
| <para> |
| <citerefentry> |
| <refentrytitle>drbdadm</refentrytitle> |
| <manvolnum>8</manvolnum> |
| </citerefentry> |
| <citerefentry> |
| <refentrytitle>drbd.conf</refentrytitle> |
| <manvolnum>5</manvolnum> |
| </citerefentry> |
| </para> |
| </refsect1> |
| </refentry> |