Provided by: drbd-utils_9.22.0-1.1_amd64 bug

NAME

       drbdsetup - DRBD カーネルモジュールを構成する

SYNOPSIS


       drbdsetup command {argument...} [option...]

DESCRIPTION

       drbdsetup ユーティリティは、DRBD カーネルモジュールを構成し、また現在の構成を表示する。ユーザは通常、
       drbdsetup でなく、DRBD に対してより高度なインタフェースを提供する drbdadm ユーティリティを通して使用す
       る。(drbdadmdrbdsetup をどのように使うかを表示するには drbdadm--dry-run オプションを使用する。)

       一部のオプション引数には、素の数値が指定されたときに適用されるデフォルトのスケールがある(たとえば、Kilo
       は数値の1024倍)。このようなデフォルトのスケールは、接尾辞を使用して上書きすることができる。(メガの場合
       は M)。共通の接尾語 K = 2^10 = 1024, M = 1024 K, G = 1024 M はサポートされている。

COMMANDS

       drbdsetup attach minor lower_dev meta_data_dev meta_data_index,
       drbdsetup disk-options minor
           attach コマンドは、下位デバイスを既存の複製デバイスに接続する。disk-options コマンドは、接続された下
           位デバイスのディスクオプションを変更する。複製されたデバイスは、 drbdsetup new-minor で作られている必
           要がある。

           複製されたデバイスをその minor 番号で指定する。lower_devは、下位レベルデバイスの名前であ
           る。meta_data_dev は、メタデータを含むデバイスの名前であり、 lower_dev と同じにでき
           る。meta_data_index は、数値のメタデータインデックス、内部メタデータ用のキーワード internal 、または
           可変サイズの外部メタデータ用のキーワード flexible のどれかである。利用可能なオプション:

           --al-extents extents
               DRBD は、直近の書き込み活動に基づいて、すぐに書き直される可能性のある「ホット」または「アクティ
               ブ」ディスク領域を自動的に維持する。「アクティブ」ディスク領域はすぐに書き込むことができるが、「
               非アクティブ」ディスク領域は最初に「アクティブ化」する必要があり、このためのメタデータ書き込みが
               必要である。このアクティブなディスク領域を「アクティビティログ」として参照する。

               アクティビティーログはメタデータに書き込まれるが、失敗したノードのリカバリー時にはログ全体を再同
               期化する必要がある。アクティビティログのサイズは、再同期にかかる時間やクラッシュ後に複製される
               ディスクが整合状態になる時間に影響を与える。

               アクティビティログは、4メガバイトのセグメントから構成される。その al-extents パラメータは、同時に
               アクティブにできるセグメントの数を決定する。al-extents のデフォルト値は 1237、 最小値は 7、 最大
               値は 65536 である。

               有効な最大値はもっと小さくなる点に注意が必要であり、メタデータのデバイスの作成方法によっても異な
               る。次のマニュアルページを参照、drbdmeta(8)。有効な最大値は 919 * (使用できる オンディスクのアク
               ティビティログのリングバッファ領域 /4KB -1) である。リングバッファはデフォルトで 32KB で、有効な
               最大値は 6433 である (データは 25GiB 以上カバーしている)。下位デバイスの量とレプリケーションリン
               ク全体が 5 分以内で再同期できるようにすることを推奨する。

           --al-updates {yes | no}
               このパラメータを使用すると、アクティビティログを完全にオフにすることができる(al-extents パラメー
               タを参照)。メタデータの書き込みが少なくて済むため、書き込みが高速になるが、故障したプライマリ
               ノードの回復のためにデバイス全体を再同期する必要がある。al-updates のデフォルト値は yes である。

           --disk-barrier,
           --disk-flushes,
           --disk-drain
               DRBD は、依存書き込みリクエストの順序を処理する 3 つの方法がある:

               disk-barrier
                   ディスクバリアを使用して、リクエストが正しい順序でディスクに書き込まれるようにする。バリアの
                   前に提出されたすべてのリクエストが、バリアの後に提出されたリクエストの前にディスクに書き込ま
                   れることを保証する。これは、SCSI デバイスの 'tagged command queuing' と SATA デバイスの
                   'native command queuing' を使用して実装される。一部のデバイスおよびデバイススタックのみがこの
                   方法をサポートする。デバイスマッパー (LVM) は、一部の構成でのみバリアをサポートする。

                   ディスクバリアをサポートしていないシステムで、このオプションを有効にするとデータが消失または
                   破損する可能性がある。DRBD 8.4.1 までは、下位デバイスがバリアをサポートする場合 disk-barrier
                   が有効でした。しかし、linux-2.6.36 (または RHEL6 の 2.6.32) 以降のカーネルでは、バリアがサ
                   ポートされているかどうかを検出できなくなりました。drbd-8.4.2 以降、このオプションはデフォルト
                   では無効であり、使用する場合は明示的に有効にする必要がある。

               disk-flushes
                   依存書き込みリクエスト間でディスクフラッシュを使用する(ドライブベンダーにより 'force unit
                   access' とも呼ばれる)。これにより、すべてのデータが強制的にディスクに格納される。このオプ
                   ションは、デフォルトで有効である。

               disk-drain
                   依存書き込みリクエストを送信する前に、リクエストキューが排出されるまで待つ(つまり、リクエス
                   トが完了するのを待つ)。この方法は、リクエストが完了するとディスク上で安定している。DRBD
                   8.0.9 より前は、これが実装された唯一の方法でした。このオプションは、デフォルトで有効であ
                   る。運用環境では無効にしないことを推奨する。

               これらの3つの方法から、DRBD は設定が有効で、下位デバイスもサポートしている最初のものを使用す
               る。これらの3つのオプションがすべて無効になっている場合、DRBD は依存関係を気にせずに書き込みリク
               エストを送信する。下位デバイスによって、書き込みリクエストを並べ替えることができ、異なるクラスタ
               ノード上で異なる順序で書き込みリクエストを送信できる。これは、データの損失または破損の原因とな
               る。したがって、書き込み順序を制御する 3 つの方法をすべて無効にしないことを推奨する。

               書込み順序を設定する一般的なガイドラインは、揮発性書込みキャッシュを備えた通常のディスク(または
               通常のディスクアレイ)を使用する場合は、disk-barrier または disk-flushes を使用することであ
               る。キャッシュを持たないストレージまたはバッテリバックアップのライトキャッシュでは、 disk-drain
               が適している。

           --disk-timeout
               DRBD デバイスのデータを格納する下位レベルデバイスが、指定した disk-timeout 以内で I/O リクエスト
               を完了しない場合、DRBD はこれを障害とみなす。下位デバイスは切り離され、デバイスのディスク状態は
               ディスクレス状態になる。DRBD が 1 台以上の対向ノードに接続したとき、失敗したリクエストはそのうち
               の 1 台に伝えられる。

               このオプションは カーネルパニックを引き起こす可能性があり、注意が必要である。

               リクエストの「中断」あるいはディスクの強制切り離しは、完全に下位デバイスをブロックまたはハンギン
               グして、リクエストをまったく処理せずエラーも処理しなくなる。この状況ではハードリセットとフェイル
               オーバ以外になす術がない。

               「中断」すると、基本的にローカルエラーの完了を装い、すみやかにサービスの移行を行うことで安全な切
               り替えを行う。それでもなお、影響を受けるノードは "すぐ" に再起動される必要はある。

               リクエストを完了することで、上位レイヤーに関連するデータページを再利用させることができる。

               後にローカルの下位デバイスが「復帰」すると、ディスクから元のリクエストページへの DMA のデータ
               は、うまくいくと未使用のページへランダムなデータを送るが、多くの場合その間に関係のないデータに変
               形してしまい、様々なダメージの原因になる。

               つまり遅延した正常な完了は、特に読み込みリクエストの場合 panic() の原因になる。遅延した「エ
               ラー」完了は、その都度に通知は行うが、問題ないと考えてよい。

               disk-timeout のデフォルト値は 0 であり、無限のタイムアウトを意味する。タイムアウトは 0.1 秒単位で
               指定する。このオプションは DRBD 8.3.12. から有効である。

           --md-flushes
               メタデータデバイスでディスクフラッシュとディスクバリアを有効にする。このオプションは、デフォルト
               で有効である。disk-flushes のパラーメータを参照。

           --on-io-error handler
               DRBD が下位レベルデバイスの I/O エラーにどのように反応するかを設定する。次のポリシーが定義される:

               pass_on
                   ディスクのステータスを inconsistent(不整合) にし、 I/O エラーを起こしたブロックに対応するビッ
                   トマップにマークをつけ、リモートのクラスターノード上で I/O 操作を再度行う。

               call-local-io-error
                   local-io-error ハンドラを呼び出す (handlers セクションを参照)。

               detach
                   下位レベルデバイスを切り離し、ディスクレスモードで続行する。

           --read-balancing policy
               policy 定義された読み取りリクエストで、クラスターノード間に負荷分散する。次のポリシーがサポートさ
               れる: prefer-local (デフォルト), prefer-remote, round-robin, least-pending,
               when-congested-remote, 32K-striping, 64K-striping, 128K-striping, 256K-striping, 512K-striping
               and 1M-striping.

               このオプションは、DRBD 8.4.1 から有効である。

           resync-after minor
               デバイスは、指定されたデバイスの後でのみ再同期する必要があることを定義する。デフォルトでは、デバ
               イス間の順序は定義されず、すべてのデバイスが並行して再同期される。下位レベルデバイスの構成、およ
               び使用可能なネットワークとディスクの帯域幅によっては、全体の再同期プロセスが遅くなる可能性があ
               る。このオプションは、デバイス間の依存関係チェーンやツリーを形成するために使用できる。

           --size size
               下位レベルデバイスのサイズを自動的に決定するのではなく、明示的に指定する。デバイスサイズは一度決
               定されると、デバイスのライフタイムの間、維持される。自動的に決定するには、すべてのノードのすべて
               の下位レベルデバイスの接続が必要であるが、サイズが明示的に指定されている場合は、これが必要でな
               い。size 値はデフォルトでセクタ (512バイト) 単位であるとみなされる。

           --discard-zeroes-if-aligned {yes | no}
               Linux のブロックデバイスで discard/trim/unmap のサポートにはいくつかの側面がある。discard が一般
               的にサポートされていても、暗黙に失敗したり、discard リクエストを部分的に無視したりすることがあ
               る。デバイスは、また、マップされていないブロックからの読み込みが、定義済みのデータ(通常はゼ
               ロ)、未定義のデータ(おそらく古いデータか、ゴミ)のどちらを返すか通知する。

               異なるノードで DRBD が discard 特性が異なるデバイスによって構成されている場合、discard はデータの
               不一致(古いデータまたはゴミが 1 つのバックエンドに残り、別のバックエンドではゼロが残る)の原因と
               なる。オンライン照合は、数多くの偽の差異を報告する可能性がある。たぶんほとんどのユースケース (
               ファイルシステム上の fstrim) では無害であるが、DRBD はそれを持つことはできない。

               安全に動作させるには、ローカルのバックエンド(プライマリ上)が "discard_zeroes_data=true" をサ
               ポートしていない場合、 discard のサポートを無効にする必要がある。受信側(セカンダリ)がマップされ
               ていなかった領域を割り当て、 "discard_zeroes_data = true" をサポートしていない場合、受信側で
               discard を明示的にゼロに変換する必要がある。

               discard をサポートしているのに、discard_zeroes_data = false をアナウンスするデバイス(特に LVM/DM
               シンプロビジョニング)がある。DM-thin の場合、チャンクサイズに合わせた discard はマップされ
               ず、マッピングされていないセクタからの読み込みはゼロを返す。ただし、discard リクエストのアライメ
               ントされていない部分ヘッドまたはテール領域は暗黙に無視する。

               整列したフル・チャンクの discard をパスし、これらの整列していない部分領域を明示的にゼロ・アウトす
               るヘルパーを追加すると、そのようなデバイスでは discard_zeroes_data = true を効果的に達成する。

                discard-zeroes-if-alignedyes に設定すると、 discard_zeroes_data = false を通知するバックエン
               ドであっても DRBD は discard を使用し、 discard_zeroes_data = true を通知する。

                discard-zeroes-if-alignedno に設定すると、それぞれのバックエンドが discard_zeroes_data =
               false をアナウンスする場合、DRBD は常に受信側でゼロアウトにフォールバックし、プライマリ側では
               discard に関して通知しない。

               私たちは、 discard_zeroes_data 設定を完全に無視していました。確立し、期待された動作を壊さず、シン
               プロビジョニング LV の fstrim がスペースを解放する代わりにスペースを使い果たさないためのデフォル
               ト値は yes である。

               このオプションは 8.4.7 から有効である。

           --disable-write-same {yes | no}
               一部のディスクは、WRITE_SAME サポートをカーネルに通知するが、実際にそのようなリクエストを受信する
               と、I/O エラーで失敗する。これは主に、仮想化されたディスクを使用しているときに発生する。特に、こ
               の動作は VMware の仮想ディスクで観察されている。

               disable-write-sameyes に設定すると、WRITE_SAME サポートが手動で無効にできる。

               disable-write-same のデフォルト値は no である。このオプションは 8.4.7 から有効である。

           --rs-discard-granularity byte
                rs-discard-granularity がゼロ以外の正の値に設定されている場合、DRBD はこのサイズで再同期操作をリ
               クエストする。そのようなブロックが同期ソースノード上にゼロバイトしか含まない場合、同期ターゲット
               ノードは、その領域に対して discard/trim/unmap コマンドを発行する。

               この値は、下位ブロックデバイスの discard 粒度によって制約される。 rs-discard-granularity が下位ブ
               ロックデバイスの discard 粒度の乗数でない場合、DRBD はそれを切り上げる。この機能は、下位ブロック
               デバイスが discard コマンドの後に、ゼロを読み戻す場合にのみアクティブになる。

               The usage of rs-discard-granularity may cause c-max-rate to be exceeded. In particular, the
               resync rate may reach 10x the value of rs-discard-granularity per second.

               デフォルト値は 0 である。このオプションは 8.4.7 から有効である。

       drbdsetup peer-device-options resource peer_node_id volume
           これらは、 peer のデバイスに影響を与えるオプションである。

           --c-delay-target delay_target,
           --c-fill-target fill_target,
           --c-max-rate max_rate,
           --c-plan-ahead plan_time
               再同期速度を動的に制御する。次のモードが使用できる。

               •   フィル・ターゲットによる動的制御 (デフォルト)。c-plan-ahead がゼロ以外で、c-fill-target がゼ
                   ロ以外の場合に有効になる。ゴールは、定義された量のデータでデータパスのバッファーを埋めること
                   である。このモードは DRBD プロキシを使用する場合に推奨される。 c-plan-ahead, c-fill-target,
                   c-max-rate で設定する。

               •   遅延ターゲットによる動的制御。c-plan-ahead がゼロ以外 (デフォルト) で、c-fill-target がゼロの
                   場合に有効になる。ゴールは、データパスで定義された遅延を持つことである。 c-plan-ahead,
                   c-delay-target, c-max-rate で設定する。

               •   固定した再同期レート。c-plan-ahead がゼロの場合に有効である。DRBD は、固定レートで再同期 I/O
                   を実行しようとする。 resync-rate で設定される。

               c-plan-ahead パラメーターは DRBD が再同期速度の変化にどのくらい速く適応するかを定義する。ネット
               ワークの往復時間の 5 倍以上に設定する必要がある。 c-plan-ahead のデフォルト値は 20 で 0.1 秒単位
               で設定する。

               c-fill-target パラメーターはどのくらいの量の再同期データを DRBD 実行中に常に持つかを定義する。通
               常のデータパスの一般的な値は 4K から 100K である。 c-fill-target のデフォルト値は 100 で単位はセ
               クターである。

               c-delay-target パラメータは DRBD が目指すべき再同期パスの遅延を定義する。これはネットワークの往復
               時間の 5 倍以上に設定する必要がある。 c-delay-target のデフォルト値は 10 で、0.1 秒単位である。

               c-max-rate パラメーターは、動的に制御される再同期で使用される最大帯域幅を制限する。これをゼロに設
               定すると、制限がなくなる(DRBD 9.0.28 以降)。DRBD ホストと DRBD プロキシをホストするマシン間で利
               用可能な帯域幅、または利用可能なディスク帯域幅のいずれかに設定する。 c-max-rate のデフォルト値は
               102400 で、単位は KiB/s である。

               動的な再同期速度制御は DRBD 8.3.9 から有効である。

           --c-min-rate min_rate
               同期元のプライマリノードは、アプリケーションの書き込みと再同期の書き込みの配分を管理する必要があ
               る。c-min-rate は、再同期の書き込みに使用できる帯域幅を制限する。残りの帯域幅はアプリケーションの
               書き込みに使用される。

               c-min-rate の値 0 は、再同期の書き込みに使用できる帯域幅に制限がないことを意味する。これによ
               り、アプリケーションの書き込みが大幅に遅くなる可能性がある。再同期速度の最低値は 1(1 KiB/s) で
               ある。

               c-min-rate のデフォルト値は 250 で、単位は KiB/s である。

           --resync-rate rate
               DRBD が再同期に使用できる帯域幅を定義する。DRBD では、再同期中でも「通常の」アプリケーション I/O
               が可能である。再同期の帯域幅が大きすぎると、アプリケーション I/O が非常に遅くなる可能性がある。こ
               のパラメータは、これを避けることができる。これは、動的な再同期コントローラが無効の場合にのみ機能
               する。

       drbdsetup check-resize minor
           指定された複製デバイスの下位デバイスの現在のサイズを記録する。drbdadm によって使用される。サイズ情報
           は、/var/lib/drbd/drbd-minor-minor.lkbd という名前で記録される。

       drbdsetup new-peer resource peer_node_id,
       drbdsetup net-options resource peer_node_id
           new-peer コマンドは、 resource に接続を作成する。リソースは drbdsetup new-resource で作成されている必
           要がある。net-options オプションは、既存の接続のネットワークオプションを変更する。connect コマンドで
           接続をアクティブにする前に、少なくとも1つのパスを new-path コマンドで追加する必要がある。利用可能なオ
           プション:

           --after-sb-0pri policy
               スプリットブレインが検出され、2 つのノードのいずれもプライマリでない場合の対応方法を定義する。(2
               つのノードが接続されたときにスプリットブレインを検出する、スプリットブレインの決定は常に2つのノー
               ド間である) 定義されたポリシーは次のとおり:

               disconnect
                   自動再同期はしない。単に切断する。

               discard-younger-primary,
               discard-older-primary
                   最初(discard-younger-primary)、または最後(discard-older-primary) にプライマリなったノード
                   から再同期する。両方のノードが独立してプライマリになった場合、 discard-least-changes ポリシー
                   が使用される。

               discard-zero-changes
                   スプリットブレイン状況が検出されてからノードの 1 つだけがデータを書き込んだ場合は、このノード
                   からもう 1 つのノードに再同期する。両方のノードがデータを書き込んだ場合は切断する。

               discard-least-changes
                   より多くの変更されたブロックを持つノードから再同期する。

               discard-node-nodename
                   名前付きノードと常に再同期する。

           --after-sb-1pri policy
               1 つのノードがプライマリ、もう 1 つのノードをセカンダリのときに、スプリットブレインが検出された場
               合の対応方法を定義する。(2 つのノードが接続されたときにスプリットブレインを検出する、スプリット
               ブレインの決定は常に2つのノード間である) 定義されたポリシーは次のとおり:

               disconnect
                   自動再同期を行わず接続を切断する。

               consensus
                   after-sb-0pri アルゴリズムの結果が現在のセカンダリノードのデータを破棄することになる場合、セ
                   カンダリノードのデータを破棄する。それ以外の場合は切断する。

               violently-as0p
                   プライマリのデータに大きな変更がある場合でも、常に after-sb-0pri アルゴリズムの判断を採用す
                   る。このポリシーは allow-two-primaries オプションを指定し、 1 ノードファイルシステム (OCF2 や
                   GFS ではない) を使用している場合のみ有用である。このオプションを使用すると、プライマリノード
                   がクラッシュする可能性があり、推奨しない。

               discard-secondary
                   セカンダリノード上のデータを破棄する。

               call-pri-lost-after-sb
                   常に after-sb-0pri アルゴリズムの判断を採用する。プライマリノードでデータを破棄することになる
                   場合は、 プライマリノードで pri-lost-after-sb ハンドラを呼び出す。

           --after-sb-2pri policy
               スプリットブレインが検出され、両方のノードがプライマリである場合の対応方法を定義する。(2 つの
               ノードが接続されたときにスプリットブレインを検出する、スプリットブレインの決定は常に2つのノード間
               である) 定義されたポリシーは次のとおり:

               disconnect
                   自動再同期を行わず接続を切断する。

               violently-as0p
                   after-sb-1priviolently-as0p ポリシーを参照。

               call-pri-lost-after-sb
                   そのマシンがセカンダリに降格できる場合を除いて、いずれかのマシンの pri-lost-after-sb ヘルパー
                   プログラムを呼び出す。ヘルパープログラムはマシンを再起動することが期待され、ノードをセカンダ
                   リにする。どのマシンがヘルパープログラムを実行するかは、 after-sb-0pri ポリシーによって決定さ
                   れる。

           --allow-two-primaries
               DRBD デバイスを構成する最も一般的な方法は、一度に 1 つのノードのみをプライマリ(したがって書き込
               み可能)にすることである。

               いくつかのシナリオでは、2 つのノードを一度にプライマリにしたい場合がある。 DRBD 以外のメカニズム
               で、共有され複製されたデバイスへの書き込みが調整される方法を使用する必要がある。これは、OCFS2 や
               GFS などの共有ストレージクラスタファイルシステム、または仮想マシンイメージと仮想マシンを物理マシ
               ン間で移動できる仮想マシンマネージャを使用して実行できる。

               allow-two-primaries は、2つのノードを同時にプライマリにすることを DRBD に指示する。非分散ファイル
               システムを使用する場合は、このオプションを有効にしてはならない。データ破損とノードクラッシュが発
               生する。

           --always-asbp
               通常、3 番目のノードが存在しないことが現在の UUID 値から明らかな場合のみ、スプリットブレイン発生
               後の修復ポリシーだけが適用される。

               このオプションを指定すると、両ノードのデータに関連性があるとして、スプリットブレイン発生後のポリ
               シーが適用される。UUID の分析により 3 番目のノードの存在が疑われる場合には、フル同期が行われるこ
               とがある。(または、なんらかの別の原因によって間違った UUID セットで判断してしまった場合)

           --connect-int time
               2つのノード間の接続が drbdsetup connect で構成される、DRBD はすぐに接続を確立しようとする。これが
               失敗すると、DRBD はconnect-int 秒後に接続を試みる。connect-int のデフォルト値は 10 秒である。

           --cram-hmac-alg hash-algorithm
               対向ノードの認証に使用するハッシュベースのメッセージ認証コード (HMAC) またはセキュアハッシュア
               ルゴリズムを構成する。カーネルはいくつかの異なるアルゴリズムをサポートしており、その中にはカーネ
               ルモジュールとしてロード可能なものもある。/proc/crypto にリストされている shash アルゴリズムを参
               照。デフォルトで cram-hmac-alg は設定されていない。対向ノードの認証には、shared-secret も構成する
               必要がある。

           --csums-alg hash-algorithm
               通常、2 つのノードが再同期するとき、同期ターゲットは同期ソースから非同期データを要求し、同期ソー
               スはデータを送信する。多くの使用パターンで、それらのブロックのかなりの数が実際には同一になってい
               る。

               csums-alg アルゴリズムが指定されている場合、同期ターゲットは、非同期データの要求と、現在持ってい
               るデータのハッシュ値も送信する。同期ソースは、このハッシュ値とそれ自身のバージョンのデータを比較
               する。ハッシュ値が異なる場合、新しいデータを同期ターゲットに送信し、そうでない場合はデータが同じ
               であることを通知する。これにより、必要なネットワーク帯域幅が削減されるが、CPU 使用率が高くな
               り、同期ターゲットの I/O が増加する可能性がある。

               csums-alg は、カーネルによってサポートされている安全なハッシュアルゴリズムの 1 つに設定できる。
               /proc/crypto にリストされている shash アルゴリズムを参照。デフォルトでは、 csums-alg 設定されてい
               ない。

           --csums-after-crash-only
               このオプション(および上記の csums-alg) を有効にすると、プライマリクラッシュ後の最初の再同期に対
               してのみチェックサムベースの再同期を使用するが、その後の「ネットワーク復帰」では使用しない。

               ほとんどの場合、再同期が必要であるとマークされたブロックは実際に変更されているため、チェックサム
               の計算、および再同期ターゲット上のブロックの読み書きはすべてオーバーヘッドである。

               チェックサムベースの再同期の利点は、大部分がプライマリのクラッシュリカバリの後である。リカバリで
               は、アクティビティログでカバーされるより大きな領域が再同期が必要なものとしてマークされてい
               る。8.4.5 から導入された。

           --data-integrity-alg  alg
               DRBD は通常、 TCP/IP プロトコルに組み込まれたデータ整合性チェックに依存するが、データ整合性アルゴ
               リズムが設定されている場合は、さらに、このアルゴリズムを使用して、ネットワーク経由で受信したデー
               タが送信者のものと一致することを確認する。データの整合性エラーが検出された場合、DRBD はネットワー
               ク接続を閉じ、再接続し、再同期を行う。

               data-integrity-alg は、カーネルによってサポートされている安全なハッシュアルゴリズムの 1 つに設定
               できる。 /proc/crypto にリストされている shash アルゴリズムを参照。デフォルトでは、このメカニズム
               は無効である。

               CPU のオーバーヘッドが発生するため、本番環境でこのオプションを使用しないことを推奨する。また、「
               データ整合性に関する注意」も参照。

           --fencing fencing_policy
               フェンシングは、両方のノードがプライマリで切断されている状態を回避するための予防措置である。これ
               はスプリットブレイン状態とも呼ばれている。DRBDは、次のフェンシングポリシーをサポートする:

               dont-care
                   フェンシングのためのアクションを実行しない。これがデフォルトのポリシーである。

               resource-only
                   ノードが切り離されたプライマリ状態になると、対向ノードをフェンシングしようとする。この動作は
                   fence-peer ハンドラによって行われる。このハンドラは、レプリケーション用とは別のネットワーク経
                   由で対向ノードにアクセスし、 そこで 'drbdadm outdate minor' の実行を想定する。

               resource-and-stonith
                   ノードが切り離されたプライマリ状態になると、 DRBD はすべてのディスク I/O を停止して
                   fence-peer ハンドラを呼び出す。このハンドラは、レプリケーション用とは別のネットワーク経由で対
                   向ノードにアクセスし、 そこで 'drbdadm outdate minor' の実行を想定する。これが実行できない場
                   合、 STONITH 機能を使って対向ノードを強制排除する。これらが完了したら、ディスク I/O を再開す
                   る。fence-peer ハンドラが失敗した場合、 'drbdadm resume-io' コマンドでディスク I/O を再開でき
                   る。

           --ko-count number
               セカンダリノードが書き込みリクエストを timeout 内で ko-count 回以上失敗した場合、そのセカンダリ
               ノードはクラスタから排除される。プライマリノードは、このセカンダリノードへの接続をスタンドアロン
               に設定する。この機能を無効にするには、明示的に 0 に設定する必要がある。デフォルトはバージョン間で
               変更されている。8.4 は 7 がデフォルト値である。

           --max-buffers number
               再同期、オンライン照合を行う際に、受信側で DRBD マイナーデバイスあたりに使用するメモリを制限す
               る。単位は PAGE_SIZE で、ほとんどのシステムで 4KiB である。設定できる最小値は 32 (=128 KiB) で
               ハードコードされている。これらバッファはディスクからの読み書きの際にデータブロックを保持するため
               に使用される。輻輳時のデッドロックを回避するために、この設定はハード制限というよりは閾値として使
               用される。最大バッファページが使用されると、プールからのそれ以上の割り当てが制限される。受信側の
               I/O バックエンドに余裕がない場合には、 max-buffers を増やすとよい。

           --max-epoch-size number
               書き込みバリアを発行する前に DRBD が発行できる書き込みリクエストの最大数を定義する。デフォルト値
               は 2048 で、最小値は 1 、最大値は 20000 である。このパラメータを 10 未満の値に設定すると、パ
               フォーマンスが低下する可能性がある。

           --on-congestion policy,
           --congestion-fill threshold,
           --congestion-extents threshold
               デフォルトでは、 TCP 送信キューが一杯になると、 DRBD は書き込みをブロックする。これにより、より多
               くのバッファスペースが再び利用可能になるまで、アプリケーションがさらに書き込みリクエストを生成す
               るのを防ぐ。

               DRBD を DRBD-proxy と一緒に使用する場合は、 送信キューがいっぱいになる前に DRBD を AHEAD/BEAIND
               モードに切り替える pull-ahead on-congestion ポリシーといっしょに使用することが望ましい。DRBD
               は、自身と対向ノードとの間の違いをビットマップに記録するが、もはや対向ノードに複製はしない。十分
               なバッファスペースが再び利用可能になると、ノードは対向ノードと同期を再開し、通常の複製に戻る。

               これには、キューがいっぱいになってもアプリケーションの I/O をブロックしないという利点があるが、対
               向ノードの同期が大幅に遅れるという欠点もある。また、再同期している間、対向ノードは
               inconsistent(不整合) になる。

               利用可能な congestion ポリシーは block (デフォルト), pull-ahead である。congestion-fill は、この
               接続で動作中に許可されているデータ量を定義する。デフォルト値は 0 で、この輻輳制御のメカニズムを無
               効にする(最大 10 ギガバイト)。congestion-extents は、 AHEAD/BEAIND モードに切り替える前にアク
               ティブにできるビットマップエクステントの数を定義する。 al-extents と同じデフォルトと制限をも
               つ。congestion-extents は、 al-extents より小さい値に設定した場合のみ有効である。

               AHEAD/BEHIND モードは DRBD 8.3.10 から有効である。

           --ping-int interval
               対向ノードへの TCP/IP 接続で ping-int 秒間に何も通信が行われなかった場合、DRBD はキープアライブパ
               ケットを送信して、対向ノードまたはネットワーク接続の失敗がすぐに検出されるようにする。デフォルト
               値は 10 秒で、最小値は 1 、最大値は 120 秒である。単位は秒である。

           --ping-timeout timeout
               キープアライブパケットへの応答のタイムアウトを定義する。対向ノードが ping-timeout 間で応答しない
               場合、 DRBD は接続を終了し、再接続しようとする。デフォルト値は 0.5 秒で、最小値は 0.1 秒、最大値
               は 30 秒である。単位は 10 分の 1 秒である。

           --socket-check-timeout timeout
               DRBD-Proxy を使っていて大量のバッファを確保する必要がある環境では ping-timeout に非現実的な大きな
               値を指定しなければならないことがある。TCP コネクションが開始したときの安定するのを待つ局面でも、
               DRBD はデフォルトで ping-timeout を使ってしまう。DRBD-Proxy は通常、同じデータセンターに配置され
               ているため、長い待機時間は DRBD の接続プロセスを妨げる可能性がある。

               このような場合、socket-check-timeout に DRBD と DRBD-Proxy 間の round trip time(RTT) を設定すると
               よい。たいていの場合 1 である。

               デフォルトの単位は 10 分の 1 秒である。デフォルト値は 0 で socket-check-timeout 値の代わりに
               ping-timeout 値を使用する。8.4.5 から導入された。

           --protocol name
               この接続で指定されたプロトコルを使用する。サポートされているプロトコルは次のとおり:

               A
                   DRBD デバイスへの書き込みは、ローカルディスクへの書き込みと TCP/IP 送信バッファに到達した時点
                   で完了とする。

               B
                   DRBD デバイスへの書き込みは、ローカルディスクへの書き込みと、すべての対向ノードが書き込みリク
                   エストを受信をした時点で完了とする。

               C
                   DRBD デバイスへの書き込みは、ローカルディスクとすべてのリモートディスクへの書き込みが終わった
                   時点で完了とする。

           --rcvbuf-size size
               TCP/IP 受信バッファのサイズを指定する。0(デフォルト) を指定すると、バッファサイズが動的に調整さ
               れる。このパラメータは通常設定する必要はないが、最大 10MiB まで設定できる。デフォルトの単位はバイ
               トである。

           --rr-conflict policy
               このオプションは、再同期決定の結果がクラスタ内の現在のロール割り当てと互換性がない場合を解決する
               のに役立つ。定義されたポリシーは次のとおり:

               disconnect
                   自動再同期を行わず接続を切断する。

               retry-connect
                   今すぐ切断し、その後すぐに再接続する。

               violently
                   プライマリノードへの再同期が許可され、ブロックデバイス上のデータがノードの 1 つに対して安定し
                   ているという前提に反す。このオプションは危険であり、使ってはならない。

               call-pri-lost
                   どこか 1 つのマシンで pri-lost ハンドラを呼び出す。ハンドラはマシンを再起動することが期待さ
                   れ、ノードをセカンダリにする。

               auto-discard
                   Auto-discard reverses the resync direction, so that DRBD resyncs the current primary to the
                   current secondary.  Auto-discard only applies when protocol A is in use and the resync
                   decision is based on the principle that a crashed primary should be the source of a resync.
                   When a primary node crashes, it might have written some last updates to its disk, which were
                   not received by a protocol A secondary. By promoting the secondary in the meantime the user
                   accepted that those last updates have been lost. By using auto-discard you consent that the
                   last updates (before the crash of the primary) should be rolled back automatically.

           --shared-secret secret
               対向ノードの認証に使用する共有秘密鍵を設定する。secret は 64 文字までで指定する。対向ノードの認証
               には、 cram-hmac-alg も設定する必要がある。

           --sndbuf-size size
               TCP/IP 送信バッファのサイズを指定する。DRBD 8.0.13/8.2.7 以降、 0 (デフォルト) を指定する
               と、バッファサイズが動的に調整される。32 KiB 未満の値は、この接続のスループットに有害である。大き
               なバッファサイズは、プロトコル A が遅延の大きいネットワークで使用される場合に特に有用である。サ
               ポートされる最大値は 10 MiB である。

           --tcp-cork
               デフォルトで、DRBD は TCP_CORK ソケットオプションを使用して、カーネルが部分的なメッセージを送信し
               ないようにする。その結果、ネットワーク上のパケット量が少なくなり、サイズが大きくなる。一部のネッ
               トワークスタックでは、この最適化で悪化する可能性がある。tcp-cork を使用してこの最適化を無効にする
               ことができる。

           --timeout time
               ネットワークを介した応答のタイムアウトを定義する。対向ノードが指定された timeout 時間内で応答を送
               信しない場合、対向ノードが死んだと判断して TCP/IP コネクションを切断する。タイムアウト値は、
               connect-intping-int より小さい値でなければならない。デフォルトは 6 秒である。値は 10 分の 1 秒
               単位で指定する。

           --use-rle
               クラスタノード上の複製された各デバイスには、それぞれの対向ノードデバイス用の個別のビットマップが
               あある。このビットマップは、ローカルデバイスと対向ノードデバイスの違いを追跡するために使用され
               る。クラスタの状態によっては、デバイスのビットマップ、対向ノードデバイスのビットマップ、または両
               方のビットマップにディスクが異なるとマークできる。2つのクラスタノードが接続すると、相互のビット
               マップを交換し、ローカルと対向ノードのビットマップを検査して全体的な違いを判断する。

               非常に大きなデバイスのビットマップは比較的大きいが、通常、ランレングス符号化を使用して非常にうま
               く圧縮される。これにより、ビットマップ転送の時間と帯域幅を節約できる。

               use-rle は run-length エンコーディングを使用するかどうかを指定する。DRBD 8.4.0 以降デフォルトで有
               効である。

           --verify-alg hash-algorithm
               オンライン照合(drbdadm verify) は、ディスクブロックのチェックサム(すなわち、ハッシュ値)を計算
               して比較し、それらが異なるかどうかを検出する。verify-alg は、これらのチェックサムに使用するアルゴ
               リズムを決定する。オンライン照合を使用するには、カーネルでサポートされている安全なハッシュアルゴ
               リズムの1つに設定する必要がある。 /proc/crypto にリストされている shash アルゴリズムを参照。

               低負荷の期間(例えば、月に1回)で定期的にオンライン照合をスケジュールすることを推奨する。また、「
               データ整合性に関する注意」も参照。

       drbdsetup new-path resource peer_node_id local-addr remote-addr
           new-path コマンドは、接続にパスを作成する。接続は drbdsetup new-peer で作成されている必要があ
           る。local_addr, remote_addr は、ローカルとリモートのプロトコル、ネットワークアドレス、ポートの形式を
           [address-family:]address[:port] で参照する。アドレスファミリは、 ipv4, ipv6, ssocks (Dolphin
           Interconnect Solutionsの「スーパーソケット」), sdp (Infiniband Sockets Direct Protocol), sci がサポー
           トされる(sci は、 ssocks の別名である)。アドレスファミリが指定されていない場合、 ipv4 を仮定す
           る。ipv6 アドレスファミリ以外は、 address に IPv4 アドレス表記を使用する(たとえば、1.2.3.4)。ipv6
           アドレスは角括弧で囲み、 IPv6 アドレス表記法を使用する(たとえば、 [fd01:2345:6789:abcd ::
           1])。port のデフォルトは 7788 である。

       drbdsetup connect resource peer_node_id
           connect コマンドは接続をアクティブにする。つまり、DRBD ドライバは接続パスのすべてのローカルアドレスを
           バインドしてリッスンする。接続パスを 1 つ以上確立しようとする。利用可能なオプション:

           --tentative
               対向ノードへの接続が確立できるかどうか、および実際に接続を確立したり、再同期を開始したりすること
               なく、再同期が必要かどうか(また、その方向も)を判断する。--tentative なしだと、DRBD が何をするか
               システムログを調べて、確認する。

           --discard-my-data
               ローカルデータを破棄して、最新データを持つ対向ノードと再同期する。スプリットブレイン状態から復旧
               するときに、このオプションを手作業で指定する。

       drbdsetup del-peer resource peer_node_id
           del-peer コマンドは、 resource から接続を削除する。

       drbdsetup del-path resource peer_node_id local-addr remote-addr
           del-path コマンドは、接続からパスを削除する。接続先の接続を維持するためにパスが必要な場合は失敗しない
           ようにする。すべてのパスを削除するには、まず接続を切断する。

       drbdsetup cstate resource peer_node_id
           接続の現在の状態を表示する。接続は、対向ノードの node-id によって識別される。drbdsetup connect コマン
           を参照。

       drbdsetup del-minor minor
           複製されたデバイスを削除する。下位レベルのデバイスに接続できまない。drbdsetup detach を参照。

       drbdsetup del-resource resource
           リソースを削除する。すべてのボリュームと接続を最初に削除する必要がある (drbdsetup del-minordrbdsetup disconnect)。あるいは、 drbdsetup down すべてのボリュームと接続とともにリソースを削除する
           ために使用できる。

       drbdsetup detach minor
           複製されたデバイスの下位デバイスを切り離す。利用可能なオプション:

           --force
               強制的に切り離し、すぐに戻る。これにより、保留中のすべての I/O が完了するまで下位レベルのデバイス
               が失敗した状態になり、デバイスが切り離される。下位レベルのデバイスにまだ送信されていない I/O (デ
               バイスの I/O が中断されたなど) は失敗したものとみなされる。

       drbdsetup disconnect resource peer_node_id
           対向ノードへの接続を削除する。接続は、対向ノードの node-id によって識別される。drbdsetup connect コマ
           ンを参照。

       drbdsetup down {resource | all}
           すべてのボリューム、接続、およびリソース自体を削除して、リソースを落とす。

       drbdsetup dstate minor
           下位デバイスの現在のディスク状態を表示する。

       drbdsetup events2 {resource | all}
           設定されたすべての DRBD オブジェクトの現在の状態、状態へのすべての変更を表示する。

           出力形式は、機械だけでなく人も読める形式である。各行は、イベントの種類を示す単語で始まる: exists は既
           存オブジェクトの場合; create, destroy, change はオブジェクトが作成、破棄、変更された場合; call,
           response はイベントハンドラが呼び出された、戻った場合、rename はオブジェクトの名前が変更された場合。2
           番目の単語は、イベントが適用されるオブジェクトを示す: resource, device, connection, peer-device,
           helper, 現在の状態が完全にダンプされたことを示すための dash (-) 。

           残りの単語はオブジェクトを識別し、オブジェクトが入っている状態を記述する。いくつかの特別なキーは言及
           する価値がある:

           resource may_promote:{yes|no}
               プライマリへの昇格が成功すると予想されるかどうか。 quorum が有効になっている場合、これを使用して
               フェイルオーバーをトリガーできる。このノードで may_promote:yes が報告されると、他のノードでは書き
               込みができなくなる。つまり、通常、アプリケーションが別のノードで実行されている場合でも、このノー
               ドでアプリケーションを起動できるようになる。

           resource promotion_score:score
               このリソースをプロモートするための相対的なヒューリスティック整数。ローカルディスクがあり、最新の
               データにアクセスできるという点では、スコアが高いほど優れている。一部のノードがプライマリである場
               合でも、スコアは正の場合がある。クォーラムまたは最新データへのアクセスがないためにプロモーション
               が不可能な場合は、0 になる。

           利用可能なオプション:

           --now
               現在の状態を報告した後に終了する。デフォルトでは、継続的に監視し、状態の変化を報告する。

           --poll
               stdin を読み込み、n キーが入力されたときに更新する。改行は無視され、他のすべての入力はコマンドを
               終了する。

               --now オプションがない場合は、出力を継続する。n キーごとに現在の状態がフェッチされるが、変更され
               たオブジェクトのみが出力される。これは、統計が変更された場合にのみしか DRBD が更新を送信しないた
               め、--statistics または --full とともに使用すると便利である。

               --now オプションとともに使用されると、完全な状態が n キーごとに出力される。その他の変更は出力され
               ない。

           --statistics
               統計情報を出力に含める。

           --diff
               古い状態と新しい状態を diff 形式で情報を書き出す。状態追跡を必要とするツールに便利である。

           --full
               特に変更イベント関して完全な状態情報を書き出す。これは --statistics--verbose を有効にする。

       drbdsetup get-gi resource peer_node_id volume
           特定の接続上のデバイスのデータ世代識別子を表示する。デバイスは、そのボリューム番号によって識別され
           る。接続はそのエンドポイントによって識別される。drbdsetup connect コマンドを参照。

           出力は、現在の UUID、ビットマップ UUID、および最初の2つの履歴 UUID で構成され、一連のフラグが続く。現
           在の UUID と履歴 UUID はデバイス固有である。ビットマップ UUID およびフラグは、対向ノードのデバイス固
           有である。このコマンドは、最初の2つの履歴 UUID のみを表示する。内部的には、DRBD は各対向ノードのデバ
           イスの履歴 UUID を1つ保持する。

       drbdsetup invalidate minor
           デバイスのローカルデータを対向ノードのローカルデータで置き換える。すべてのローカルデータが非同期と
           マークされ、指定された対向ノードデバイスとの再同期が始まる。

           利用可能なオプション:

           --reset-bitmap=no
               通常、invalidate は対向ノードからの再同期を開始する前に、ビットマップのすべてのビットを
               out-of-sync に設定する。--reset-bitmap=no を指定すると、DRBD はビットマップをそのまま使用する。通
               常、これはオンライン検証で下位デバイスの違いが見つかった後に使用される。

               --reset-bitmap オプションは、DRBD カーネルドライバー 9.0.29 および drbd-utils9.17 以降で使用でき
               る。

           --sync-from-peer-node-id
               このオプションを指定すると、呼び出し元は再同期するノードを選択できる。指定しない場合、DRBD は適切
               なソースノードを選択する。

       drbdsetup invalidate-remote resource peer_node_id volume
           対向ノードのリソースデータをローカルデータで置き換える。対向ノードデバイスのデータは非同期にマークさ
           れ、ローカルノードから指定された対向ノードへの再同期が始まる。

           利用可能なオプション:

           --reset-bitmap=no
               通常、invalidate remote は対向ノードへの再同期を開始する前に、ビットマップのすべてのビットを
               out-of-sync に設定する。--reset-bitmap=no を指定すると、DRBD はビットマップをそのまま使用する。通
               常、これはオンライン検証で下位デバイスに違いが見つかった後に使用される。

               --reset-bitmap オプションは、DRBD カーネルドライバー 9.0.29 および drbd-utils9.17 以降で使用でき
               る。

       drbdsetup new-current-uuid minor
           Generate a new current UUID and rotates all other UUID values. This has three use cases: start the
           initial resync; skip the initial resync; bootstrap a single node cluster.

           利用可能なオプション:

           --force-resync
               Start an initial resync. A precondition is that the volume is in disk state Inconsistent on all
               nodes. This command updates the disk state on the current node to UpToDate and makes it source of
               the resync operations to the peers.

           --clear-bitmap
               Clears the sync bitmap in addition to generating a new current UUID. This skips the initial
               resync. As a consqeuence this volume's disk state changes to UpToDate on all nodes in this
               resource.

           Both operations require a "Just Created" meta data. Here is the complete sequence step by step how to
           skip the initial resync:

            1. 両ノードでメタデータを初期化してデバイスを設定する。

               drbdadm create-md --force res/volume-number

            2. それぞれのサイズを知るために初期ハンドシェークが必要となる。

               drbdadm up res

            3. Secondary/Secondary Inconsistent/Inconsistent の状態で接続される。新しい現在 UUID を作りダーティ
               なビットマップをクリアする。

               drbdadm --clear-bitmap new-current-uuid res

            4. Secondary/Secondary UpToDate/UpToDate の状態で接続される。片方をプライマリに切り替えてファイルシ
               ステムを作成する。

               drbdadm primary res

               mkfs -t fs-type $(drbdadm sh-dev res/vol)

           この方法の明らかな欠点は、別の方法でディスク内容を同一にしない限り、複製物全体に古いゴミのデータが残
           ることである。このため、オンライン照合は多数の非同期ブロックを見出してしまう。

           この方法は、すでにデータのあるディスクに適用してはならない! 最初は動作しているように見えても、ノード
           の切り替えを行うとデータが壊れてしまい二度と使えなくなる。そのため、mkfs を省略してはならない (また
           はそれに相当する操作)。

           Bootstraping a single node cluster
               このコマンドは、最初のノードを本稼働させた後でディスク自体を 2 番目のノードに移すという手法によ
               り、クラスタの初期化時間を短縮する目的にも適用できる。この方法は、切断されたデバイスに対してのみ
               有効である。デバイスのロールはプライマリでもセカンダリでもよい。

               必要なステップは以下のとおり:

                1. drbdsetup new-current-uuid --clear-bitmap minor

                2. 現在のアクティブなサーバのディスクをコピーする。たとえば RAID1 コントローラ配下のディスクを 1
                   本抜く、 dd でコピーするなど。実際のデータ領域とメタデータの両方をコピーする必要がある。

                3. drbdsetup new-current-uuid minor

               このディスクをセカンダリのノードに挿入してクラスタに参加させる。ステップ 1 での drbdsetup の実行
               以降に変更した箇所の再同期が行われる。

       drbdsetup new-minor resource minor volume
           リソース内に新しい複製されたデバイスを作成する。このコマンドは、複製されたデバイス用のブロックデバイ
           スの inode を作成する(デフォルトでは、/dev/drbdminor)。volume 番号は resource 内のデバイスを認識す
           る。

       drbdsetup new-resource resource node_id,
       drbdsetup resource-options resource
           new-resource コマンドは、新しいリソースを作成する。resource-options コマンドは、既存のリソースのリ
           ソースオプションを変更する。利用可能なオプション:

           --auto-promote bool-value
               書き込みのためにデバイスをマウントまたはオープンする前に、リソースをプライマリに昇格させる必要が
               ある。

               DRBD 9 より前は、これを明示的に行う必要があった( "drbdadm primary")。DRBD 9 以降、 auto-promote
               を使用すると、デバイスの 1 つが書き込み用にマウントまたはオープンされるときに、リソースをプライマ
               リに自動的に昇格させることができる。すべてのデバイスがアンマウントされるか、オープンしているユー
               ザがいなくなると、すぐにリソースの役割がセカンダリになる。

               自動プロモーションは、クラスタの状態が許可する場合にのみ成功する(つまり、明示的な drbdadm
               primary コマンドが成功するなら)。それ以外の場合は、DRBD 9 より前と同様にデバイスのマウントまたは
               オープンが失敗する: mount(2) システムコールは、 errno を EROFS(読み取り専用ファイルシステム) に
               設定して失敗する。open(2) システムコールは、 errno を EMEDIUMTYPE(メディアタイプが間違っている)
               に設定してが失敗する。

               auto-promote の設定に関係なく、デバイスが明示的に昇格された場合 (drbdadm primary)、明示的に降格
               する必要がある(drbdadm secondary)。

               auto-promote は DRBD 9.0.0 から有効で、デフォルトは yes である。

           --cpu-mask cpu-mask
               DRBD のカーネルスレッドに CPU アフィニティマスクを設定する。CPU マスクは 16 進数で指定する。デ
               フォルト値は 0 で、スケジューラがどの CPU 上でカーネルスレッドを実行するかを決定する。システムに
               存在しない cpu-mask CPU番号は無視される。

           --on-no-data-accessible policy
               要求されたデータがローカルまたはリモートで使用できない場合に(たとえば、すべてのディスクに障害が
               発生した場合など)、どのように I/O 要求を処理するかを決定する。クォーラムが有効になっている場合は
               on-no-data-accessibleon-no-quorum と同じ値に設定する必要がある。定義されたポリシーは次のとお
               り:

               io-error
                   errno を EIO に設定してシステムコールは失敗する。

               suspend-io
                   リソースは I/O を中断する。下位レベルのデバイスを接続(再接続)したり、データにアクセスできる
                   対向ノードに接続したり、drbdadm resume-io res で DRBD に I/O を再開させたりすることで、 再開
                   できる。データがない場合、 I/O を強制的に再開すると、 io-error ポリシーと同じ結果になる。

               この設定は、DRBD 8.3.9 から有効である。デフォルトのポリシーは io-error である。

           --peer-ack-window value
               各ノード上の各デバイスのために、DRBD は、ローカルデータと各対向ノードデバイスのリモートデータの差
               分のビットマップを維持する。例えば、それぞれが単一デバイスを有する 3 ノード構成 (ノード
               A、B、C) において、各ノードは、各対向ノードに対して 1 つのビットマップを維持する。

               ノードが書き込みリクエストを受け取ると、書き込みノードのビットマップを更新する方法はわかる
               が、ノード間のビットマップを更新する方法はわからない。この例では、書き込みリクエストがノード A か
               ら B および C に伝搬するとき、ノード B および C はノード A と同じデータを有するが、両方が同じデー
               タを有するか不明である。

               是正措置として、書き込みノードは、時には、相手との間にどのような状態があるかを示すピアツーピアパ
               ケットを対向ノードに送信する。

               peer-ack-window は、peer-ack パケットを送信する前に、プライマリノードが送信するデータ量を指定す
               る。値が小さいとネットワークトラフィックが増加する。値が大きいとネットワークトラフィックは減少す
               るが、セカンダリノードのメモリ消費量が大きくなり、プライマリノードの障害後に、セカンダリノード間
               の再同期時間が長くなる。(注:peer-ack パケットは、他の理由でも送信される場合がある。たとえば、メ
               ンバーシップの変更または peer-ack-delay タイマーの満了など)。

               peer-ack-window のデフォルト値は、2 MiB であり、単位はセクタである。このオプションは 9.0.0 から有
               効である。

           --peer-ack-delay expiry-time
               最後に終了した書き込みリクエストの後に expiry-time 間、新しい書き込みリクエストが発行されない場
               合、peer-ack パケットが送信される。タイマーが満了する前に新しい書き込みリクエストが発行される
               と、タイマーは expiry-time にリセットされる。(注:peer-ack パケットは、他の理由でも送信される場
               合がある。たとえば、メンバーシップの変更または peer-ack-window オプションなど)。

               このパラメータは、リモートノードの再同期動作に影響を与える可能性がある。対向ノードは、 AL-extent
               のロックを解除する peer-ack を受信するまで待つ必要がある。対向ノード間の再同期操作は、これらの
               ロックを待つ必要がある。

               peer-ack-delay のデフォルト値は、100 ミリ秒であり、単位はミリ秒である。このオプションは 9.0.0 か
               ら有効である。

           --quorum value
               有効にすると、レプリケートされたデータセットを変更するために、クラスタパーティションはクォーラム
               を必要とする。つまり、クラスタパーティション内のノードは、クラスタパーティションにクォーラムがあ
               る場合にのみプライマリに昇格できる。昇格すべきノードにディスクが直接接続されているすべてのノード
               が対象である。プライマリノードが書き込みリクエストを実行する必要があるが、クラスタパーティション
               がクォーラムを失った場合、 I/O をフリーズするか、または書き込みリクエストを拒否する(on-no-quorum
               の設定に依存)。クォーラムが失われると、プライマリは常に quorum-lost ハンドラを呼び出す。ハンドラ
               は通知のためのものであり、リターンコードは無視される。

               オプションの値は、 off, majority, all, または数値である。数値を設定する場合は、値がノード数の半分
               を超えていることを確認すること。クォーラムはデータの不一致を回避するメカニズムであり、2 つ以上の
               複製が存在する場合にフェンシングの代わりに使用されるときがある。デフォルトは off である。

               切断されたノードがすべて outdated(無効) としてマークされている場合、パーティションのサイズに関係
               なく、常にクォーラムを持つ。つまり、すべてのセカンダリノードを正常に切断すると、1 つのプライマリ
               が動作し続ける。1 つのセカンダリが切断された瞬間に、切断されたすべてのセカンダリノードがパーティ
               ションを形成すると仮定する。パーティションが他のパーティションよりも小さい場合、この時点では
               クォーラムは失われる。

               ディスクレスノードがクォーラムを常に取得できるようにする場合、majority, all オプションは使用しな
               いことを推奨する。クラスタ内のディスクフルノードの完全な数を決定するための DBRD のヒューリス
               ティックな方法は正確でないため、絶対数を指定することを推奨する。

               クォーラムの実装は、DRBD カーネルドライバのバージョン 9.0.7 から有効である。

           --quorum-minimum-redundancy value
               このオプションは、パーティションがクォーラムを獲得できるように UpToDate のディスクを持つノードの
               必要最小限の数を設定する。これは、素の quorum とは異なる要件である。

               オプションの値は、 off, majority, all, または数値である。数値を設定する場合は、値がノード数の半分
               を超えていることを確認すること。

               ディスクレスノードがクォーラムを常に取得できるようにする場合、majority, all オプションは使用しな
               いことを推奨する。クラスタ内のディスクフルノードの完全な数を決定するための DBRD のヒューリス
               ティックな方法は正確でないため、絶対数を指定することを推奨する。

               このオプションは、DRBD カーネルドライバのバージョン 9.0.10 から有効である。

           --on-no-quorum {io-error | suspend-io}
               By default DRBD freezes IO on a device, that lost quorum. By setting the on-no-quorum to io-error
               it completes all IO operations with an error if quorum is lost.

               通常、on-no-data-accessibleon-no-quorum と同じ値に設定する。

               on-no-quorum オプションは、DRBD カーネルドライバのバージョン 9.0.8 から有効である。

           --on-suspended-primary-outdated {disconnect | force-secondary}
               This setting is only relevant when on-no-quorum is set to suspend-io. It is relevant in the
               following scenario. A primary node loses quorum hence has all IO requests frozen. This primary
               node then connects to another, quorate partition. It detects that a node in this quorate
               partition was promoted to primary, and started a newer data-generation there. As a result, the
               first primary learns that it has to consider itself outdated.

               When it is set to force-secondary then it will demote to secondary immediately, and fail all
               pending (and new) IO requests with IO errors. It will refuse to allow any process to open the
               DRBD devices until all openers closed the device. This state is visible in status and events2
               under the name force-io-failures.

               The disconnect setting simply causes that node to reject connect attempts and stay isolated.

               The on-suspended-primary-outdated option is available starting with the DRBD kernel driver
               version 9.1.7. It has a default value of disconnect.

       drbdsetup outdate minor
           下位デバイスのデータ内容が「無効」であるとマークする。これはフェンシングに使用され、デバイスが含まれ
           ているリソースが将来プライマリになるのを防ぐ。--fencing ディスクオプションを参照。

       drbdsetup pause-sync resource peer_node_id volume
           ローカルポーズフラグを設定して、ローカルデバイスと対向ノードとの再同期を停止する。再同期は、接続の両
           側の一時停止フラグがクリアされた場合にのみ再開することができる。

       drbdsetup primary resource
           リソース内のノードの役割をプライマリに変更する。これにより、このリソース内の複製されたデバイスを書き
           込み用にマウントまたはオープンすることができる。利用可能なオプション:

           --overwrite-data-of-peer
               このオプションは、 --force オプション の別名である。

           --force
               一部のデバイスで最新のデータが保証されていない場合でも、リソースを強制的にプライマリにする。この
               オプションは、新しく作成されたクラスタ内のいずれかのノードをプライマリノードに切り替える場合
               や、障害から手動で回復する場合に使用する。

               これは、スプリットブレインにつながる可能性があることに注意すること。また、不整合なデバイスを最新
               のデバイスに強制的に変更する場合は、使用可能な完全性チェック(ファイルシステムチェックなど)を使
               用して、システムをクラッシュさせずにデバイスを使用できることを確認すること。

           DRBD では、通常、クラスタ内の 1 つのノードだけがプライマリの役割を果たすことができる。 DRBD はノード
           間のリソース内のデバイスを調整できる。--allow-two-primaries ネットワークオプションは、これを変更す
           る。その場合、DRBD 以外のメカニズムはデバイスアクセスを調整する必要がある。

       drbdsetup resize minor
           すべてのノードで、複製されたデバイスの下位デバイスのサイズを再確認する。このコマンドは、複製されたデ
           バイスのサイズを調整するために、すべてのノードの下位レベルのデバイスが拡張された後に呼び出されれ
           る。利用可能なオプション:

           --assume-peer-has-space
               現時点では、対向ノードのデバイスの一部が接続されていない場合でも、デバイスのサイズを変更す
               る。DRBD は、次に接続するときに対向ノードのデバイスのサイズを変更しようとする。対向ノードの小さす
               ぎるデバイスへの接続は拒否する。

           --assume-clean
               追加されたディスクスペースを再同期しない。代わりに、すべてのノードで同一であると仮定する。このオ
               プションは、ディスクスペースが初期化されておらず、相違していない場合や、すべてのノードで同一であ
               ることが分かっている場合に使用できる。drbdsetup verify コマンドを参照。

           --size val
               このオプションは、DRBD デバイスの使用可能なサイズをオンラインで縮小するために使用できる。ファイル
               システムがこの操作によって破損しないことはユーザ責任において確認する。

           --al-stripes val --al-stripes val
               これらのオプションを使用して、アクティビティログのレイアウトをオンラインで変更することができ
               る。内部メタデータの場合には、同時に、下位デバイスのユーザーに見えるサイズ(--size を使用して)の縮
               小、または拡大が必要である。

       drbdsetup resume-io minor
           複製されたデバイスの I/O を再開する。--fencing ネットオプションを参照。

       drbdsetup resume-sync resource peer_node_id volume
           ローカル同期の一時停止フラグをクリアして、再同期を再開できるようにする。

       drbdsetup role resource
           リソースの現在の役割を表示する。

       drbdsetup secondary resource
           リソース内のノードの役割をセカンダリに変更する。複製されたデバイスが使用中の場合、このコマンドは失敗
           する。

           --force
               A forced demotion to secondary causes all pending and new IO requests to terminate with IO
               errors.

               Please note that a forced demotion returns immediately. The user should unmount any filesystem
               that might be mounted on the DRBD device. The device can be used again when force-io-failures has
               a value of no. (See drbdsetup status and drbdsetup events2).

       drbdsetup show {resource | all}
           リソースまたはすべてのリソースの現在の構成を表示する。利用可能なオプション:

           --show-defaults
               すべての設定パラメータを表示する。設定ファイルに未設定のパラメータも初期値の設定で表示する。この
               オプションをつけないと、初期値のパラメータは確認できない。

       drbdsetup show-gi resource peer_node_id volume
           特定の接続上のデバイスのデータ世代識別子を表示する。さらに、出力の説明を行う。他は drbdsetup get-gi
           コマンドと同じである。

       drbdsetup state
           これは drbdsetup role の別名である。推奨しない。

       drbdsetup status {resource | all}
           リソースの全ての有効な設定情報を表示する。出力は、構成されたリソースごとに 1 つの段落で構成される。各
           段落は、リソースごとに 1 行、各デバイスに 1 行、接続ごとに 1 行が続く。デバイスと接続行はインテンドさ
           れる。各接続行は、対向ノードのデバイスごとに 1 行、これらは接続行に対してインテンドされる。

           長い行は端末の幅で折り返され、どの行に属しているかを示すためにインデントされる。利用可能なオプション:

           --verbose
               冗長か無関係であっても、より多くの情報を出力に含める。

           --statistics
               出力にデータ転送の統計情報を含める。

           --color={always | auto | never}
               出力をカラー化する。 --color=auto, drbdsetup は標準出力が端末に接続されている場合にのみカラーコー
               ドを出力する。

           たとえば、1 つの接続と1 つのボリュームのみを持つリソースの出力は、次のようになる。

               drbd0 role:Primary
                 disk:UpToDate
                 host2.example.com role:Secondary
                   disk:UpToDate

           --verbose を使用すると, 同じリソースは次のように出力される:

               drbd0 node-id:1 role:Primary suspended:no
                 volume:0 minor:1 disk:UpToDate blocked:no
                 host2.example.com local:ipv4:192.168.123.4:7788
                     peer:ipv4:192.168.123.2:7788 node-id:0 connection:WFReportParams
                     role:Secondary congested:no
                   volume:0 replication:Connected disk:UpToDate resync-suspended:no

       drbdsetup suspend-io minor
           複製されたデバイスの I/O を停止する。通常、このコマンドを使用する必要はない。

       drbdsetup verify resource peer_node_id volume
           オンライン照合を開始するか、デバイスの検証部分を変更するか、オンライン照合を停止する。このコマンドで
           は、指定した対向ノードを接続する必要がある。

           オンライン照合では、ローカルと対向ノードの各ディスクブロックを比較する。ノード間で異なるブロックは非
           同期としてマークされるが、 自動的に同期化されない。それらを同期させるには、drbdsetup invalidate また
           は drbdsetup invalidate-remote--reset-bitmap=no とともに使用する。進行状況は、 drbdsetup status
           --statistics の出力で監視できる。利用可能なオプション:

           --start position
               オンライン照合を開始する場所を定義する。オンライン照合がすでに進行中の場合、このパラメータは無視
               される。開始パラメータが指定されていない場合、オンライン照合は以前に中断された場所(対向ノードの
               接続が照合中に失われた場合)、前回の終了したセクタの後(以前にオンライン照合が完了した場合)、ま
               たはデバイスの最初(以前に終わりに達した場合、または以前にオンライン照合が実行されていない場
               合)から続けられる。

               ディスク上の位置は、デフォルトでディスクセクタ(512バイト)で指定される。

           --stop position
               オンライン照合を停止する場所を定義する。オンライン照合が既に進行中の場合、進行中のオンライン照合
               プロセスの停止位置が変更される。これを使用してオンライン照合を停止する。

               ディスク上の位置は、デフォルトでディスクセクタ(512バイト)で指定される。

           また、'notes' のデータの完全性に関する注意を参照。drbd.conf(5) manual page.

       drbdsetup wait-connect-volume resource peer_node_id volume,
       drbdsetup wait-connect-connection resource peer_node_id,
       drbdsetup wait-connect-resource resource,
       drbdsetup wait-sync-volume resource peer_node_id volume,
       drbdsetup wait-sync-connection resource peer_node_id,
       drbdsetup wait-sync-resource resource
           wait-connect-* コマンドは、対向ノード上のデバイスが表示されるまで待機する。wait-sync-* コマンドは、対
           向ノード上のデバイスが最新の状態になるまで待機する。両方のコマンドで利用可能なオプション:.PP
           --degr-wfc-timeout timeout
               システムが停止したとき、クラスタが単一ノードで構成されている場合、すべてのピアが接続されるまで待
               機する時間を定義する。このパラメータは通常、 wfc-timeout より小さい値に設定する。再起動前に到達で
               きなかった対向ノードが再起動後に到達できる可能性は低いため、待機が助けになる可能性は低いというこ
               とである。

               タイムアウトは秒単位で指定する。デフォルト値は 0 であり、無限のタイムアウトを意味す
               る。wfc-timeout パラーメータも参照。

           --outdated-wfc-timeout timeout
               システムが停止したとき、すべての対向ノードが outdated(無効) であった場合、すべての対向ノードが接
               続されるまで待機する時間を定義する。このパラメータは通常、 wfc-timeout より小さい値に設定す
               る。outdated(無効) の対向ノードがその間にプライマリになることはできないので、以前に生存していた
               ノードを待つ必要がないということである。

               タイムアウトは秒単位で指定する。デフォルト値は 0 であり、無限のタイムアウトを意味す
               る。wfc-timeout パラーメータも参照。

           --wait-after-sb
               このパラメータは、スプリットブレイン状況が検出された場合でも、DRBD が init スクリプトで待機し続け
               るため、ノード間の接続が拒否される。

           --wfc-timeout timeout
               すべての対向ノードが接続されるまで init スクリプトが待機する時間を定義する。これは、DRBD リソース
               を管理できないクラスタマネージャと組み合わせて使用する場合に便利である。クラスタマネージャが起動
               すると、DRBD リ ソースはすでに起動して実行されている。Pacemaker などのより優れたクラスターマネー
               ジャを使用すると、クラスターマネージャが DRBD リソースを制御できるようになる。タイムアウトは秒単
               位で指定する。デフォルト値は 0 であり、無限のタイムアウトを意味する。degr-wfc-timeout パラーメー
               タも参照。

       drbdsetup forget-peer resource peer_node_id
           forget-peer コマンドは、対向ノードのすべての痕跡をメタデータから削除する。これは、メタデータ内のビッ
           トマップスロットを解放し、今まで接続したことのないノードが接続した場合、より多くのビットマップスロッ
           トを割り当てることを可能にする。

           このコマンドを使用するには、接続を解除する必要がある。対向ノードが後で再接続する場合、ビットマップ
           ベースの再同期は完全同期に変わる。

       drbdsetup rename-resource resource new_name
           ローカルノードで resource の名前を new_name に変更する。DRBD のネットワークプロトコルにはリソース名の
           概念がないため、技術的には異なるノードのリソースに異なる名前を付けることは可能である。ただし、クラス
           タ全体で一貫した名前を付けて、すべてのノードで同じ rename-resource コマンドを発行することを推奨する。

           新しい名前をユーザーに通知するために、events2 ストリームで rename イベントが発行される。

EXAMPLES

       詳しくは DRBD User's Guide[1] を参照。

VERSION

       このドキュメントは DRBD バージョン 9.0.0 向けに改訂されている。

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), drbdadm(8), DRBD User's Guide[1], DRBD Web Site[2]

NOTES

        1. DRBD User's Guide
           http://www.drbd.org/users-guide/

        2. DRBD Web Site
           http://www.drbd.org/

DRBD 9.0.x                                       17 January 2018                                    DRBDSETUP(8)