LinuxでRAID 1のサーバを作る実験をしてみたよ!

このまえ、TurboLinux 4.0Jを買ってみたんだけれども、これがもうらくちんで、今までSlackwareでコンパイルしまくっていたのが馬鹿らしくなるくらい。しかも、噂によれば、LinuxでSoftware RAID-1のサーバができるらしい。それなら、ということで、IBMの15GBのIDEのHDDをふたつ買ってきました。ひとつ¥13,000-なり。こいつを、IBMのAPTIVA 750にくっつけて、LinuxでRAID 1サーバを作ってみよう!

確認:ハードウェア

本体:IBM Aptiva 750(Pentium 133MHz,Memory 96MB)

ハードディスク:HDA:Qantum FB-1280AT

hdb:IBM DJNA351520(15GB,5400rpm,Ultra-ATA66)

hdc:IBM DJNA351520(15GB,5400rpm,Ultra-ATA66)

hdd:MITUMI CRMC-FX-3210S(普通の32倍速CD-ROMドライブ)

※CD-ROMドライブを使わないでも、NFSからTurboLinux4.0Jをインストールできることをかくにんずみ。でも4倍速なので、爆おそでした。

 

問題点

1.RAIDパッチの組み込みがないとraidtoolは動かない。

2.Turbolinuxのカーネルコンパイル.

 

なりゆき

とりあえず、Aptiva 750に、モービルラック2つくっつけてみました。そしたら、CD-ROMドライブを収めるところが無くなってしまいました。Aptiva 750は、ベイが三つあるように見えますけれども、そのうちの一番下のベイは、5インチベイの高さがある(1インチ)3.5インチベイでした。やられた。

しょうがないので、本体を開けっぱなしにして、CD-ROMは本体の横にぶら下がるかっこうになりました。

とりあえず、TurboLinux4.0Jを適当に入れてみる。種類をネットワークサーバにして、hdaのQuantum Fireballに入れました。こいつには、BeOSも入っているんで、Linuxにつかうhda1は512MBしかありません。

で、ネットワークカードを誤認識やがったが、/etc/conf.modulesのvia-reneみたいなのをneにし、さらにoptions ne irq=3 io=0x300をセットして、あっけなく入ったので、RAID関係をWWWで情報検索。

http://www.tairon.co.jp/s-raid.html

どうやら、kernelでmdというのがサポートされていればいいらしい。dmesg|lessでみてみると、md 0.36っていうのが見えたので、カーネルはおっけいと考えて、raidtoolを落としてこようかな? その前に、TurboLinux JapanのページにいってRPMでもないかなとリストをみてみると、手元のパッケージのdisk3:コンパニオンCDに入っているという。しめしめ。すかさず、rootになって、mount /mnt/cdrom、cd /mnt/cdrom/TurboLinuxContrib/RPMSのrpm -ivh raid<tab>)(手抜き)して、インストール。

更に、vi /etc/raidtabに、

raiddev /dev/md0
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 4
persistent-superblock 1
device /dev/hdb1
raid-disk 0
device /dev/hdc1
raid-disk 1

なんてそのまま入力、:wqで書き込み、hdbとhdcのHDDをfdiskで最大容量とって、idをfdにする。

おもむろに、mkraid /dev/md0を実行!

もちろん動かない!(だめじゃん)

ちょうどそのとき、日経Linux 12月号を買ってくる。こいつにはLASER 5 Linuxがついているじゃん。こいつでいくかないかないかな。なんていいながら、

おもむろに、hdaにインストール(つまりTurboLinuxを消した)。

どうもインストーラーがしっくり来ないなあといいながらなんとかインストールが終わったので、同様に、raidtoolをTurboLinux のDisc 3からインストール。raidtabも同じように書いた。

おもむろに、mkraid /dev/md0を実行!

あれ、成功しちゃったよ〜。ふたつのモービルケースのアクセスランプが交互に瞬いている。ここで、cat /proc/mdstatすると、残り時間150分なんてでやがる。おやすみ〜。

 

翌日。どうやら、LASER5 Linuxのほうは、カーネルバージョンは古いが、mdが0.90になっていることに気付く。どうやら、カーネルのmdが0.90でないとダメっぽいぞ。

ここで、珍案。インストールがお気楽極楽なTurboLinuxを使って、カーネルだけLASER5 Linuxを使ったら如何か? いかがもなにも。 で、やってみた。LASER5 Linuxのカーネルは、RPM形式なので、これは簡単、rpm -Uvh --force --nodeps kernel-*を入力。あとは下のリンクのとおり。

カーネルパッケージのアップグレード

そしたら、LASER5 Linuxのカーネルで動いてしまった。moduleまわりはいじったが、RAID構築も可能。raidstart /dev/md0でちゃんと動き出す。

http://www.kcs-inc.co.jp/linux/raid06.html

ということは…アメリカのRedhat Linuxの最新カーネルのRPMなんて使ったらとても楽そうだな!と思ってみたりする。で、RedHatをうろついてみる。

…よく考えたら、TurboLinuxだって、US版があるじゃん。ということで、TurboLinux.comに飛んでみる。

すると、どうやら、向こうのTurboLinux Serverはカーネルが、2.2.12だって。しかも、パッケージの説明に、Software RAIDの文字が!とりあえず、APM-Kernelのところをダウンロードする。これも時間がかかるなあ。おやすみなさい!

 

さて、ダウンできたので、ftpでAptivaに転送、カーネルをLASER5のときと同じように上書き。リブート。お、ちゃんとRAIDが開始できる!よしよし。

しかし、WWWによると、自動的にRAIDを開始できると、書いているのに、俺のは開始できないなあ。modulesあたりいじっているし、カーネルかなあ。と思い、rpmでソースをインストールして、cd /usr/src/linuxでmake menuconfigしてみると、案の定、RAIDがmoduleになっていたので、こりゃいかん!と思って、組み込みになおして、

make dep;make clean

make zlilo

make modules;make modules_install

うまくいきませーん。Web調べたら、これはSlackのやり方だってさ。

正解は、

make bzlilo

でした。Slackしか使っていなかったからわかんなかったぜ。

で、コンパイルしてみる。おやすみなさーい(嘘)お出かけしてきました。

 

どうやら、TurboLinuxなどのRedHat系は、vmlinuzが/ではなく、/bootになければならないらしい。というわけで、Makefileの#INSTALL_PATH=/bootの#をとる。

で、やっと、インストールできた。

リブート。

をを、起動時からmd0をスタートさせている!成功じゃ!

というわけ。終了。おつかれ>おれ

1999年 11月 14日