| ■ 【ぷろじぇくと ぞうさん】 〜E-Bananaサーバ 構築日記〜
|
第47日目:【ニューTiger】GENERICカーネルを再構築してみます・・・
|
どうも、('A`)です。
えーと、昨日色々と試したのですが・・・ニューTiger(A-Tiger)が起き上がってくれません。
で、最後に試した方法でカーネルコンフィグレーションファイルをGENERICにしてもう一度
試してみます。
つまりCDからインストールしたOSはGENERICなので、GENERICでもう一度再構築すれば
動くんじゃないかな、と。
もし動くなら、カーネルはGENERICなら大丈夫という判断がつきます。
でも、、、考えたくないのですが、GENERICのコンフィグレーションファイルを使って
最新のソースを使って再構築したものが動かなかったら、もうお手上げです・・・
あれこれ悩んでもしょうがない。やるだけやってみよう。
今日も他のT-Bananaサーバを何台か作っていますが、時間をやりくりして以下の手順で
これから作業をおこないます。
rm -rf /usr/src
rm -rf /usr/obj
mkdir /home/src
mkdir /home/obj
cd /usr
ln -s ../home/src .
ln -s ../home/obj .
sysinstall で /usr/src をすべて取得
cp /usr/share/examples/cvsup/standard-supfile /usr/src/standard-supfile
cd /usr/src
make update
cd /usr/src/sys/amd64/conf
GENERICのカーネルコンフィグレーションファイルがあるか確認する
/etc/make.conf をエディタで開き KERNCONF=GENERIC に修正
cd /usr/src
make -j 8 buildkernel
make installkernel KODIR=/boot/testkernel
nextboot -k testkernel
reboot
|
あと、カーネル再構築前(CDからOSインストールした状態)のdmesgを保存しておきました。
tiger3502# cp /var/run/dmesg.boot /home
tiger3502# mv /home/dmesg.boot /home/admin/dmesg.boot_org
(dmesg.bootの内容はこちらで確認できます。
さて、どうなるかな。(後で追記します。)
それでは、また
【14:25 追記】
えーと、、、どうすればいいのかなあ。。。
GENERICでカーネル再構築してからrebootしたら、戻ってきません。
PDU(電源スイッチ:APCとも呼んでいます)から遠隔リブートして、元のカーネルで
サーバを立ち上げなおしました。
で、dmesg.bootを見ても、当然オリジナルのカーネルでの情報でした。
うーん、、、社内サーバ(マザーはIntelのDQ965GF)だとうまくいくのになあ・・・
『百式』の時といい、このマザー(IntelのDQ35JO)だと繋がらなくなるんだよなあ。
あ、またサーバのセットアップ依頼がきちゃった・・・
しばらく本業の方に戻りながら、どうするか考えます。
ちょっとFreeBSDに限定しないで、他のOSでもこのマザーボードで接続できなくなる
事象の報告がどこかで出ていないか調べてみます。
その位しか今は思いつかないです・・・
【15:15 追記】
要請を受けたサーバのセットアップ作業を実行しながら、久しぶりに『百式』を
覗いてみました。元気そうに動いていて、ちょっとうれしいです。
で、『百式』の時はどうやってカーネル再構築したかをいま振り返っています。
ココに『百式』に入れたカーネルのコンフィグレーションがありますが・・・
あの時にはカーネルの事が何も判っていなかった(今も大差無いですが)ので、
GENERICをそのままコピーして、SMPのオプションを付け加えただけ、という
内容で「TTIGER01」を作りました。
(root兄(・∀・)からは「それってオリジナルと言えないじゃん!」と突っ込まれて
「('A`)違うよ。全然違うよ。(by マークパンサー) SMPがついてハイパースレッド
有効にしているんだよっ。」と苦しい言い訳をしていました。)
あと、当時はFreeBSDの64ビット(amd64)も6.2Rだったので、CPUTYPEに core2 が
指定できなくて、やむなく opteron と書いていました。
(それでも動いたんだよなあ・・・)
ちなみにmake.confの中身はこんな内容にしていました。
CPUTYPE=opteron
PERL_VER=5.8.8
PERL_VERSION=5.8.8
PERL_ARCH=mach
NOPERL=yo
NO_PERL=yo
NO_PERL_WRAPPER=yo
KERNCONF=TTIGER01
WITHOUT_X11=yes
CPUTYPE=opteron
CFLAGS= -O -pipe
COPTFLAGS= -O -pipe
NO_BIND=true
NO_BIND_NAMED=true
NO_BIND_ETC=true
NO_FORTRAN=true
NO_I4B=true
NO_KERBEROS=true
NO_LPR=true
NO_MAILWRAPPER=true
NO_SENDMAIL=ture
NO_USB=true
NO_X=true
#NOGAMES=true
#NOMAN=true
#NOPROFILE=true
#NOMANCOMPRESS=true
PPP_NOSUID=true
# added by use.perl 2007-11-19 07:51:47
PERL_VER=5.8.8
PERL_VERSION=5.8.8
|
何か昔の作業を思い出しながら、解決のヒントを探っています。
(長々と書いてすみません、みなさん。)
また、本業に戻らなきゃ・・・
【17:00 追記】
並行で行なっていた3台のサーバのセットアップ作業が終わり、一息つけるかと思ったら
/var パーティションのinodeが100%になって動かなくなったJimのサーバの復旧要請が来て、
今せっせと不要なメールデータを削除しつつ、次の作戦を考えています。。。
今度はCPUTYPEを指定せずに、GENERICカーネルでもう一度試してみます。
あ、また何か要請が・・・今日は人手が不足気味。
また本業に戻ります。
【17:40 追記】
やったーーーーーーー!
CPUTYPEを指定しない形でGENERICでカーネル再構築した後リブートしたら、
A-Tigerが無事戻ってきました。
よしっ!よしっ!
次は('A`)が作ったカーネル(ATIGER6471)でカーネル再構築して、リブート後
戻ってくるか確かめます。
本業の方でまた1台サーバセットアップが入りまして、ちょっと大変ですが、
また時間を見つけてカーネル再構築します。
でもね、CPUTYPE=Core2って指定するとダメなのね・・・Quadだから?
【18:30 追記】
追加で要請があった1台のサーバのセットアップが終わって、ちょっと一息つけました。
Jimのサーバの復旧作業(不要なメールデータの削除)ももうすぐ終わりそうかな。
(ってか、40万件以上もあるなんて・・・)
で、まずはこれから現在の /var/run/dmesg.boot (CPUTYPE指定せずにGENERICで
再構築したバージョン)を保存して、次にいよいよ ATIGER6471 でカーネル再構築
してみます。
念の為、nextboot -k testkernel を指定する形で一度再構築します。
さて、結果はどうなるか・・・
【19:50 追記】
ダメでした・・・orz
ATIGER6471 でカーネル再構築すると、リブート後サーバが戻ってきませんでした。
何でだろう?
ATIGER6471は少しGENERICからデバイスとか削っているけど、「消しちゃいけないもの」が
あったのかなあ・・・もしくはスケジューラーの部分かなあ。
で、とにもかくにもGENERICそのまんまでCPUTYPE指定しなかったら、再構築しても
動く事を確認したので、もう一度その状態に戻して、また仕切り直しします。
(nextboot -k testkernel の形で)
('A`)今日はもうダメぽ・・・
【20:10 追記】
カーネルをGENERICで再構築して、サーバを立ち上げなおしました。
ちゃんと「-p1」ってついてきました。
tiger3502# uname -a
FreeBSD tiger3502.maido3.com 7.0-RELEASE-p1 FreeBSD 7.0-RELEASE-p1 #0:
Sat May 17 04:03:52 PDT 2008
root@tiger3502.maido3.com:/home/obj/home/src/sys/GENERIC amd64
ちなみにもう一度サーバを再起動しちゃったら、元のカーネルに戻っちゃいます。
結局今日到達できたのは、ここまでなんだなあ・・・
あとは2つのカーネルコンフィグレーションファイルを見比べて、1つづつ
変えながら再起動しなくなる要素(項目)を洗い出すしかないか。
うーん、完成までの道のりが遠いなあ・・・
|
|
|
|
|
46日目に戻る。 48日目に続く。
解析
|