続いて、DRBDの設定を行います。
プライマリ機(一号機)、セカンダリ機(二号機)の設定内容は、原則として同じにします。記述間違いによるミスをなくすため、どちらか一方の設定ファイル群をscpコマンドで他方へコピーするとよいでしょう。
必須のDRBD設定ファイルは「global_common.conf」と、リソースごとの設定ファイル「r0.res」の二つです。リソースとは、DRBDを使ってレプリケーション(複製)する領域を構成する要素のことです。今回の例では、リソース名をr0に定め、「r0.res」という設定ファイルで管理するということを示します。なお、「global_common.conf」はデフォルト設定のまま使用します。
「r0.res」は、/etc/drbd.d配下に新規作成します。「/etc/drbd.d/r0.res」の記述例は以下の通りです。
resource r0 { net { protocol C; } volume 0 { device minor 0; disk /dev/sda4; meta-disk internal; } on drbd-one { address 10.0.0.1:7788; } on drbd-two { address 10.0.0.2:7788; } }
このように、disk項目へDRBD用に作成したパーティション(デバイス名)を指定します。デバイス名は「cat /proc/partitions」コマンドで確認できます。
ここに記載する主な設定項目は以下の通りです。
項目名 | 内容 |
---|---|
protocol | レプリケーションモードを指定します。DRBDでは一般的な「C」を指定します |
disk | DRBD用のディスク(パーティション/デバイス名)を指定します。※クラウド環境で仮想マシンを使う場合は、2台目ディスクを指定します |
meta-disk | メタデータの場所を指定します。同じディスク内にある場合はinternalを指定します |
on <ホスト名> | DRBDで同期するサーバーのホスト名とIPアドレスを記載します。同期元と同期先、2台のサーバー情報を記載します |
一号機と二号機、それぞれDRBDの準備ができました。では、いよいよSambaサーバーの冗長化システムを構築していきましょう。
最初に「メタデータ」を作成します。メタデータとは、DRBDの情報が書き込まれている情報管理ファイルになります。以下のコマンドを一号機、二号機のそれぞれで実行することで作成できます。
# drbdadm create-md r0
実行後、「New drbd meta data block successfully created.」と表示されることを確認してください。
DRBDを起動します。以下のコマンドを一号機、二号機のそれぞれで実行します。
# drbdadm up r0
続いてDRBDの接続確認を行います。
# cat /proc/drbd
上記のように、「cs:Connected」となっていれば正しく動作しています。
DRBDが起動したら、データの同期を開始する「初期化」作業をプライマリ機(一号機)で実施します。
# drbdadm --force primary r0
データの量によって、初期同期完了までは時間がかかりますが、気長に待ってください。
同期の進行状況は、以下のコマンドで確認できます。
# cat /proc/drbd
ちなみに、watchコマンドを併用すると、リアルタイムに同期状況を確認できます。
# watch cat /proc/drbd
watch catコマンドで表示されるステータスは以下の通りです。
cs(Connection states) | 内容 |
---|---|
Connected | 正常な状態:DRBDの接続が確立され、同期が正常に行われている |
WFConnection | 対向のサーバーの接続待ち状態 |
StandAlone | 接続する対向のサーバーがネットワーク上に存在しない状態 |
SyncSource | 操作しているローカルのサーバーを同期元にしてDRBDの同期が進行中であることを示す |
SyncTarget | 操作しているローカルのサーバーを同期先にしてDRBDの同期が進行中であることを示す |
ro(roles) | 内容 |
---|---|
Primary/Secondary | 操作しているローカルのサーバーがプライマリの状態で、対向のサーバーがセカンダリの状態 |
Secondary/Primary | 操作しているローカルのサーバーがセカンダリの状態で、対向のサーバーがプライマリの状態 |
Secondary/Secondary | 操作しているローカルのサーバーと対向のサーバーが、共にセカンダリの状態 |
ds(disk states) | 内容 |
---|---|
UpToDate | 操作しているローカルのサーバーと対向のサーバーでデータが一致しており、正常な状態であることを示す |
Diskless | DRBD用のディスクが見当たらない状態 |
Inconsistent | 操作しているローカルのサーバーと対向のサーバーでデータが一致していない状態。新規に初期同期しら、まずこの状態になる |
初期の同期が完了したら、DRBDのデータ領域をフォーマットします。こちらはプライマリ機(一号機)のみで実行します。
# mkfs.xfs /dev/drbd0
上記はxfsでフォーマットしましたが、xfs以外のファイルシステムも指定できます。
最後に、レプリケーションする「Sambaの共有領域」をDRBD領域にマウントします。
# mount /dev/drbd0 /home/share
ここでは/home/shareをSambaのデータ領域としています。自身が運用する環境に応じて読み替えてください。
これで構築は完了です。おつかれさまでした。次のページより、試用と実運用のテクニックを解説します。
Copyright © ITmedia, Inc. All Rights Reserved.