
Ubuntu日本語フォーラム

ログインしていません。
ubuntu 9.10 server で自宅サーバーを構築しています。
不具合ではないのですが、ちょっとびっくりしたことがあって投稿しました。
RAID1で以下のようなパーティション構成で、「/boot」を切ってインストールしました。
HDD:SAMSONG 1TB×2
/boot 100MB RAID1
swap 4GB RAID1
/ 20GB RAID1
/var 100GB RAID1
/tmp 10GB RAID1
/home 860GB RAID1
インストール後、
セカンダリ側(/dev/sdb)の「/boot」にGRUBをインストールしなきゃと思って、sudo grubで、
grubを起動しても、「comand not found・・・」grubがインストールされてないとでるので
「はて・・・?」と思ってとりあえず、apt-getでgrubをインストールし、
grub> root (hd0,0)
root (hd0,0)
grub> setup (hd0)
とコマンドうっても、「setup」でエラーが返ってくるので、「おかしい・・・」と思って
乱暴ですが、HDDを1台づつにして起動すると、ちゃんとGRUBが起動し、
しかも「RAIDに異常が起こった」というようなメッセージまででてくるので、びっくりしました。
以前、CentOS5.3やVine LinuxでRAID1でインストールした場合は、かならず片側のHDD(主にプライマリ側)にしか
GRUBがインストールされなかったし、ubuntuでも8.0.4の時はそうだった気がするのですが、
ubunutu 9.10ではRAID1でインストールした場合は、自動的にGRUBが両方のHDDにインストールされるのでしょうか?
よろしくお願いします。
オフライン
こんばんは
どなたも答えないので、あまり詳しくありませんが、お茶を濁します。
以前、CentOS5.3やVine LinuxでRAID1でインストールした場合は、かならず片側のHDD(主にプライマリ側)にしかGRUBがインストールされなかったし、ubuntuでも8.0.4の時はそうだった気がするのですが、ubunutu 9.10ではRAID1でインストールした場合は、自動的にGRUBが両方のHDDにインストールされるのでしょうか?
結果的には、dedeohさんがご推測の通りだと思います。
つまり、非RAID領域に書かれた/bootにあるカーネルが起動して、そのカーネルにRAID○○サブシステムがロードされ、RAID領域が使えるようになるので、予めインストラーが両方のHDDに非RAID領域をつくり、同じ/bootをつくってしまうのではないでしょうか。
でも、grub(またはgrub2)ではsda1の/bootで起動するように設定されているときに、sda1が切り離されると、sdb1からの起動はできるでしょうか。
私は起動が面倒なので、システムはコンパクトフラッシュにしています。システムは8Gもあれば9.10でも十分です。データ領域はRAIDに、swapはHDDの非RAID領域に。
どうしても、システムまで冗長化したいときにはハードウエアRAIDをお勧めします。これならばUbuntu側の設定は何もありません。
しかし、それよりも問題なのは、片方のHDDを外してしまうと、縮退モードに入り、1つのHDDしか利用できなくなっているのではないでしょうか。縮退モードに入ってしまったRAIDに、再びHDDをつないでも、ふつうは自動復帰しません。
縮退モードに入っているかどうかは、
sudo cat /proc/mdstat や
sudo mdadm –datail /dev/md0 (RAID1をデバイス名md0とした場合)で確認できます。
もし、外れていれば、
sudo mdadm /dev/md0 –add /dev/sdb (sdbが外れていた場合)で復帰でさせられます。
ご健闘を祈ります。
オフライン
すみません。記述ミスです。
誤 sudo mdadm –datail /dev/md0 (RAID1をデバイス名md0とした場合)で確認できます。
正 sudo mdadm --datail /dev/md0
もし、外れていれば、
誤 sudo mdadm /dev/md0 –add /dev/sdb (sdbが外れていた場合)で復帰でさせられます。
正 sudo mdadm /dev/md0 --add /dev/sdb
msワードで自動訂正されてしまいました。
オフライン
その後、もう少し調べてみました。
結果からいえば、ブートローダーにgrub2を使っていれば、grub2に制御が渡った段階でソフトウエアRAIDも認識し、その中の/boot/grubにアクセスできるそうです。ですから、BIOSではRAIDは認識されませんが、grub2、Ubuntuで認識できるので、システムの格納に使えるということです。RAID区画を作ったインストラーがコピーするのではなく、片方のHDDにインストールが終わると、ソフトウエアRAIDサブしシステムがRAIDを構成し、再構築が行われ、もう一方のHDDにコピーされる(RAIDとしての普通の動作)ようです。その再構築にどの程度時間がかかるか分かりませんが、/bootがRAID区画の中に作れるということはハードウエアRAIDを使わなくともよいということですね。
今のところgrub2を標準で使えるのはUbuntuだけですので、他のデストリは従来通りの設定になります。これだけでも今後grub2を標準にするデストリが増えますね。
オフライン
grub2は、SoftRAIDのほか、nvidiaのチップのRAID(詳細不明)と、あと、LVMもサポートしてますね。
RAID1だと、(grub-legacyでも一方だけ見て起動できるので)あまり効果ないんですが、全体をRAID10やRAID5に乗せたり、RAIDとLVMを組み合わせているときには、grub2はかなり強力になりそうです・・・・が、オフィシャルサイトでも簡単な解説しかないので、まだまだこれからでしょうか。
オフライン
>ubunutu 9.10ではRAID1でインストールした場合は、自動的にGRUBが両方のHDDにインストールされるのでしょうか?
Server版のインストーラで grub-install /dev/sda /dev/sdb と表示されるので「自動でインストールされる」で正解ですね
それよりも起動パーティションがRAIDの場合に error: biosdisk read error と表示されませんか?
表示されても普通に起動するんですけどねw
オフライン
続けてすみません
すでに解決されていると思いますがまとめると
1. インストール時に自動で sda と sdb 両方に grub2 が入った
2. grub コマンドで sdb に grub を入れようとしたが You can install it by apt-get install grub
3. メッセージに従って apt-get grub すると grub regacy がインストールされた
4. ディスクには grub2 が入っているので1台づつでも起動する
という流れでしょうか
ちょっとはまりそうな罠ですね
オフライン
皆様もうしわけありません。
トピを立てたはいいが、しばらく回答がなかったので、すっかり忘れてしまいました。
本当に申しわけありません。
状況としては、chinajunkさんがおっしゃる通りです。
で、特に不具合があったわけではないのですが、grub2とgrub regacy が入っている状況に不安があったので、
再度RAID1でインストールしなおしてみました。
grub2からは、RAIDがサポートされているということですね。
アドバイスありがとうございました。
オフライン