過去問ドリル

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

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

DRBDで同期している2ノードのデバイス /dev/drbd0 を、両方のノードで同時にPrimaryにして、それぞれのノードからマウントして読み書きしたい。この構成の説明として適切なものはどれか。

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

正解:A

解説

DRBDは通常、一方のノードだけをPrimaryにして使いますが、リソースのnetセクションで allow-two-primaries を有効にすると、両ノードを同時にPrimary(デュアルプライマリ)にできます。ただしDRBDはブロック単位で複製するだけで、ファイルシステムのロックは調停しません。そのため両ノードから同時にマウントするには、OCFS2やGFS2のように分散ロックを持つクラスタファイルシステムが必要です。ext4やXFSを両ノードで同時にマウントすると、互いのキャッシュやメタデータの更新が食い違い、ファイルシステムが壊れます。デュアルプライマリは同期型のProtocol Cで使うのが前提で、フェンシングの設定も欠かせません。

選択肢ごとの解説

  • A正しい。allow-two-primariesでデュアルプライマリにし、分散ロックを持つクラスタファイルシステムと組み合わせます。
  • B誤り。DRBDはブロックの複製だけを行い、ファイルシステムの排他制御はしないため、ext4やXFSを同時にマウントすると壊れます。
  • C誤り。allow-two-primariesを有効にすれば、DRBDでも両ノードを同時にPrimaryにできます。
  • D誤り。デュアルプライマリは同期型のProtocol Cで使うことが前提で、非同期のProtocol Aでは使えません。
LinuCレベル3 プラットフォームスペシャリストの問題を演習モードで解く