LinuCレベル3 304試験の例題と解説
335.1 DRBD / cLVM
■トピックの概要
このトピックの内容は以下の通りです。
<335.1 DRBD / cLVM>
重要度 3
<説明>
DRBDデバイスのインストール、設定、保守、トラブルシュートの経験と知識を有する。 Pacemakerとの統合を含む。 DRBD バージョン 8.4.x の設定を含む。 共有ストレージクラスタ内のLVM設定の管理ができる。
<主要な知識範囲>
・DRBD のリソース、状態、レプリケーションモードの理解
・DRBD のリソース、ネットワーク、ディスク、デバイスの理解
・DRBDの自動復旧とエラー処理。
・drbdadmを使用したDRBDの管理
・drbdsetup と drbdmetaの基本知識
・DRBD と Pacemakerの統合
・cLVM
・cLVM とPacemakerの統合
<重要なファイル、用語、ユーティリティ>
・プロトコル A, B および C
・プライマリ、セカンダリ
・3ノードレプリケーション
・drbd カーネルモジュール
・drbdadm
・drbdsetup
・drbdmeta
・/etc/drbd.conf
・/proc/drbd
・LVM2
・clvmd
・vgchange, vgs
■例題
DRBDの解説として間違っているものを選びなさい。
1. DRBDはブロックデバイスを複数ノード間でレプリケーションする仕組みである
2. DRBDに対するI/Oの性質によってレプリケーションのモードを変更できる
3. データの安全性を重視するならば非同期レプリケーションを利用する
4. 更新競合が発生しないようにするには、シングルプライマリモードで動作させる
※この例題は実際のLinuC試験とは異なります。
解答と解説
答えは3. データの安全性を重視するならば非同期レプリケーションを利用する です。
DRBDを活用するには、システムの要求に合わせてレプリケーションの方法をチューニングする必要があります。たとえば、どれぐらいの頻度でアプリケーションがブロックデバイスに対してI/Oを要求するのか、そのI/Oは読み込みか書き込みかなどを考慮して、レプリケーションのモードを設定します。
たとえば、データの安全性を重視して、プライマリノードへの書き込みが確実にセカンダリノードにも書き込まれるようにしたいのであれば、同期レプリケーション(プロトコルC)を設定します。
非同期レプリケーションでは、プライマリからセカンダリにデータが送信された(プロトコルA)、あるいはセカンダリが受け取った(プロトコルB)時点で完了とすることもできます。これらもデータの安全性より迅速性が重視され、最悪の場合セカンダリに障害が発生してデータが全損失しても復旧できるようなシステムでは適切な設定ということになります。
また、DRBDでは、プライマリを1台だけにするか、それとも複数のプライマリを用意し相互にレプリケーションを行うかを決めることができます。シングルプライマリの方が更新競合などが発生しないので安全にデータが保護されます。
デュアルプライマリによる双方向のレプリケーションの場合、更新競合などの不具合が発生しないようにDRBDのブロックデバイス上にGFSやOCFS2といったクラスタ対応のファイルシステムを用意する必要があり、障害対応などの運用面での手間が増えることになります。デュアルプライマリの採用は慎重に検討する必要があるでしょう。
■例題作成者 株式会社びぎねっと 代表取締役社長 宮原徹氏 ※上記の解説とその内容については、例題作成者の監修です。