DRBD インストール

提供:TuntunkunMediaWiki

移動: 案内, 検索

目次

DRBDとは

DRBD (Distributed Replicated Block Device) は、Linuxプラットフォームの分散ストレージシステムである。カーネルモジュール、管理アプリケーション、シェルスクリプトで構成され、高可用 (HA) クラスタで使うのが一般的である。DRBD は RAID 1 に似ているが、ネットワーク上で動作する点が異なる。


インストール

今回は、環境としてScientific Linux6.5-x86_64をOSとして使用を行った。DRBDのインストールはパッケージマネージャを利用したインストール方法を紹介する。構成として、DRBDサーバーAとBを使用しそれぞれIPアドレスを10.0.0.1, 10.0.0.2と設定する。


ELrepoのインストール

まずは、標準のレポジトリでは、DRBDのインストールを行う事が出来ないため、ELrepoをインストールします。ELrepoはRHEL、CentOS、SLのサードパーティ製のレポジトリで、ハードウェアドライバやカーネルモジュールに特化しています。

yum -y install elrepo-release


DRBDのインストール

DRBDをインストールします。DRBD8.4系を使用します。

yum -y install drbd84 kmod-drbd84


ホスト設定

DRBDサーバAとBで同じ設定にする。

vim /etc/hosts
10.0.0.1 drbda
10.0.0.2 drbdb


DRBDの設定

DRBDの設定ファイルについて

DRBDの設定方法について記す。以下は/etc直下にあるdrbdの設定ファイル及び、/etc/drbd.dの直下にある設定ファイルである。

[root@drbd1 naoya]# ls -al /etc | grep drbd
-rw-r--r--.   1 root root    133 Oct 25  2013 drbd.conf
drwxr-xr-x.   2 root root   4096 Jun 11 02:39 drbd.d
 
 
[root@drbd1 drbd.d]# ls -al  /etc/drbd.d/
-rw-r--r--    1 root root  2068 Jun 11 02:39 global_common.conf
drbd.conf
drbd.confは起動時に読み込まれるこのファイルからは、global_common.confとdrbd.d内のリソースファイルを読み込むようになっている。
global_common.conf
基本的なDRBDに対しての設定はここで、設定を行う。

リソースファイルの追加

DRBDサーバAとBで同じ設定のリソースファイルを作成します。

resource r0 {
	protocol C;
	startup {
		wfc-timeout 120;         // タイムアウト
		become-primary-on drbda; // プライマリになるサーバ
	}
 
        //
        // 以下の設定はon節の中に書く事で各サーバ毎に設定出来る。
        // 今回は仮想環境を利用し、ほぼ同じ環境であるため以下のような設定に成っている
        //
	device /dev/drbd0;               // /dev/drbd0にデバイスが利用出来るようになる
	disk /dev/sdb1;                  // /dev/sdb1のパーティションをミラーに使用する
	meta-disk internal;              // メタデータは内部に持つ
 
	on drbda {
		address 10.0.0.1:7788;
	}
 
	on drbdb {
		address 10.0.0.2:7788;
	}
}

メタデータ領域の作成

drbdadm create-md r0

drbdデーモンの起動、確認

/etc/rc.d/init.d/drbd restart
/etc/rc.d/init.d/drbd status

ファイアウォールの設定

ファイアウォールを利用している場合には、ファイアウォールの設定を行います。以下にファイアウォールの設定を記す。

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 7788 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

ファイアウォールの再起動

/etc/rc.d/init.d/iptables restart

ファイルシステムの作成

ミラーディスクのプライマリに変更を行いファイルシステムを作成しマウントを行う事を可能とします。

drbdadm primary r0

以下のようなエラーが出る場合は以下の操作を行ってみて下さい。(/dev/drbd0: State change failed: (-2) Need access to UpToDate data)

drbdadm invalidate r0
drbdadm primary r0

ext4のファイルシステムを作成します。

mkfs.ext4 /dev/drbd0

注意点

上記の操作を全て行う事で、ネットワークを通したミラー型のブロックデバイスを作成する事が出来る。しかし、マウントを行う際には、primary側からマウントを行う必要がある。また、ext4のファイルシステムは同時にアクセスを想定しないため、ファイルシステム及びファイルが最悪の場合、壊れてしまう可能性がある。

参考文献

個人用ツール
名前空間
変種
操作
案内
ツールボックス