ディストリビューション毎に固有の情報をメンテナンスすることは手間がかかり、また歴史的にすぐに最新でなくなってしまいました。標準的な方法でソフトウェアをビルドする方法を知らない場合は、LINBITによって供給されるパッケージを使ってください。一般的な管理作業この章では一般的なオペレーションでの管理作業を説明します。トラブルシューティングについては扱いません。トラブルシューティングについてはトラブルシューティングとエラーからの回復を参照ください。下位レベルストレージの準備DRBDをインストールしたら、両方のクラスタノードにほぼ同じ容量の記憶領域を用意する必要があります。システムの任意のブロックデバイスを下位レベルデバイスとして使用できます。次のようなものがあります。DRBDデバイスを他のDRBDデバイスの下位レベルのデバイスとして利用することができます。リソースの積み重ねにはいくつかの注意点があります。詳しくはスタック3ノード構成の作成を参照ください。ループデバイスをDRBDの下位レベルデバイスとして使用することもできますが、デッドロックの問題があるためお勧めできません。DRBDを使用して、非冗長のシングルサーバシステムから、2ノードのクラスタシステムを作成することは一般的なユースケースですが、いくつか重要な注意点があります。(その場合にはDRBDメタデータを参照ください)本ガイドの説明は、次のようなとてもシンプルな構成を前提としています。いうパーティションがある。内部メタデータを使用する。必須要件ではありませんが、DRBDによるレプリケーションの実行には、専用接続を使用することをお勧めします。この書き込みには、ギガビットイーサネット同士をケーブルで直結した接続が最適です。モードで)の使用を推奨します。一般に、ルータを介してDRBDレプリケーションを行うことはお勧めできません。スループットと待ち時間の両方に悪影響を及ぼし、パフォーマンスが大幅に低下します。ローカルファイアウォールの要件として重要な点は、通常、DRBDは7788以上のTCPポートを使用し、それぞれのTCPリソースが個別のTCPポート上で待機するということです。TCP接続を使用します。これらの接続が許可されるようにファイアウォールを設定する必要があります。Control)スキーマが有効な場合は、ファイアウォール以外のセキュリティ要件も考慮する場合があります。必要に応じてローカルセキュリティポリシーを調整してください。DRBDに使用するTCPポートを別のアプリケーションが使用していないことも確認してください。現時点では1つのDRBDリソースに複数のTCPコネクション・ペアを設定することはできません。ドライバを使用してください)。本ガイドの説明は、次のようなとてもシンプルな構成を前提としています。どちらのホストでも他のサービスがTCPポート7788〜7799を使用していない。ローカルファイアウォール設定は、これらのポートを介したホスト間のインバウンドとアウトバウンドの両方のTCP接続を許可する。通常、この設定ファイルは、次のような内容となっています。セクションが含まれます。セクションが含まれます。ステートメントを使用せずにすべての設定を記載することも可能です。設定の見やすさの観点から、複数のファイルに分割することをお勧めします。サブディレクトリに、サンプル設定ファイルがあります。パッケージ固有の文書ディレクトリにインストールされます。このセクションは、DRBDを稼働させるために理解しておく必要のある設定ファイルの項目についての説明です。マニュアルページを参照ください。本ガイドでの説明は、前章であげた例をもとにする最小限の構成を前提にしています。}}この例では、DRBDが次のように設定されます。DRBDの使用状況の統計をオプトインとして含める(usage-count参照)。他の指定がない限り完全に同期したレプリケーションを使用するようにリソースを設定する(プロトコルC)。下位レベルデバイスとして使用し、また、内部メタデータを構成する。リソースはネットワーク接続にTCPポート7789を使用し、それぞれIPアドレス10.1.1.31と10.1.1.32にバインドされる(これが暗黙的に使用するネットワークコネクションを定義する)。1つのリソースに複数のボリュームを設定する場合には、次のようにします(両ノードで下位デバイスとして同レベルでストレージブロックデバイスを使用する場合)。}}ボリュームは既存のデバイスの動作中にも追加できます。新しいDRBDボリュームを既存のボリュームグループへ追加するをご参照ください。セクションこのセクションは設定の中で1回しか使用できません。ファイルに記述します。設定ファイルが1つの場合は、設定ファイルの一番上に記述します。このセクションで使用できるオプションはわずかですが、ほとんどのユーザーの場合、必要なのは次の1つだけです。usage-countDRBDプロジェクトはさまざまなバージョンのDRBDの使用状況について統計を取ります。これは、システムに新規のDRBDバージョンがインストールされるたびに、HTTPサーバに接続することにより実行されます。DRBDをアップグレードするたびにプロンプトが表示されます。DRBDの使用状況の統計は公開されています。http://usage.drbd.orgを参照ください。セクションこのセクションで、各リソースに継承される設定を簡単に定義できます。ここで定義するオプションは、リソースごとに定義することもできます。セクションは必須ではありませんが、複数のリソースを使用する場合は、記述することを強くお勧めします。これにより、オプションを繰り返し使用することによって設定が複雑になることを回避できます。含む)がこのオプションを継承します。オプションが指定されている場合は除きます。使用可能なその他の同期プロトコルについては、レプリケーションのモードを参照してください。nameを指定して名前を付ける必要があります。通常は文字または数字、アンダースコアのみを使用します。サブセクションも必要です。セクション(記述した場合)から継承されるか、DRBDのデフォルト設定から取得されます。セクションで指定することができます。このため、設定例は次のように短くすることができます。現時点では、DRBD9の通信リンクはフルメッシュである必要があります。全リソース全ノードが他の全ノードに直接のコネクションを持っている必要があります(当然、自ノードに対しては不要です)。(1つの)ネットワークコネクションを自身で挿入します。必要なネットワークコネクション数はホスト数の二次関数です。"従来の"2ノードでは1コネクションが必要でしたが、3つのホストでは3対、4つのホストでは6対、5つのホストでは10対のコネクションが...というように必要になってきます。32ノードであれば496対のコネクションが必要になります。以下は3つのホストでの設定ファイルの例です。}}サーバに十分なネットワークカードがあれば、サーバ間をクロスケーブルで直結できます。1つ4ポートのイーサネットカードであれば、4ノードのフルメッシュにするために1つの管理インターフェースと3つの他サーバへの接続を行うことができます。この場合には直接接続に異なるIPアドレスを指定することができます。}}管理とデバッグを容易にするため、エンドポイントごとに異なるポートを使用することをお勧めします。使用の際にパケットの追跡が容易になります。以下の例は2サーバのみで使用するものです。4ノードでの例は4ノードでの構成例を参照ください。トランスポートプロトコルの設定DRBDは複数のネットワーク転送プロトコルに対応しています。トランスポートプロトコルの設定はリソースの各コネクションごとに設定できます。トランスポートが使用されます。トランスポートオプションでは次のnetオプションが設定できます。トランスポートでは次のnetオプションが設定できます。トランスポートはゼロコピーレシーブ転送です。保持するのに十分なサイズにする必要があります。ページ単位で設定します。下位デバイスとの間の全通信量を合わせたものよりも大きい必要があります。トランスポートを使っている場合、IPoIBも設定する必要があります。IPアドレスはデータ転送では使用しませんが、コネクションを確立する際に正しいアダプタとポートを見つけるために使用します。コネクションが確立される時に考慮されます。接続が確立している時は変更する事ができますが、その変更が反映されるのは、再接続後になります。擬似ファイル/sys/kernel/debug/drbd/<リソース>/connections/<対向ノード>/transportを見れば、使用可能な受信識別子(rx_desc)と送信識別子(tx_desc)の数を監視できます。増やす必要があります。リソースを初めて有効にするすでに述べた手順に従って最初のリソース設定を完了したら、リソースを稼働させます。両方のノードに対して、次の手順を行います。メタデータを作成するこの手順は、最初にデバイスを作成するときにのみ必要です。これにより、DRBDのメタデータを初期化します。created.メタデータに割り当てられるビットマップスロットの数はリソースのホストの数に依存します。デフォルトではリソース設定のホストの数をカウントします。メタデータの作成前にすべてのホストが指定されていれば、そのまま動作します。後から追加ノード用のビットマップを付け足すことも可能ですが、手動での作業が必要になります。リソースを有効にするこれにより、リソースとその下位デバイス(マルチボリュームリソースの場合は、すべてのデバイス)とを結びつけます。対向ノードのリソースと接続します。ステータス出力は次のような情報を表示します。ディスク状態になっているはずです。これで、DRBDがディスクリソースとネットワークリソースに正しく割り当てられ、稼働できるようになりました。次に、どちらのノードをデバイスの初期同期のソースとして使用するか指定する必要があります。デバイスの初期同期DRBDを完全に機能させるには、さらに次の2つの手順が必要です。同期元を選択する新しく初期化した空のディスクを使用する場合は、任意のディスクを同期元にできます。そのノードを同期元として選択してください。デバイスの初期同期の方向が誤っていると、データを失うおそれがあります。慎重に行ってください。初期フル同期を開始するこの手順は、最初のリソース設定の際に、同期ソースとして選択した1つのノードに対してのみ実行します。次のコマンドで実行します。<resource>このコマンドを指定すると、初期フル同期が開始します。同期の進行状況を監視できます。デバイスのサイズによっては、同期に時間がかかる場合があります。この時点で、初期同期が完了していなくてもDRBDデバイスは完全に稼働します(ただし、パフォーマンスは多少低いです)。空のディスクから開始した場合は、デバイスにファイルシステムを作成してもかまいません。これを下位ブロックデバイスとして使用し、マウントして、アクセス可能なブロックデバイスとしてさまざまな操作を実行することができます。リソースに対して一般的な管理タスクを行う場合は、DRBDの使い方に進んでください。トラックベースのレプリケーションの使用リモートノードに同期するデータを前もってロードし、デバイスの初期同期をスキップする場合は、次の手順を行います。昇格し、相手ノードとの接続を切断した状態のDRBDリソースが必要です。リモートノードがまだ接続されていない状態です。ローカルノードで次のコマンドを実行します。正確に同一のコピーを作成します。RAID-1ドライブの一方を抜き取ります。新しいドライブをセットしてRAIDセットを再構築しておくべきでしょう。リモートサイトに移動できます。使用してスナップショットのビット単位のコピーを作ってもかまいません。ローカルノードで次のコマンドを実行します。コマンドを使用します。対向ホストの設置場所にコピーを物理的に移動します。コピーをリモートノードに追加します。ここでも物理ディスクを接続するか、リモートノードの既存のストレージに移動したデータのビット単位のコピーを追加します。レプリケートしたデータだけでなく、関連するDRBDメタデータも必ず復元するかコピーしてください。ない場合、ディスクの移動を正しく行うことができません。新しいノードでメタデータのノードIDを修正し、2つのノード間で対抗ノードの情報を交換する必要があります。idを2から1に変更するには、次の行を参照ください。これはボリュームが未使用中のときに実行する必要があります。順不同の対抗ノードセクションを扱えません。エディタを用いてブロックを交換する必要があります。リモートノードで次のコマンドを実行します。<resource>2つのホストを接続しても、デバイスのフル同期は開始されません。呼び出し以降に変更されたブロックのみを対象とする自動同期が開始されます。場合でも、セカンダリでアクティビティログを含む領域がロールバックされるため、同期が短時間行われることがあります。これはチェックサムベースの同期を使用することで緩和されます。この手順は、リソースが通常のDRBDリソースの場合でもスタックリソースの場合でも使用できます。以下は4ノードクラスタの例です。別の例として、4ノードに直接接続でフルメッシュにできるだけのインターフェースがある場合には、[3]インターフェースにIPアドレスを指定することができます。}}IPアドレスやポート番号の付け方には注意してください。ようにずらしてください。ユーティリティを使うことです。これはリアルタイムでDRBDリソースの状態を更新します。ようなツールと似ています。切り替え、あるいはスプリット・ブレーンの解決など)を行うことができます。