DRBDとHeartbeat [2] インストールから起動まで
前回に引き続き、今回からDRBDとHeartbeatのインストールから設定を行っていきます。
環境は以下を前提としています。
■システム
OS | CentOS 5.4 32bit |
---|---|
DRBD version | 8.3.7 |
Heartbeat | 2.1.4 |
ハードウェア | 同一筺体を2台用意 |
ネットワーク | ローカル接続利用(eth1) |
■DRBD用の領域
ファイルシステム | マウントポイント | 容量 |
---|---|---|
/dev/mapper/vg00-drbdmeta | - | 256M |
/dev/mapper/vg00-drbddata | /data | 2G |
■構成図
DRBDのダウンロードからインストール
CentOSの場合、yumでインストールが可能ですが、Red Hat Enterprise Linux5ではyumでのインストールが不可となっています。
今回はソースからRPMパッケージを作成してインストールを進めていきます。
まずはDRBDのインストール及びRPMパッケージ作成に必要なものをインストールします。
# yum install kernel-devel
# yum install rpm-build
# yum install flex
DRBDのソースは下記サイトから入手可能です。
http://oss.linbit.com/drbd/
今回はDRBD-8.3.7をダウンロードします。
# wget http://oss.linbit.com/drbd/8.3/drbd-8.3.7.tar.gz
RPMパッケージを作成します。
# tar zxf drbd-8.3.7.tar.gz
# cd drbd-8.3.7
# ./configure
# make rpm
# make km-rpm
RPMパッケージは「/usr/src/redhat/RPMS/(アーキテクチャ名。i386など)/」以下に置かれます。パッケージ作成後、インストールを行います。
# rpm -ivh drbd-8.3.7-1.i386.rpm drbd-km-2.6.18_164.6.1.el5-8.3.7-12.i386.rpm
以上でDRBDのインストールは終了です。インストールはactiveサーバ、standbyサーバともに行ってください。
DRBDの起動
設定ファイルは「/etc/drbd.conf」を利用します。今回は起動に最低限必要な設定を行います。各設定の意味は次回以降説明します。
resource r0 {
protocol C;
syncer {
rate 100M;
}
on active.demo.com {
device /dev/drbd0;
disk /dev/mapper/vg00-drbddata;
address 192.168.100.10:7789;
meta-disk meta-disk /dev/mapper/vg00-drbdmeta[0];
}
on standby.demo.com {
device /dev/drbd0;
disk /dev/mapper/vg00-drbddata;
address 192.168.100.20:7789;
meta-disk meta-disk /dev/mapper/vg00-drbdmeta[0];
}
}
drbdモジュールを読み込みます。両方のサーバで実行して下さい。
# modprobe drbd
メタ領域を作成します。両方のサーバで実行して下さい。メタ領域を作成後、DRBDを起動します。
# drbdadm create-md r0
# /etc/init.d/drbd start
データの同期を行います。activeサーバのみで実行して下さい。
# drbdadm -- --overwrite-data-of-peer primary all
データ同期完了後、アクティブサーバのDRBDをprimar状態に移行します。
# drbdadm primary drbd0
ファイルシステムを作成します。activeサーバで実行して下さい。
今回はext3ファイルシステムを作成します。
# mke2fs -j /dev/drbd0
activeサーバでマウント出来ることを確認します。
# mount /dev/drbd0 /data
DRBD動作テスト
DRBDの起動は終わりましたが、テストとして「/data」領域をstandbyサーバに切り替えてみましょう。
activeサーバで「/data」をアンマウントし、DRBDをsecondary状態に移行します。
# umount /dev/drbd0 /data # drbdadm secondary drbd0
standbyサーバでDRBDをprimary状態に移行し、「/data」領域がマウントされることを確認して下さい。
# drbdadm primary drbd0 # mount /dev/drbd0 /data
以上でDRBDのインストール~起動が終わりです。続いてHeartbeatのインストールに進みます。
Heartbeatのインストール
Heartbeatはepelリポジトリを利用することにより、yumからインストールが可能です。今回はyumからインストールを行います。
こちらも両サーバで行ってください。
# yum --enablerepo=epel install heartbeat
Heartbeatの起動
Heartbeatの起動には以下の設定ファイルが必要となります。
/etc/ha.d/ha.cf | heartbeatの基本設定ファイル |
---|---|
/etc/ha.d/authkeys | ノード間の認証用 |
/etc/ha.d/haresources(※) | フェイルオーバ/フェイルダウン時のhearbeatの動作指定 |
※Heartbeatの設定にはv1(version1)モードとv2(version2)モードの2つの設定方法があります。Version2の方が柔軟な設定が可能ですが、
- 設定が複雑になる
- ハードウェアリソースをv1と比較して消費する
といった傾向があるため今回はv1モードで設定を行います。
以下、各ファイルの設定例です。各設定の意味はこちらも次回以降に説明します。
■/etc/ha.d/ha.cf
crm off
use_logd yes
keepalive 1
deadtime 30
initdead 60
udpport 694
auto_failback off
ucast eth0 192.168.0.20 (※standbyサーバは192.168.0.10)
node active.demo.com
node standby.demo.com
■/etc/ha.d/authkeys
auth 1
1 crc
■/etc/ha.d/haresourcves
active.demo.com IPaddr::192.168.0.30 drbddisk::r0 Filesystem::/dev/drbd0::/data::ext3
設定を設置したら両サーバでHeartbeatを起動します。
# /etc/init.d/heartbeat
Heartbeat動作テスト
heartbeatの動作テストを行います。activeサーバに/dataをマウントしている状態で、activeサーバのHeartbeatを停止して下さい。
自動的にactiveサーバの/data領域がアンマウントされ、standbyサーバで/data領域がマウントされることを確認して下さい
次回はDRBDの設定についてです。
■関連記事