クラスタ設定 · 2 min read · Jan 29, 2026
GFSとDRBDを使用したアクティブ/アクティブSamba CTDBクラスタの設定 (CentOS 5.5) - ページ 2
この記事では、GFSとDRBDを使用してアクティブ/アクティブSamba CTDBクラスタを設定する方法について説明します。 BRLinkサーバーLinuxチームのラファエル・マランゴーニによって準備されました。
3. 前提条件とクラスタパッケージのインストール
インストールする必要があるいくつかのパッケージがあります:
yum -y install drbd82 kmod-drbd82 sambaRed Hat Cluster Suiteをインストールしましょう:
yum -y groupinstall "Cluster Storage" "Clustering"4. DRBDの設定
まず、両方のノードで/etc/drbd.confを設定する必要があります:
vi /etc/drbd.conf global {
usage-count yes;
}
common {
syncer {
rate 100M;
al-extents 257;
}
}
resource r0 {
protocol C;
startup {
become-primary-on both; ### プライマリ/プライマリのため ###
degr-wfc-timeout 60;
wfc-timeout 30;
}
disk {
on-io-error detach;
}
net {
allow-two-primaries; ### プライマリ/プライマリのため ###
cram-hmac-alg sha1;
shared-secret "mysecret";
after-sb-0pri discard-zero-changes;
after-sb-1pri violently-as0p;
after-sb-2pri violently-as0p;
}
on node1.clustersmb.int {
device /dev/drbd0;
disk /dev/sdb;
address 172.16.0.1:7788;
meta-disk internal;
}
on node2.clustersmb.int {
device /dev/drbd0;
disk /dev/sdb;
address 172.16.0.1:7788;
meta-disk internal;
}
} 設定の主なポイントは: resource: DRBDによって管理されるリソースを指します。”r0”と呼びました。 disk: DRBDが使用するデバイス(ディスクまたはパーティション)を指します。 address: DRBDが使用するIPアドレス/ポート(クロスオーバーインターフェースを指していることに注意してください) syncer: ノード間の転送レート(Gigabitカードがあるため100Mを使用します) 疑問がある場合は、DRBDユーザーガイドを参照してください: www.drbd.org/users-guide-emb/
その設定の後、r0リソースのメタデータを作成できます。両方のノードで次を実行します:
drbdadm create-md r0次に、DRBDサービスを初期化してinitdbを作成する必要があります。両方のノードで(ほぼ同時に)次を実行します:
/etc/init.d/drbd start両方のノードをプライマリとして設定するには、両方のノードで次を実行します:
drbdsetup /dev/drbd0 primary -o同期の進行状況とDRBDリソースのステータスを確認するには、/proc/drbdを確認します:
cat /proc/drbd今、同期の終了を待つ必要があります。これは、ディスクのサイズとパフォーマンスによって長時間かかる場合があります。 もちろん、クロスオーバーケーブルで使用されているクラスタネットワークインターフェースの速度にも依存します。
同期プロセスが終了したら、リソースr0のステータスを確認できます:
node1:
[root@node1 ~]# cat /proc/drbd[root@node1 ~]# cat /proc/drbd
version: 8.2.6 (api:88/proto:86-88)
GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
0: cs:Connected st:Primary/Primary ds:UpToDate/UpToDate C r—
ns:2097052 nr:0 dw:0 dr:2097052 al:0 bm:128 lo:0 pe:0 ua:0 ap:0 oos:0
node2:
[root@node2 ~]# cat /proc/drbd[root@node2 ~]# cat /proc/drbd
version: 8.2.6 (api:88/proto:86-88)
GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
0: cs:Connected st:Primary/Primary ds:UpToDate/UpToDate C r—
ns:0 nr:2097052 dw:2097052 dr:0 al:0 bm:128 lo:0 pe:0 ua:0 ap:0 oos:0
両方のサーバーが最新であること(UpToDate/UpToDate)とプライマリであること(Primary/Primary)が重要です。 すべてのステータス情報が何を意味するかを学ぶには、次を参照してください: www.drbd.org/users-guide-emb/ch-admin.html#s-proc-drbd
DRBDサービスが起動時に自動的に開始されるようにする必要があります:
chkconfig --level 35 drbd on5. GFSの設定
次に、DRBDと一緒に使用するクラスタファイルシステムであるGFS(Red Hat Global File System)を設定する必要があります:
まず、両方のノードで/etc/cluster/cluster.confを設定する必要があります:
vi /etc/cluster/cluster.conf
次に、両方のノードでcmanサービスを開始する必要があります(同時に):
/etc/init.d/cman startその後、両方のノードで他のサービスを開始できます:
/etc/init.d/clvmd start
/etc/init.d/gfs start
/etc/init.d/gfs2 start
すべてのサービスが初期化時に有効であることを確認する必要があります。
両方のノードで次を実行します:
chkconfig –level 35 cman on
chkconfig –level 35 clvmd on
chkconfig –level 35 gfs on
chkconfig –level 35 gfs2 on
次に、デバイスをフォーマットします。これは一つのノードでのみ行います:
gfs_mkfs -p lock_dlm -t cluster1:gfs -j 2 /dev/drbd0今、マウントポイントを作成し、両方のノードでdrbdデバイスをマウントします:
mkdir /clusterdata
mount -t gfs /dev/drbd0 /clusterdata
両方のノードでfstabにデバイスを挿入しましょう:
vi /etc/fstab次の行を挿入します:
/dev/drbd0 /clusterdata gfs defaults 0 0 次に、クラスタファイルシステムが機能しているか確認するのが良いでしょう:
node1でのみ、次を実行します:
tar -zcvf /clusterdata/backup-test.tgz /etc/今、node2でファイルが存在するか確認します。
node2でのみ、次を実行します:
ls -l /clusterdata/ [root@node2 ~]# ls -l /clusterdata
total 12576
-rw-r–r– 1 root root 12844520 Jul 23 16:01 backup-test.tgz
次に、node2が書き込めるかテストします。
node2でのみ、次を実行します:
tar -zcvf /clusterdata/backup-test2.tgz /etc/今、node1に2つのファイルが存在するか確認します。
node1でのみ、次を実行します:
ls -l /clusterdata/ [root@no2 ~]# ls -l /clusterdata/
total 25160
-rw-r–r– 1 root root 12850665 Jul 23 16:03 backup-test2.tgz
-rw-r–r– 1 root root 12844520 Jul 23 16:01 backup-test.tgz
すべてが正常であれば、もちろんテストファイルを削除できます。
一つのノードでのみ、次を実行します:
rm -f /clusterdata/backup* 新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。