DRBD INSTALL [翻訳]

drbd-0.8.5.tar.gz 付属の INSTALL を翻訳してみました (誤訳が多いと思われるので注意!)

DRBD のビルドとインストール方法

これらはあなたのシステムに DRBD をビルドしてインストールするステップです。
それはわずかな変更で SuSE、Debian、RH や他のディストリビューションのために働くべきです。

 これは 0.8.0-prel の最新のレビューでした。

私はあなたが下にコマンドラインでプロンプトの接頭語でタイプするべきであるものを示そうとしました。全てのディストリビューションで同様のものは “all#”、suse に特定したものは “suse#”、その場合、私は順番に、異なるディストリビューションのための代替手段を指摘しようとします。

FAQ のために、また、FAQ、刊行物、および他のものに関しては、ドキュメンテーションサブディレクトリ、およびもちろん http://www.drbd.org を見てください。

他の助けになるリンク

http://www.drbd.org
http://www.drbd.org/drbd-article.html
http://www.linux-mag.com/2003-11/toc.html
http://www.linux-ha.org/DRBD , and of course,
http://www.drbd.org/support.html

前提条件

あなたは、カーネルソースのパッケージをインストールする必要があります。または、デフォルトのディストリビューションカーネルを走らせて、これらが あなたが “プリコンパイルされたカーネルヘッダー”のディレクトリがあれば、あなたはヘッダーファイルのそのディレクトリに対して、これをスキップしてコンパイルすることができます。もしそうなら、”準備” セクションをスキップして、”Build DRBD” に進んでください。

rpm.distros# rpm -Uhv kernel-source-2.4.XX-YYY.rpm
debian# apt-get install kernel-source
kernel.org# tar --bzip2 -xvf linux-2.4.XX.tar.bz2

ノート: これは本当に kernel-source.rpm です、kernel.src.rpm ではありません。
もし、あなたが 正確に なぜか知らなければ、あなたは後者を使いたくないのです。

もしあなたが 2.4.x 系のカーネルを使いたいなら、DRBD-0.7 を使う必要があります。:
DRBD-0.8 はコンパイルできないでしょう。

明らかなことですが、あなたは build-system をインストールするべきです。 gccとかmakeとか・・・;)

あなたはモジュールをコンパイルするのに、あなたが動かしているカーネルをビルドするために使うのと同じく、 gcc を確実にするべきです。
最近の SuSE ではこれは gcc-3.2 です、そしてデフォルトの gcc はいつも — 他の何かのために gcc-2.9 をインストールする場合のために言っておきます、そしてなぜそのときカーネルモジュールが適切に働かないかを不思議に思ってください。

次にそれがどうした?

カーネルソースツリーを準備する

all# cd /usr/src/linux
or wherever your kernel source happens to be, e.g.
fedora# cd /usr/src/linux-2.6

次のステップはまさに確実なことです。それが何をするかを知っているなら、あなたはたぶん、それがとにかく必要なのかどうか自分で判断することができるでしょう。あなたは最初にトライするうえで奇妙な結果を得たら、これを最初にしてください。それは時々本当に助けになります!

all# make mrproper

これはカーネルソースの構成の中に、現在稼動しているカーネルの設定のクローンです。

suse# make cloneconfig

これが働かないなら、あなたは SuSE カーネルの出荷バージョンは動作しませんので、どうやってそれに対処するのでしょう…
ヒントとして: ./.config の中の動作しているカーネルをビルドするために使用したコンフィギュレーションでコピーをしてください、そのとき 2 回やってください。

"yes '' | make -s oldconfig"

そして下として続けてください。何も助けになるものが何もなければ、新しいカーネルをビルドするか、出荷状態に戻してください!
(もしあなたが独自にカーネルをコンパイルしたいなら、あなたは、いづれにせよ、debian か gentoo か rock かほかの何かを使うべきです…)

いくつかのディストリビューションでこれは基本のステップです:

some# zcat /proc/config.gz > .config
# yes "" | make -s oldconfig ; yes "" | make -s oldconfig

以下はレッドハットでの方法に思います:

redhat# cp /boot/kernel-2.6.some-thing.config  .config
or   # cp configs/kernel-2.6.some-thing.config .config
# make -s oldconfig_nonint ; make -s oldconfig_nonint
# vi Makefile # mod EXTRAVERSION to match installed kernel
# (remove "custom" if neccessary)
fedora# cp /boot/config-2.6.some-thing  .config
# export CC=gcc32
# yes "" | { make oldconfig ; make oldconfig ; }
# vi Makefile # mod EXTRAVERSION to match installed kernel
# (remove "custom" if neccessary)

ノート:
もしあなたがなんかのベンダーカーネルで走らせないで、あなたの独自のカーネルをコンパイルすることを考えるなら、あなたはモジュールサポートをビルドする必要があります。DRBD は procfs によりますが、あなたはいづれにせよ、それが欲しいです。

もしあなたが自身でコンパイルしたカーネルで走らせないで、バイナリ出荷されたディストリビューションカーネル、および、誤った場所(e.g. “/lib/modules/2.6.6/ にしたいとき、 /lib/modules/2.6.6custom/”)にあがっているモジュールを “make install” した後、あなたのカーネルソースツリーのトップレベルの Makefile を編集してください、そして EXTRAVERSION から “custom” を取り除いてください。あなたが使用するカーネルに対応する .config に確実にコピーしてください。

だからもし必要なら、このカーネルをコンパイルしてインストールする必要があるとき、”make menuconfig” して、あなたの独自の好みにあわせてください。このカーネルソースツリーに対してコンパイルされたモジュールは、合ったカーネルでのみ正しく動作するでしょう。

