スキップしてメイン コンテンツに移動

投稿

10月, 2011の投稿を表示しています

GentooでiSCSIブートしようとしている人はバージョンに注意してね

ちょっと試してみたくって、ディスクレスなGentooマシンを構築してみました。 が、1ヶ月以上もハマってしまいました(汗 思惑としては、なんちゃってストレージエリアネットワークを作って、ディスクの 一元管理と省電力化になればなと。 iSCSIブートな環境構築の詳細は、後日まとめようと思いますが、やることを大雑把にまとめると カーネルオプションの指定 genkernel にiscsiオプションつけて実行 grubにパラメータ追加して起動 ってだけで、まあブートまでは簡単にできます。 ただ、この状態だと起動時にiscsistartコマンドが実行され、iSCSIが 使える状態にはなっているんですが、エラー発生時に再接続などは やってくれません。 ディスクレスなので、ルートがiSCSIのボリュームになっているので、 エラーが発生するとダンマリを決め込む困ったちゃんになってしまいます。 最初、これに気がつかず、iSCSIブートできたぁ♪と喜んでいたら、起動して 数日経って、なんか知らんがマシンが固まるといった現象に遭遇していました。 そこでiscsidを起動して、エラー発生時に再接続を行うようにします。 しようとするんですが、できません・・・ とりあえず # emerge open-iscsi とかして # iscsid -f -d 8 とか実行してみると、起動時にiscsistartで接続できていたセッションが 切断されてダンマリをキメてきます・・・ えぇ!!ナニコレ!!と、訳もわからず色々試してみるものの、状況は変わらず ダンマリをキメてきます。血迷って、emerge -e worldなんてのも、してみましたとも。 ええ。 と、そんなある日、気がついちゃったんですよ。 Gentooの恐ろしさを。 genkernelでinitrdに組み込まれるiscsistartのopen-iscsiのバージョンと、 起動後のopen-iscsiのバージョンが違うじゃない!! genkernelで使用されるバージョンは /etc/genkernel.conf に指定されていて こんな指定になってます。 ISCSI_VER="2.0-872" ISCSI_DIR="