raid1 と ZFS に関してブート環境で悩むが、とり越し苦労だったようです。

公開日: 

さて、SUN MICIROSYSTEMS という会社が開発したZFSというファイルシステムが、
とても先進的でシビレルのは、既に何度か書いている通りです。

しかし、ブートディスクをミラーリングしている場合、

zfs attach -f rpool c0t0d0s0 c0t1d0s0

とするだけでは、どうもダメらしい...
ということが、あちこちを見ていると書いてあります。
こことか、こことか、こことか、こことか、こことか、こことか、こことかですよ。

grubが片方のMBRにしか入っていないというのがその理由だそうです。
あー、とりあえず、installgrub すればいいんでしょ?
と、あちこち読んでるとそういう事みたいのなので
とりあえず、やってみたら…

cannot open/stat device /dev/rdisk/(デバイス名)

と、言われてしまいます。
あれ?

いろいろ調べて、恐らくここに載ってるEFIラベルがどうのこうのいう問題ですかい?
という事に行き当たったのだけど、detach して format -e して…
なんだかめんどくさそうです。

そういうわけで、とりあえずディスクが死んで片肺飛行した場合の状態を再現してみようということになりました。
それでちゃんとブートしないことを確認したら、諦めてやらないと仕方がないと自分で納得できるでしょう、きっと。

さてさて、まずは番号が若い方のディスクを残します。
問題なくブートしました。
よしよし。

zpool status でみると、ちゃんと?片肺飛行しています。
よしよし。

さてさて、次に逆のディスクを残します。
はいはい、ブートしないブートしな...してる!

なんで??

何の問題もなく立ち上がり、
zpool status でも、ちゃんと反対側が死んでいます。

なんか気持ち悪いです。
zfsの中の人がブート環境もちゃんと反対側にコピーしてくれてたんです、きっと。
...などとファンタジーな気分に浸りたいものですが、
なぜにちゃんとブートするのか全く不明。

もちろん、EFIがどーのだとか、installgrubを最初のへんでちゃんとやっていたとか、
そんな仕込みは一切ありません。(そんな知識もありません。)

気色悪っ。

しかし、ちゃんと片肺ブート環境も整っているようなので、
あまり気にしないで眠れそうです。

誰か、なぜちゃんと両方からブートするのか、知っている人がいたら教えてほしいです。
OpenSolaris 2009.06 というヤツです。

本家の Solaris10 より進んでいるという事なのか、
なにかのスゴイ偶然が重なったからなのか、
よくわかりませんが、
とりあえずOK。
しかし、理由がわからず、いまいち気色悪いです。

追加:

そういえば、最初わけがわからずに、ここからSXCEを落としてインストールした記憶があります。
そうそう、こんな画面がでて、勝手にミラー構成になりましたね。

その後、どうやらSXCEというのは隔週で発行されるSUNの社内評価版みたいなもの…らしい…
と気づいて、OpenSolaris 2009.06に入れなおしたんですよね。

だから、勝手に両方からブートできるようになったの?
いやぁ、違うと思うんだけどなぁ。

調子に乗って、AHCIにしたから?

うーん、
やはり、ナゾはナゾのままなのだった…

PAGE TOP ↑