| ■ 【ぷろじぇくと ぞうさん】 〜E-Bananaサーバ 構築日記〜
|
第12日目:Coffee Break 〜64bitとメモリ容量について〜
|
どうも、('A`)です。
昨日taspoカード(自販機でタバコを買う時に必要になる身分証明カード)が('A`)のところに
届きました。さっそくチャージ機能でお金を入れようとタバコの自販機まで行ったのですが
('A`)の住んでいる札幌では5月1日からのスタートなので、何もできずにトボトボと会社に
戻るはめに・・・
しかも会社に戻ったら鯖子(J( 'ー`)し)が「そんな事する時間があったら日記書きなさいよ!」と
急きたてます。今matdのコンパイルがどうやってもエラーになるという「煮詰まった状況」を
少しでも進展させようと努めているのに・・・でもうまくいかないなあ。
エラーメッセージと「にらめっこ」していると、後ろからあぶらみくん(以下、 ( `э´))が
「おいっ、('A`)!」と声をかけてきました。
( `э´):「あのさあ、お願いがあるんだけど。」
('A`):「ちょっと今煮詰まってるけど・・・なーに?」
( `э´):「いやあ、実は64ビットサーバなんだけど・・・やっぱりおかしいよ。」
('A`):「ん、どっかのサーバがダウンしたとか?」
( `э´):「そうじゃないけど・・・あの「暫定解決方法」で対応してからは順調だよ。
でも改めて考えると、やっぱりおかしいなあ、と思うんだ。」
('A`):「んで、お願いって何?」
( `э´):「日記で今回の事を取り上げて欲しいんだ。」
('A`):「えっ、いいけど・・・なんでまた?」
( `э´):「世の中の他の人達も俺たちと同じ現象に遭遇しているのかなあ、って。
もしまだだったら紹介した方が良いかな、と思ったんだ。」
('A`):「うーん、確かにあれは「不思議な動き」だったからなあ。」
( `э´):「だろっ、だろっ!じゃあ任せたよ!」
|
そんな訳で今日はロードバランサーのお話からちょっと離れて、先月( `э´)と('A`)が
遭遇した64ビットサーバの「不思議な動き」について取り上げます。
(勉強不足かもしれないけど、正直、未だにこの原因がはっきりと判らないです・・・)
コーヒーを飲んで一息つきながら、改めて当時の記憶を辿って書いてみます。
( `э´)が言っていた「不思議な動き」とは以下の通りです。
・「最初から4GBのメモリを搭載したサーバ」に64ビットOS(FreeBSD 6.2R amd64)を
インストールすると、インストールに長い時間がかかる。
・その後Apache等のソフトウェアをインストールする時にも、コンパイル等にかかる
時間が異様にかかる。
・インストール完了後サーバを稼働させると、CPUの使用率がすごく高くなり易い。
(CPUの空きがすぐに無くなる)
→ 例えばApacheの子プロセスが意味もなくCPUを断続的に使用し続ける、など
|
この現象が確認されたのは、先月2chにcサーバ(c2x)が登場した時期です。
当時のcサーバの導入状況はこのスレとかこのスレとかで確認できますが、
cサーバはメモリは4GBを搭載して最初64bit(amd64)で構築していました。
当時eAcceleratorやApacheの設定チューニング(Listen 80など)でサーバの負荷を
軽減する作業を行いました。が、どうしても負荷が高い状態になるので、やむなく
32bit(i386)に再インストールしました。
OSで認識できるメモリ容量は3.5GB(これが32bitの限界)と小さくなりましたが、
以降は安定して稼働する様になりました。
一方この作業と並行して「べっかんこ(ula)」のフロントサーバの64bit化も実施して
いて、こちらも同じ現象が発生しました。
( `э´):「なんで64ビットのサーバは負荷が高くなるんだろう?」
('A`):「というか、何で4GBのメモリで起こるのか、そっちが気になるなあ。。。」
( `э´):「あー、そういえばそうだなあ。64ビット版って4GB以上のメモリをサポート
しているはずなのになあ。」
('A`):「ちょい待ち・・・えーと、どうもBrian( ^ω^)が何か言ってるなあ」
|
Brian( ^ω^)に「メモリを4GB積んでインストールすると、サーバの調子が悪くなるけど
調べてもらえる?」とお願いしていたけど、その結果が送られてきていた。
( ^ω^):「みんな元気?Brianだよ♪
サーバをPolywellに持って行って色々なOSをインストールしてみたよ。
その結果は以下の通り。
・Windowsは問題なくインストールでき、正常に動作した。
・CentOSをインストールした時、OS側でメモリの設定を特別に行わないと
4GBが認識しないという現象が起きた。
・FreeBSDで最初から4GBを取り付けてamd64版をインストールすると、
調子が悪くなる現象が確認された。
・FreeBSDで最初2GBを取り付けてamd64版をインストールし、その後で
もう2GBを追加で取り付けて稼働させると、問題は起きなかった。
・最初から4GBを取り付けているサーバでもi386版をインストールすると
動作が遅くなるという問題は起きなかった。
(ま、これは3.5GB以上は無視されるからなのかもしれないけど。)
僕個人の考えとしては、FreeBSDの64bit版は何かメモリ操作のところが
うまく動いていないんじゃないかなあ、と思うんだ。
ただ不思議なのはbgサーバ(banana3230、3231、3232)は最初から8GBの
メモリを取り付けてamd64版をインストールしたのに、サーバの調子が
悪くなるという現象が発生していないんだよ。。。
いずれにしてもamd64版で4GBのメモリを取り付けるなら、最初2GBの
メモリを付けてインストールしてから2GBを追加する、という方法で
今後対応しよう。じゃあね。」
P.S. 心配性の('A`)の事だから「マザーボード上のメモリスロットの差し口は
間違えていないか?」と思っているんだろうけど、それは無い(キッパリ)
T-Bananaサーバには4つのメモリスロットがあるけど、ちゃんと色分け
されているから、すぐ判る。
あと、確認された「調子が悪くなる現象」は2GBのメモリ2枚のケースでも
1GBのメモリ4枚のケースでも発生するよ。
|
んで、Brian( ^ω^)が提唱した方法でサーバをインストールしてみると、、、
4GBを最初に取り付けてインストールした時よりサーバの調子は良くなった。
( `э´):「不思議だなあ・・・なんでこうなるんだろう?」
('A`):「判らん。判らないけど、今はこの方法で対処するしかないな。」
( `э´):「よーし、そうと決まったらみんなに伝えよう!おーい、集まれー!」
('A`):「あ、ちょ、、、いっちゃった。気になる事がまだあるのに・・・」
|
( `э´)は気づいていないかもしれないけど、('A`)が気になっている事は
もう1つあります。
それは「メモリを8GB搭載しているサーバは、起動時にすごく時間がかかる」
という現象です。
例えば前述のbgサーバは8GBのメモリを搭載していますが、これらのサーバは
BIOS画面が立ち上がりOSが起動されてからSSHでサーバにログインできる様に
なるまでに5〜6分かかります。
どこで時間がかかっているかというと、SATAの部分です。
通常サーバに電源を入れると、BIOSが立ち上がった後で、OSが起動されます。
[OS起動時(いわゆるデーモン君の画面)]

※昔はデーモン君の姿が表示されたのですが、今は文字だけの味気無い画面です。
そしてSATAの起動直前までは順調に起動処理が進みます。

次にSATAのコントローラー(Intel ICH8 SATA300 controller)が起動されます。
ここまで所要時間は約30〜40秒です。
そしてこのサーバのマザーボード(Intel DQ965GF)ではSATAの接続口(チャネル)が
6つあるので、SATAのコントローラーと各チャネル毎の割り当てが行われます。
[SATAコントローラ起動+1つ目のポート割り当て時]

これが2GB&4GBメモリ搭載のサーバですと6つのポート割り当ては約20〜25秒程度で
終了しますが、8GBメモリ搭載のサーバでは5分かかります。
[6つ目のSATAポート割り当て直後]

これが終わってから初めてネットワーク関連(NICの有効化、sshdの起動など)が実行され
サーバがオンライン(ログインできる状態)になります。
[sshd起動終了後]

この現象は8GBのメモリを搭載した64bitサーバにのみ発生している現象です。
またサーバ起動後の各サービスは正常に稼働します。
(4GBの64bitサーバの時のようなCPUの異常な使用とかは発生しません。)
一方、2GB・4GBのメモリを搭載したサーバではサーバ起動時に時間がかかる現象は
発生していません。
(スペックにも依存しますが、T-Bananaサーバでは電源投入後、約1分40秒前後で
サーバにログインできる状態になります。)
「それがどうした」と思われるかもしれませんが、もしメモリ追加を実施した後で
「もうもサーバの調子が良くない」と感じている方がいましたら、今までお話した
箇所を一度調べてみる事をお勧めします。
まだまだ('A`)は勉強不足のところがありますが、もしこれらの現象に関して何か
情報を持っている方がおりましたら、('A`)まで教えて頂けるととても助かります。
今回の現象は今後64ビットのOSを使用する上で設定等を弄れば解決できる問題なのか、
それともFreeBSDそのものが潜在的に持っている問題なのか、問題のレベルすら
判っていない状況です。
世の中で同じ様な現象に遭っている人がいらっしゃるなら、(ほんのわずかですが)
情報としてご紹介できたら、と思いまして書いてみました。
(オチも何もなくてスミマセン・・・)
引き続きmatdとの格闘です。また明日もJ( 'ー`)しに言われるのかなあ・・・・
まあ、がんばります。
それでは、また。
|
|
|
|
|
11日目に戻る。 13日目に続く。
解析
|