all# make linux/include/version.h
# and since kernel 2.6.6 (some distros 2.6.5-something):
all# make modules_prepare

DRBD カーネルモジュールをビルドします(カーネルソースの外で)

DRBD の tgz を解凍してください、私はそれを /usr/src/drbd-* に解凍するのを示します。

all# cd /usr/src
all# tar -xvzf where/you/downloaded/it/drbd-0.8.0.tar.gz

いまモジュールをビルドします。

ノート:
あるディストリビューション(典型的な redhat/fedora)では、あなたは最初に ./drbd_config.h の中をみる必要があります、もし、自動的に既にしていなかったら、設定のいくつかを適切にコメント(アンコメント)してください。

all# cd drbd-0.8.0/drbd  # kernel module sub directory
all# make clean all
fedora# make clean all CC=gcc32

ところで、これは、カーネルソースが /lib/modules/’uname -r’/build にすることを期待します。

もしあなたが、異なって構成されるかもしれないか、または異なったアーキテクチャのために構成されさえする、ある他のソースツリーに対してコンパイルしたいなら、代わりにトライしてください。

all# make clean ; make KDIR=/path/to/kernel/source

あるシステム上では、あなたはいくつかのシステムの上では、あなたは、例えば、”make” で明らかに使用にコンパイラを設定する必要があるかもしれない、”e.g. make … CC=gcc32″~

あらかじめされたカーネルヘッダに対してビルドするべきです。 “make KDIR=/usr/src/linux-include/athlon” みたいにして。しかし、あなたが動かしているカーネルが “確実に” ヘッダーツリーの設定にあっていることをかなり確実にするべきです。

カーネルに DRBD のパッチをあてます

これは、前のセクションの「make all」への代替手段と、カーネル(モジュールとしてでない)自体の一部としてDRBDをコンパイルする唯一の方法です。

バージョン 0.7 から、あなたは、”make KDIR=/usr/src/linux-2.6.x kernel-patch” することができ、”patch-linux-2.6.x-drbd-0.7_whatever” を得ることができます。

次に、カーネルソースツリーにこのパッチを実証できます: “cd /usr/src/linux-2.6.x ; patch -pl < some/where/patch-etc...." あなたは "make menuconfig" または "make xconfig" で、あなたは、block-devices メニューで、モジュールとして、またはカーネルの一部として DRBD を見つけるべきです。

カーネルモジュールをリビルドしてください(”make modules; make modules_install”)、または、新しいカーネルをリビルドしてインストールしてください。
(”make bzImage ” または “make linux ARCHum” または…)

DRBD にユーザースペースツールだけビルドします

‘patch kernel’ アプローチを取った場合、あなたはまだユーザースペースツールをビルドする必要があります:

all# cd /usr/src/drbd-0.8.0
all# make tools

インストールします

上記のステップが OK だったら、あなたはそれをインストールする必要があります。

all# cd /usr/src/drbd-0.8.0
all# make install

カーネルにパッチをあてたら、あなたは明確に以下のコマンドだけを実行したい。

all# make install-tools

設定します

DRBD を使う前なら、http://www.drbd.org を見てください。
あなたは、サブページで “Documentation” と “Publications” で興味深いものを見つけるべきです。

いづれにせよ、よくコメントのついている /scripts/drbd.conf の例の構成ファイルを見てください。

私たちは新しいコンフィグオプションを追加しているかもしれないし、修正したものを追加しているかもしれない。)

なぜ…?

なぜ DRBD ソースのトップレベルディレクトリで “make ; make install” しないのか?
私は、一歩一歩、明示的にそれをするのが好きだからです。
もちろん、あなたはワンステップでその全てが出来ました。そして、ほとんどの場合、ちゃんと動くべきです。

all# cd /usr/src/drbd-0.8.0
all# make all install

トラブルシューティング

必要ならあなたのフィードバックやリクエストを追加してください。… ;-) ~

また、 http://www.drbd.orghttp://www.linux-ha.org/DRBD の FAQ、およびこのページの上部で言及された他のリンクを見てください。

その .rpm をビルドします

これはかなり簡単であるべきです。spec file のサンプルあるし、あなたは “make rpm” をすることさえできます。

創造的に働いていないなら、最初に適切に働くために “make install” を得てください、そして ‘prepare the kernel source tree’ と ‘building a kernel module’ とかいうタイトルになってるセクションを見てください。
あなたは何かのパッケージを追加したいかもしれない、もしくは、drbd.spec(.in) ファイルを編集したいかもしれないし、 fedora が再び何かを壊したなら、パッチを追加さえしたいかもしれない…

あらかじめ設定されたカーネルヘッダーに対してビルドするべきです。”make rpm KDIR=/usr/src/linux-include/athlon”、”make rpm KDIR=/usr/src/linux-include/smp” みたいにして…

そしてあなたは “dist/{S,}RPMS/*/*.rpm” の中でパッケージを見つけるべきです。

しかしながら、何らかの特別な方法でカーネルモジュールの rpm を最も適当に操作します、だからあなたは最初に南下のアップデートパッケージを彼ら自身で提供する、あなたのディストリビュータに尋ねたいかもしれない。

その .deb をビルドします

適所で ./debian/* example ファイルの中を見てください。
http://article.gmane.org/gmane.comp.linux.drbd/5616 も見てください。

---
これが助け、楽しみ、励ましになればと思います。
 Lars Ellenberg
Last modified: Do Sep 23 23:29:48 UTC 2004
2007年 9月 10日 | Posted in Linux
タグ:
コメントは終了しています。