2014年7月24日木曜日

DRBD 8.4.x コミュニティバイナリでセットアップ

以前「DRBD8.4.x RPM作成」という記事を書きましたが、そんな面倒な事をせずにほぼ最新のRPMが用意されているコミュニティ(ELrepo)版バイナリでセットアップしよう!というのが今回の内容です。

#検証環境は、CentOS6.5(x86_64) x2台です
 - ホスト名はそれぞれnode01とnode02です
 - コマンドプロンプトに[ALL]とある場合は、両方のホストで作業を実施し、
  [ONE]とある場合は、どちらか片方のホストで作業を実施する事を意味します


ELrepoリポジトリの作成

ELrepoのサイトに書いてあるとおりですが、下記のようにリポジトリを作成します。
[ALL]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
[ALL]# rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
Retrieving http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
Preparing...                ########################################### [100%]
   1:elrepo-release         ########################################### [100%]
[ALL]#


DRBDのインストール

[ALL]# yum install drbd84-utils kmod-drbd84


DRBDのセットアップ

※詳細は、以前に書いた「DRBD 8.4.x 設定(初回フル同期スキップ)」の”DRBD領域の準備”以降を参照してください。

ここではざっと流れだけをあげておきます。

1.DRBD領域の用意 → ファイルシステムを作成していないまっさらなパーティションを用意
2.DRBDの設定ファイルの作成
3.metaデータ領域を作成
 [ALL]# drbdadm create-md r0/0
4.DRBDの起動
 [ALL]# /etc/rc.d/init.d/drbd start
5.どちらかをmasterに昇格して、初回同期
 [ONE]# drbdadm primary r0/0
  [ONE]# drbdaldm new-current-uuid -clear-bitmap r0/0
6.master側でファイルシステムを作成し、マウント
 [ONE]# drbdadm primary r0/0
  [ONE}# mkfs.ext4 /dev/drbd0
  [ONE]# mount /dev/drbd0 /mnt
  

コミュニティ版バイナリのメリット

一番のメリットは、KMP (Kernel Module Package)に対応したパッケージングがされている事です。
具体的には、新しいkernelをインストールすると、自動的にdrbd.koが用意されるようになります。

以前に書いた「DRBD8.4.x RPM作成」では、新しいkernelが提供されるたびに、その新しいkernel用のDRBDモジュールを生成する作業が必要でした。
 →DRBDモジュールをビルドし忘れて新しいkernelで起動すると当然DRBDが起動できません

kernelのアップデートをしていくと下記のようになっていきます。
#実体はkmod-drbd84パッケージでインストールされたdrbd.koのシンボリックリンクとなります
# locate drbd.ko
/lib/modules/2.6.32-358.el6.x86_64/extra/drbd84/drbd.ko
/lib/modules/2.6.32-431.1.2.0.1.el6.x86_64/weak-updates/drbd84/drbd.ko
/lib/modules/2.6.32-431.17.1.el6.x86_64/weak-updates/drbd84/drbd.ko
/lib/modules/2.6.32-431.5.1.el6.x86_64/weak-updates/drbd84/drbd.ko
#

※詳細が知りたい場合は、weak-updatesのキーワードで検索してみてください

0 件のコメント:

コメントを投稿