![]() | 注記 |
|---|---|
このセクションの情報は、DRBD 8.3.6 以上を対象としています。8.3.5 以前のバージョンでは、これとは異なるビルド方法を行っているため、バージョンアップしてください。 |
DRBD構築システムには、DRBD ソースツリーから直接RPMパッケージを構築する機能が含まれています。RPMを構築する場合にも、makeによる構築とインストールについては「構築の前提条件の確認」の条件が実質的に同様に適用されます。もちろん、加えてRPM構築ツールも必要です。
コンパイル済みヘッダが使用可能な場合に実行中のカーネルに対して構築を行う場合以外は、「カーネルソースツリーの準備」も参照してください。
構築システムでは2つの方法でRPMを構築することができます。最上位のメークファイルでrpmターゲットを呼び出す方法が簡単です。
$./configure$make rpm$make km-rpm
この方法では、定義済みのテンプレートからspecファイルが自動的に生成され、このspecファイルを使用してバイナリRPMパッケージを構築できます。
make rpm は複数のRPMパッケージを生成します。
表4.2 DRBDユーザスペースRPMパッケージ
| パッケージ名 | 説明 | 依存性 | 特記事項 |
|---|---|---|---|
drbd | DRBDメタパッケージ | 他のすべての drbd-* パッケージ | トップレベルの仮想パッケージ。このパッケージをインストールすると、依存関係にある他のすべてのユーザスペースパッケージが一緒にインストールされます。 |
drbd-utils | 管理者ユーティリティ | DRBDを実行するホストに必要なパッケージです。 | |
drbd-udev | udev 統合機能 | drbd-utils, udev | DRBDデバイスに対するシンボリックの管理をしやすくします。 |
drbd-xen | Xen DRBD ヘルパースクリプト | drbd-utils, xen | xendがDRBDリソースを自動管理できるようにします。 |
drbd-heartbeat | DRBD Heartbeat 統合スクリプト | drbd-utils, heartbeat | 旧v1形式 Heartbeat クラスタがDRBDを管理できるようにします。 |
drbd-pacemaker | DRBD Pacemaker 統合スクリプト | drbd-utils, pacemaker | PacemakerクラスタがDRBDを管理できるようにします。 |
drbd-rgmanager | DRBD Red Hat Cluster Suite 統合スクリプト | drbd-utils, rgmanager | Red Hat Cluster Suite リソース管理システムの rgmanage がDRBDを管理できるようにします。 |
drbd-bashcompletion | Progammable bash completion | drbd-utils,
bash-completion | drbdadm ユーティリティで自動補完が使えるようにするためのものです。 |
その他、より自由度の高い方法として configure を使って spec ファイルを作成し、rpmbuild コマンドを実行する方法もあります。
$./configure --enable-spec$make tgz$cp drbd*.tar.gz `rpm -E _sourcedir`$rpmbuild -bb drbd.spec
両方のDRBDユーザスペースユーティリティとカーネルモジュールをビルドする場合には、次のコマンドを使います。
$./configure --enable-spec --with-km$make tgz$cp drbd*.tar.gz `rpm -E _sourcedir`$rpmbuild -bb drbd.spec$rpmbuild -bb drbd-km.spec
システムのRPM設定(または独自の~/.rpmmacros設定)が指定する場所にRPMが作成されます。
これらのパッケージを作成したら、システムの他のRPMパッケージと同様にインストール、アップグレード、アンインストールを行うことができます。
カーネルをアップグレードした場合は、新しいカーネルに合わせて新しいdrbd-kmパッケージを生成する必要があります。
一方、DRBD ユーザスペースパッケージの場合は、新規バージョンのDRBDにアップグレードしたときにのみ再作成が必要です。新規カーネルおよび新規バージョンのDRBDにアップグレードした場合は、両方のパ ッケージをアップグレードする必要があります。