Smart Communication Design Company
ホーム > ナレッジ > Blog > CMS Blog > 2010年5月 > DRBDとHeartbeat [2] インストールから起動まで

DRBDとHeartbeat [2] インストールから起動まで

2010年5月28日
システムエンジニア 野沢

前回に引き続き、今回からDRBDとHeartbeatのインストールから設定を行っていきます。
環境は以下を前提としています。

■システム

OSCentOS 5.4 32bit
DRBD version8.3.7
Heartbeat2.1.4
ハードウェア同一筺体を2台用意
ネットワークローカル接続利用(eth1)

■DRBD用の領域

ファイルシステムマウントポイント容量
/dev/mapper/vg00-drbdmeta-256M
/dev/mapper/vg00-drbddata/data2G

■構成図

構成図

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.cfheartbeatの基本設定ファイル
/etc/ha.d/authkeysノード間の認証用
/etc/ha.d/haresources(※)フェイルオーバ/フェイルダウン時のhearbeatの動作指定

※Heartbeatの設定にはv1(version1)モードとv2(version2)モードの2つの設定方法があります。Version2の方が柔軟な設定が可能ですが、

といった傾向があるため今回は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の設定についてです。

■関連記事