先日、富士通PRIMERGYが届きましたという記事を載せたのですが、その直後ちょっと問題が発生してしまいました。1週間ほどで無事に解決できましたので、ご紹介したいと思います。
PRIMERGYはKVMのテスト用に使うために用意したので、さっそくFedora 12をインストールしました。PRIMERGYはこれを正式にサポートしていないのですが、PRIMERGY フリーOS動作確認情報にリストアップされているし、特に問題ないだろうと判断していました。ところがインストール後、HDDのベンチを始めた途端フリーズする問題に見舞われました。具体的にはBonnie++を実行すると5分~30分程度でカーネル・パニックを起こしてしまうのです。
当初は着荷不良、つまりハードウェアの問題を疑ってサポートをお願いし、部品交換などを実施したのですが解決しません。そこで専用サーバ用の機材にFedora 12を入れてみると、同じ問題が再現できました。どうやら問題はFedora 12のドライバのようです。
サーバのHDDはRAIDコントローラを介して繋がっています。PRIMERGYの該当機種ではLSIのカードを使用しており、Linuxではmegaraid_sasが対応ドライバとなっています。この対応関係については、専用サーバの機種選定の際、開発部がテストをしており、詳細なレポートがすでに存在していました。しかし対象OSはCentOSとRedhatで、研究所が使っているFedoraは対象外となっていました。まず確認するべきはそこかな、ということでmegaraid_sasのバージョンを確認してみました。すると…
OS | kernel | megaraid_sas |
---|---|---|
Fedora 12 | 2.6.31.5-127.fc12 | 4.01 |
CentOS 5.4 | 2.6.18-164.15.1.el5 | 4.08-RH2 |
RHEL 5.5 | 2.6.18-194.el5 | 4.17-RH1 |
kernelのバージョンに比べてドライバのバージョンがちぐはぐなのが分りました(普段FreeBSDばかり触っていると、Linuxのディストリビューションごとの差異が奇異に思えて仕方ありません…)。さて、少なくともドライバのバージョンを4.08以上にしなければいけません。最初に試したのはFedora 12のkernelをアップデートすることでした。
# yum update kernel
などとすればあっという間に最新版にアップデートできるのですが、現時点での最新と思われる2.6.32.11-99.fc12にしてみても、megaraid_sasのバージョンは4.01のままでした。
本当ならここで「しゃーないな、sourceからmakeするか」となるのでしょうが、実はLinuxのmakeは経験がないため、やり方がよく分りません。そこでついつい手を抜いてFedora 13を試してしまいました。Fedora 13はまだαバージョンですが、調べてみるとmegaraid_sasのバージョンは4.12になっていて、少なくともCentOSよりは新しかったのです。これをPRIMERGYにインストールしてみたところ、フリーズ現象は発生しなくなりました。一応解決できたようです。
[…] This post was mentioned on Twitter by 横田真俊, 鷲北 賢. 鷲北 賢 said: さくらインターネット研究所ブログ 富士通 PRIMERGYが届いたのですが http://research.sakura.ad.jp/2010/04/16/primergy-rx200-s5-problem/ […]