2005年1月23日

[vine-users:069909] Re: ソフトウェア raid で嵌っています。(困っています。)

増田といいます。

他の方も言われてますが、/をRAIDにする場合はinitrdを使うかモジュール化
しないでカーネルに組み込む必要があります。
RAID1だけはliloが認識できるので、/bootのミラー化は問題ないです。
カーネルを読み込んだ後に/の正しい場所を教えてくださいと言っている
ようなので、/bootは/dev/md1として見えているのではないでしょうか。

気になることをいくつか。

> (1)ディスク情報
> ---------------------------------------------------------
> ディスク /dev/hda: ヘッド 255, セクタ 63, シリンダ 1027
> ユニット = セクタ数 of 1 * 512 バイト
>
> デバイス ブート 始点 終点 ブロック ID システム
> /dev/hda1 * 63 208844 104391 83 Linux
/boot
> /dev/hda2 208845 6490259 3140707+ 83 Linux
/home
> /dev/hda3 6490260 7534484 522112+ 82 Linux スワップ
> /dev/hda4 7534485 16498754 4482135 f Win95 拡張領域 (LBA)
> /dev/hda5 7534548 16498754 4482103+ 83 Linux
/
>
> ディスク /dev/hdb: ヘッド 255, セクタ 63, シリンダ 1027
> ユニット = セクタ数 of 1 * 512 バイト
>
>
> デバイス ブート 始点 終点 ブロック ID システム
> /dev/hda1 * 1 13 104391 83 Linux
> /dev/hda2 14 404 3140707+ 83 Linux
> /dev/hda3 405 469 522112+ 82 Linux スワップ
> /dev/hda4 470 1027 4482135 f Win95 拡張領域 (LBA)
> /dev/hda5 470 1027 4482103+ 83 Linux
> ---------------------------------------------------------

このディスク情報は、上が「fdisk -ul /dev/hda」、下が「fdisk -l /dev/hda」
の結果かな?でも下のはヘッダが「fdisk -ul /dev/hdb」の結果になってるよう
です。編集ミスっぽいので、/dev/hdaと/dev/hdbは同じように切ってあると仮定
します。


ディスク情報では「シリンダ 1027」で、lilo.confは「cylinders=1072」と
なっています。ここは致命的かどうかはわかりませんが、1027であるべきです。

lilo.confのstart行は、/bootではなく/の始点を指定する場所なので、
63ではなく/dev/hda5の始点7534548になります。
/パーテーションが見つかっていないようなので、メッセージだと/が見つかって
いないっぽい雰囲気なので、これが問題でしょうか。


このlilo.confだと、boot=/dev/hdbになっているので、プライマリの
スレーブのディスクのMBRにブートローダが書き込まれると思いますが、
boot=/deb/hdaのものも用意してありますか?

hdbから起動することも考えているとすると、プライマリのマスターが
存在しないでスレーブだけある状態になると思うのですが、マスター
無しで起動ってできるのでしょうか。そのときのbiosが返してくるディ
スク番号は0x81になるのでしょうか。
これに関しては、気にはなりますが試したことが無いのでわからないです。
もしも、「hdaが死んだらhdbをマスターにつなぎ変えて起動」ということを
考えているのなら、bios行は0x81ではなく0x80になると思います。
boot行は今見えているディスクの中のどれにブートストラップを書き込むかで、
bios行は実際にそのブートストラップが読み込まれて起動するときに、その
ディスクが何番目に見えているかを指定します。


> (4)lilo.conf
> ---------------------------------------------------------
> lba32
> disk=/dev/md5
> bios=0x81
> sectors=63
> heads=255
> cylinders=1072
> partition=/dev/md1
> start=63
> boot=/dev/hdb
> map=/boot/map
> install=/boot/boot.b
> prompt
> timeout=50
> default=linux-hdb
> message=/boot/message
> image=/boot/vmlinuz-2.4.22-0vl2.10
> label=linux-hdb
> read-only
> root=/dev/md5
> image=/boot/vmlinuz-2.2.25-0vl3
> label=linux-2.2-hdb
> read-only
> root=/dev/md5
> ---------------------------------------------------------

ざっと見た感じでは、
?cylindersとstartを直す
?initrdを使う
?起動ディスクにliloを書き込む
で起動するように思います。

> 当方が実現したいことは、SWAPパーティション以外をRAID1にしてブートもしたい。
> ということです。

余談ですが、ディスク全体をミラーするならSWAPもミラーしたほうがよいのでは
ないでしょうか。稼動中にSWAPのパーテーションに障害が起きるとクラッシュし
してしまいそうな気が・・・

投稿者 xml-rpc : 2005年1月23日 14:35
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/11732
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。