TOP » cluster » DRBD

DRBDによるネットワークによるディスクの2重化 

 DRBDはディスクをネットワークを介してミラーリングすることによりデータの安全性を高める「データミラークラスタ」タイプのソフトウェアです。いわば、ネットワークでRAID-1を実現していることになります。Gigabit Ether でピアネットワークを構築しているならばほとんどローカルと変わらないくらいです。

 また、heartbeat や keepalived と組み合わせるとフェールオーバー時にそのままデータを引き継ぐことが可能になります。

 DRBDを使用するメリットとして以下があげられます。(わたしの経験則だったりします (^^;

  • 高価なRAIDユニットを用意する必要がない。
  • ハードウェアRAIDだとそのコントローラが壊れると目も当てられない。
  • ソフトウェアRAIDだと起動部分がこわれると復旧に時間がかかる。

構築に必要なもの 

  • Linuxサーバ:2台 Kernel 2.6*1

ダウンロード 

公式ホームページからダウンロードしてください。

コンパイル方法 

面倒なので RPM を作成します。(--targetはお好みで)

# rpmbuild -ta --taret=i686 drbd-8.0.6.tar.gz

インストール方法  

アクティブ・スタンバイ共にまったく同じ方法でおこないます。

# rpm -Uvh drbd-8.0.6-1.rpm
# rpm -Uvh drbd-km-2.6.XX.XX-8.0.6-1

インストール後の設定 

drbd.confの設定 

 

ブロックデバイスの作成 

 まず、メタデバイスを作成します。

# drbdadm create-md r0

状態を確認する 

 状態を確認するには /proc/drbd を見ます。同期中の場合は、以下で表示されます。

# cat /proc/drbd
version: 8.0.6 (api:86/proto:86)
SVN Revision: 3048 build by root@style18.cafelounge.net, 2007-09-13 15:14:39
 0: cs:Connected st:Secondary/Primary ds:UpToDate/UpToDate C r---
    ns:0 nr:888 dw:888 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0
        resync: used:0/31 hits:0 misses:0 starving:0 dirty:0 changed:0
        act_log: used:0/257 hits:0 misses:0 starving:0 dirty:0 changed:0
 1: cs:Connected st:Primary/Secondary ds:UpToDate/UpToDate C r---
    ns:1690475 nr:1052806 dw:2743281 dr:6497748 al:398 bm:196 lo:0 pe:0 ua:0 ap:0
        resync: used:0/31 hits:65704 misses:100 starving:0 dirty:0 changed:100
        act_log: used:0/257 hits:867602 misses:541 starving:0 dirty:143 changed:398

 アクティブ側から確認した場合、Primary/Secondaryになり、スタンバイ側から確認した場合、Secondary/Primaryになります。また、同期中の場合はグラフと同期終了の残り時間や転送速度が一緒に表示されます。

heatbeatとの組み合わせ 

DRBDはheartbeatとの組み合わせも意識して作成されているので、非常に簡単に統合することができます。DRBDをセットアップすると以下のスクリプトがインストールされます。

  • /etc/rc.d/init.d/drbd
  • /etc/ha.d/resource.d/drbddisk
  • /etc/xen/scripts/block-drbd (xen仮想化用)

これらのスクリプトを利用してheartbeatと組み合わせるとアクティブ側のダウン時に即スタンバイ側をアクティブにすることができます。以下はheartbeatの設定です。

参考資料(リンク) 

コメント 

#comment


*1drbd-8.x.xはkernel-2.6専用になっています。