過去問ドリル

LinuCレベル3 プラットフォームスペシャリスト 仮想化基盤のネットワークとストレージ 問21

仮想化基盤のネットワークとストレージ/クラスタ・分散ストレージの理解

2ノードのDRBDでスプリットブレインが発生し、リソースr0の接続が切れた。node2で行われた変更を破棄し、node1のデータに合わせて再同期させたい。node2でリソースをSecondaryにしたあと、node2で実行するコマンドとして適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「仮想化基盤のネットワークとストレージ」に対応。実際の試験問題ではありません)

正解:C

解説

DRBDは、切断中に両方のノードでデータが更新されたこと(スプリットブレイン)を再接続時に検出すると、自動復旧のポリシーが設定されていなければ接続を拒否し、どちらのデータを残すかを管理者に委ねます。手動で復旧するには、変更を破棄する側(victim)でリソースをSecondaryにし、drbdadm connect --discard-my-dataで接続します。残す側(node1)がStandAlone状態であれば、そちらでも drbdadm connect r0 を実行して接続させます。接続後、node2はnode1からの再同期を受けて、node1と同じ内容になります。

選択肢ごとの解説

  • A誤り。primary --forceは、データの状態にかかわらずノードを強制的にPrimaryにするオプションです。node2のデータを残す方向の操作になり、スプリットブレインは解消しません。
  • B誤り。invalidate-remoteは、相手ノードのデータを無効とみなして自ノードから全体を同期させる指定です。node2で実行すると、node1のデータがnode2の内容で上書きされる逆向きの操作になります。
  • C正しい。変更を破棄する側でconnect --discard-my-dataを実行すると、自ノードの変更を捨てて相手ノードのデータに合わせて再同期します。
  • D誤り。--tentativeは試行的に接続を確立しますが、再同期が必要と判断された場合は接続を切断し、実際のデータ同期は行わないオプションです。スプリットブレインの状態では再同期が必要なため接続は切断され、--discard-my-dataと組み合わせても実際のデータ再同期には至りません。
LinuCレベル3 プラットフォームスペシャリストの問題を演習モードで解く