0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【2023年05月版】Ubuntu22.04 上での DRBD によるストレージレプリケーション ステータス編

Last updated at Posted at 2023-05-27

はじめに

image.png

【2023年05月版】Ubuntu22.04 上での DRBD によるストレージレプリケーション 構築編

の続きです

前提条件

  • 2台の ubuntu 22.04
  • Primary を node1、Secndary を node2 とする
  • Primary/Secondary 共に /dev/sda をシステム、/dev/sdb をストレージレプリケーションとして利用
  • node1 の IPアドレスは 192.168.100.101 とする
  • node2 の IPアドレスは 192.168.100.102 とする
  • マウント先は /export とする
  • すでに、/dev/drbd0 として構築済み

ステータス確認

ステータス表示

  • node1(primary) で
$ sudo drbdsetup status --verbose --statistics
r0 node-id:1 role:Primary suspended:no force-io-failures:no
    write-ordering:flush
  volume:0 minor:0 disk:UpToDate backing_dev:/dev/sdb quorum:yes
      size:20970844 read:13267089 written:22303781 al-writes:848 bm-writes:186 upper-pending:0 lower-pending:0 al-suspended:no
      blocked:no
  node2 node-id:0 connection:Connected role:Secondary congested:no ap-in-flight:0 rs-in-flight:0
    volume:0 replication:Established peer-disk:UpToDate resync-suspended:no
        received:36 sent:4096512 out-of-sync:0 pending:0 unacked:0
  • node2(secondary) で
$ sudo drbdsetup status --verbose --statistics
r0 node-id:0 role:Secondary suspended:no force-io-failures:no
    write-ordering:flush
  volume:0 minor:0 disk:UpToDate backing_dev:/dev/sdb quorum:yes
      size:20970844 read:1501 written:4096548 al-writes:3 bm-writes:59 upper-pending:0 lower-pending:0
      al-suspended:no blocked:no
   node1 node-id:1 connection:Connected role:Primary congested:no ap-in-flight:0 rs-in-flight:0
    volume:0 replication:Established peer-disk:UpToDate resync-suspended:no
        received:4096512 sent:36 out-of-sync:0 pending:0 unacked:0

読み方

接続のステータス

  • StandAlone
    ネットワーク構成は使用できません。リソースがまだ接続されていない、管理上の理由で切断している( drbdadm disconnect を使用)、認証の失敗またはスプリットブレインにより接続が解除された、のいずれかが考えられます。

  • Disconnecting
    切断中の一時的な状態です。次の状態は StandAlone です。

  • Unconnected
    接続を試行する前の一時的な状態です。次に考えられる状態は、 Connecting です。

  • Timeout
    対向ノードとの通信のタイムアウト後の一時的な状態です。次の状態は Unconnected です。

  • BrokenPipe
    対向ノードとの接続が失われた後の一時的な状態です。次の状態は Unconnected です。

  • NetworkFailure
    対向ノードとの接続が失われた後の一時的な状態です。次の状態は Unconnected です。

  • ProtocolError
    対向ノードとの接続が失われた後の一時的な状態です。次の状態は Unconnected です。

  • TearDown
    一時的な状態です。対向ノードが接続を閉じています。次の状態は Unconnected です。

  • Connecting
    対向ノードがネットワーク上で可視になるまでノードが待機します。

  • Connected
    DRBDの接続が確立され、データミラー化がアクティブになっています。これが正常な状態です。

ディスクのステータス

  • Diskless
    DRBDドライバにローカルブロックデバイスが割り当てられていません。原因として、リソースが下位デバイスに接続されなかった、 drbdadm detach を使用して手動でリソースを切り離した、または下位レベルのI/Oエラーにより自動的に切り離されたことが考えられます。

  • Attaching
    メタデータ読み取り中の一時的な状態です。

  • Detaching
    切断され、進行中のIO処理が完了するのを待っている一時的な状態。

  • Failed
    ローカルブロックデバイスがI/O障害を報告した後の一時的な状態です。次の状態は Diskless です。

  • Negotiating
    すでに Connected のDRBDデバイスで attach が実行された場合の一時的状態です。

  • Inconsistent
    データが一致しません。新規リソースを作成した直後に(初期フル同期の前に)両方のノードがこの状態になります。また、同期中には片方のノード(同期先)がこの状態になります。

  • Outdated
    リソースデータは一致していますが、無効です。

  • DUnknown
    ネットワーク接続を使用できない場合に、対向ノードディスクにこの状態が使用されます。

  • Consistent
    接続していない状態でノードのデータが一致しています。接続が確立すると、データが UpToDate か Outdated か判断されます。

  • UpToDate
    データが一致していて最新の状態です。これが正常な状態です

ボリューム/デバイス単位

  • read (disk read)
    ローカルディスクから読み取られたネットデータ (kibyte単位)。

  • written (disk written)
    ローカルのディスクに書き込んだ正味データ量(kibyte単位)。

  • al-writes (activity log)
    メタデータのアクティビティログエリアのアップデート数。

  • bm-writes (bitmap)
    メタデータのビットマップエリアのアップデート数。

  • upper-pending (application pending)
    まだDRBDから応答がない(完了していない)DRBDへのブロックI/Oリクエスト数。

  • lower-pending (local count)
    DRBDが発行したローカルI/Oサブシステムへのオープンリクエストの数。

  • blocked
    ローカルI/Oの輻輳を示します。

    • no:輻輳なし
    • uppeer: ファイルシステムなどDRBD より上位 のI/Oがブロックされている。代表的なものには以下がある。
      • 管理者によるI/O中断。 drbdadm コマンドの suspend-io を参照。
      • アタッチ/デタッチ時の一時的なブロック。
      • バッファーの枯渇。DRBDパフォーマンスの最適化 参照。
      • ビットマップIO待ち
    • lower: 下位デバイスの輻輳
    • 上位、下位両方がブロックされている。

