橘べるちぇです。こんにちわ。

この度、DRBD8.3.10rc1が公開されていたので、ソースからコンパイルして使ってみようと思い立ち、そういえばDRBDのコンパイル方法とか記事が無いなぁ…と思ったのでここに公開することにいたしました。

みなさんも、最新のDRBDを使ってみましょう。

あ、ちなみに今回のこの記事ではRPMを作ります。なので開発環境用意してRPM作ってそれをもって別のシステムにインストールするなんていうような感じでやってみてください。

動作環境

もうお約束のCentOS5.5(final)の32bit版を使います。(仮想環境でやったので32bit版なの許してください。)DRBDのバージョンはLINBIT社から公開されている、8.3.10rc1を使います。

仮想環境は、VirtualBoxを使っています。構成としては開発環境1台、ミラーリング環境をインストールする2台の計3台にCentOS5.5をインストールしてためしてみました。

コンパイル環境を整える

開発環境に、コンパイルに必要な環境をインストールします。

# yum install rpm-build gcc libtool automake autoconf kernel-devel
# yum install redhat-rpm-config
# yum install flex libxslt

:cry: ここで注意する点は、kernel-develのバージョンが動いてるKernelのバージョンと違う場合、コンパイルされたカーネルモジュールはKernel-develのバージョンになってしまうので、激しく注意してください。もし、バージョンが違う場合は、OS側をアップデートするか、古いバージョンのKernel-Develパッケージを入手してインストールしてください。

パッケージのダウンロードと解凍

LINBITのホームページからソースパッケージをダウンロードしてきます。OSS版のパッケージ(ソース)はイカのアドレスにあるので、最新版をDLしてみてください。

→ http://oss.linbit.com/drbd/

tar.gzのパッケージをダウンロードしてきたら、作業ディレクトリにソースファイルを解凍します。今回は私の個人的な流儀で「/usr/local/src」以下でやろうと思います。

# cd /usr/local/src
# wget http://oss.linbit.com/drbd/8.3/drbd-8.3.10rc1.tar.gz
# tar xzf drbd-8.3.10rc1.tar.gz
# cd drbd-8.3.10rc1
# ls
一杯表示される

いよいよコンパイルしてみる

ここでできたらコンパイルしてみましょう。コンパイルするときにちょっと環境変数を設定する必要があるので、以下のようにKVER(カーネルバージョン)とKDIR(カーネルヘッダの場所)を指定します。

# KVER=2.6.18-194.26.1
# KDIR=/usr/src/redhat/BUILD/ovzkernel-2.6.18/linux-2.6.18.
# export KVER KDIR

ではちょっとビルドしてみましょうかね。Makeはrpm(DRBDの本体ツール群)とkm-rpm(カーネルモジュール)の2つがあります。

# ./configure
# make rpm
# make km-rpm

できあがり

Makeが終わると「/usr/src/redhat/RPMS/i686」にRPMパッケージができてますので、これを用意してあったマシンにインストールしてみましょう。いろいろツール群が個別にRPMパッケージになっているので、全部インストールしちゃってください。

# cd /usr/src/redhat/RPMS/i686
# rpm -ivh *

手抜きな感じですが、これでなんとかなると思います。

質問やご要望は、メーリングリストに投げてください☆