接続単位

  • ap-in-flight (application in-flight)
    対向ノードによって書き込まれているアプリケーションデータ。つまり、DRBD はそれを対向ノードに送信し、書き込まれたという確認応答を待っています。セクター単位(512バイト)。

  • rs-in-flight (resync in-flight)
    対向ノードによって書き込まれている同期データ。つまり、DRBD は SyncSource が 同期データを対向ノードに送信し、データが書き込まれたことの確認応答を待っています。セクター単位(512バイト)。

接続とボリューム単位 (“peer device”)

  • done
    同期されるデータのうち同期されたデータのパーセンテージ。

  • resync-suspended
    現在同期が中断されているかどうかを示す。値は no, user, peer, dependency でカンマ区切り。

  • received (network receive)
    対向ノードから受信したネットデータ(KiB単位)。

  • sent (network send)
    対向ノードへ送信したネットデータ(KiB単位)。

  • out-of-sync
    DRBD のビットマップによる現在この対向ノードと同期していないデータ量(KiB単位)。

  • pending
    対向ノードに送信されたが、対向ノードによってまだ確認されていないリクエスト数。

  • unacked (unacknowledged)
    対向ノードから受信したが、このノードの DRBD によってまだ確認されていないリクエスト数。

  • dbdt1
    過去数秒以内の同期速度。単位は MiB/秒。このユーザーズガイドの 同期速度の設定 セクションで説明されているオプションで、同期速度を変更できます。

  • eta
    同期が完了するまでの残り秒数。この数値は、過去数秒以内の同期速度と、同期されていないリソースの下位デバイスのサイズに基づいて計算されます。

複製ステータス

  • Off
    ボリュームはこの接続を通して複製されていません。接続が Connected になっていません。す。次の状態は Unconnected です。

  • Established
    このボリュームへのすべての書き込みがオンラインで複製されています。これは通常の状態です。

  • StartingSyncS
    管理者により開始されたフル同期が始まっています。次に考えられる状態は SyncSource または PausedSyncS です。

  • StartingSyncT
    管理者により開始されたフル同期が始まっています。次の状態は WFSyncUUID です。

  • WFBitMapS
    部分同期が始まっています。次に考えられる状態は SyncSource または PausedSyncS です。

  • WFBitMapT
    部分同期が始まっています。次に考えられる状態は WFSyncUUID です。

  • WFSyncUUID
    同期が開始されるところです。次に考えられる状態は SyncTarget または PausedSyncT です。

  • SyncSource
    現在、ローカルノードを同期元にして同期を実行中です。

  • SyncTarget
    現在、ローカルノードを同期先にして同期を実行中です。

  • PausedSyncS
    ローカルノードが進行中の同期の同期元ですが、現在は同期が一時停止しています。原因として、別の同期プロセスの完了との依存関係、または drbdadm pause-sync を使用して手動で同期が中断されたことが考えられます。

  • PausedSyncT
    ローカルノードが進行中の同期の同期先ですが、現在は同期が一時停止しています。原因として、別の同期プロセスの完了との依存関係、または drbdadm pause-sync を使用して手動で同期が中断されたことが考えられます。

  • VerifyS
    ローカルノードを照合元にして、オンラインデバイスの照合を実行中です。

  • VerifyT
    現在、ローカルノードを照合先にして、オンラインデバイスの照合を実行中です。

  • Ahead
    リンクが負荷に対応できないので、データの複製が中断しました。このステータスは on-congestion オプションの設定で有効にできます(輻輳ポリシーと中断したレプリケーションの構成を参照)。

  • Behind
    リンクが負荷に対応できないので、データの複製が対向ノードによって中断されました。このステータスは対向ノードの on-congestion オプション設定で有効にできま>す(輻輳ポリシーと中断したレプリケーションの構成を参照)。

接続情報データ

  • local
    ネットワークファミリ、ローカルアドレス、対向ノードから接続を許可されたポートを表示します。

  • peer
    ネットワークファミリ、ローカルアドレス、接続に使用しているポートを表示します。

  • congested
    データのTCP送信バッファを80%より多く使用している場合にこのフラグがつきます

コネクションのステータス

$ drbdadm cstate r0

リソースのロール

$ drbdadm role r0

ディスクのステータス

$ drbdadm dstate r0

ワンショットモニタリング

$ drbdsetup events2 --now r0
exists resource name:r0 role:Primary suspended:no force-io-failures:no may_promote:no promotion_score:10103
exists connection name:r0 peer-node-id:1 conn-name:node2 connection:Connected role:Secondary
exists device name:r0 volume:0 minor:0 backing_dev:/dev/sdb disk:UpToDate client:no quorum:yes
exists peer-device name:r0 peer-node-id:1 conn-name:node2 volume:0 replication:Established peer-disk:UpToDate peer-client:no resync-suspended:no
exists path name:r0 peer-node-id:1 conn-name:node2 local:ipv4:192.168.100.101:7789 peer:ipv4:192.168.100.102:7799 established:yes
exists -

リアルタイムモニタリング

$ drbdsetup events2 r0

モニタリングの詳細オプション

$ drbdsetup events2 --statistics --now r0
$ drbdsetup events2 --statistics r0

参考

Ubuntu 22.04 man page drbdadm
Ubuntu 22.04 man page drbd
Ubuntu 22.04 man page drbdsetup

DRBD9 ユーザーズガイド
LINSTOR ユーザーズガイド

さいごに

かんたんでしたね

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?