Express5800/S70FLへのCentOS5.3インストール
前回の続き.Express5800/S70 FLへのCentOS5.3のインストールに関するメモ.
このマシン(以下,S70FL)は,自宅でもう8年近く動いているTerminator TUの後継とすることを考えていたので,OSをLinuxにすることは決めていた.次にディストリビューションの選択ですが,今まで通りVineで行くことも考えていましたが,今回はCentOSにしました.
CentOSに関しての詳しい話はココを読んで頂くとして,これはRHEL(Red Hat Enterprise Linux)のクローンでです.なので,『普通に使っている分には』安定性が高く,ユーザがも比較的多いので情報も得やすく,FedoraやRHELのRPMパッケージを流用できたりするというメリットがあります.
その反面,入っているパッケージは良く言えば枯れて安定した.悪く言えば古いバージョンの物が多いので,最先端を追っかけたい人にはあまり向きません.もちろん,自分でソースビルドすれば,最新の追っかけは不可能ではないのですが,そういう向きには,Fedoraの方が良いのではないかなぁと個人的には思ったりもします.
私の場合,昨年度に仕事でRHEL使う機会が結構あり,好印象を持ったのと,あまり自宅のサーバ管理に時間を費やせないことが多くなって来ましたので,これに決めました.昔はマイナーなのとかニッチな所を追っかけて,趣味でゴリゴリやることが多かったのだけど,なかなか最近はこういう贅沢な時間の使い方が出来なくなって来たので辛い(/悲しい)所です.
閑話休題.
CentOSのインストールイメージは,複数枚に分かれたCDイメージ,もしくは1枚のDVDイメージのISOファイルで提供されています.DVD-ROMドライブが利用できる場合は,圧倒的に後者が楽です.イメージファイルはあちこちにあるミラーサイトからダウンロードできますが,私はrikenにお世話になりました.
CentOSには32bit版と64bit版があるので,自分の用途にあった方を使用すると良いでしょう.私は32bit版にしたけれど,最近は64bit版でも昔のように苦労することはなく,逆に推奨される方が多いように思います.サーバに使うとしたら,ちょこちょことOSを入れ替えることは困難だと思うので,最初の選択は慎重に.rikenのミラーへのリンクを張りますと,CentOS5.3の32bit版,64bit版は,それぞれココ,ココになります.
S70FLはチップセットとしてG45/ICH10Rを使用しており,その他,NICにはBroadcom 5784M ,AudioにはRealtek ALC262VDを使用しています.CentOS 5.3のインストーラは特にトラブルもなく一通り認識し,GUIベースでサクサクインストール出来ました.
ディスクに関しては,1TB HDDを合計6台接続し,1台は普通に.そして5台はRAID5にして,次のような感じでパーティション分けして使用トしています.そして後からちょこちょこ増やすのは面倒なので,とりあずお大尽に全パッケージをインストール.
/boot | ext3 | 122MB |
swap | - | 4GB |
/ | ext3 | 895GB |
/export/sraid | ext3 (/dev/md0) | 3.6TB |
S70FLへのCentOS5.3インストールの注意点としては,X-windowの起動時にたまにハングするときがあることが挙げられます.
私はインストール時に引っかかりませんでしたが,運用後に数回これに引っかかりました.電源を落して再起動すると上がって来るのですが,流石にサーバでこの状態はまずいので,現在はrunlevelを3にしています(*).気になる人は,Xorgの状況をウォッチしたり,Intel謹製のドライバに入れ替えたりする方が良いかも.あ,いや,もしかしたらkernelの問題かも.(※私の場合は今のところリモートでしか使用していないため,原因は追求していません(^^;)
(*)/etc/inittabの 『id:5:initdefault:』 を 『#id:3:initdefault:』 にする
次にyumのリポジトリですが,調子に乗ってあちこち追加して『おっ.こんなパッケージまである』『ほほー.こんな新しいバージョンまであるのかぁ』とか言いながら喜んでインストールしまくったのも束の間,アレコレ入れまくっていたら嵌ってしまったので,今は標準の他にrpmforgeを追加するくらいにしています.これを加えるだけでも,かなり色々な物がyumで簡単にインストール/アップデート出来ます.
一連の物をインストールした後,yum updateして諸々ソフトのアップデートをし,yum install hogehogeで追加で欲しいソフトをインストールしたら,基本の構築は終わりです.この後,必要に応じて諸々の設定をする感じ.
次にメモリ認識容量の話.
大容量メモリの価格の下落と連動し,各OSで利用可能な最大メモリ容量が話題に上ることが多くなって来ました.『基本的』には,32bit OSの場合は4GB(*2),64bit OSの場合は16EB(*3)になります.しかしこれとは別にチップセットの制限や,OSの制限により,認識される容量が制限される場合があります.例えば32bit版のWindowsの場合は,4GB積んでも3.2GBまでの認識になります(ただし,それ用のソフトを使うことにより,残りの0.8GBや,4GB以上積んだ際にそのメモリをRAM DISKとして使うことも出来る).
(*2) 2^32
(*3) 2^64.EBはエクサバイト.1,000(1024)倍になる毎に,キロ→メガ→ギガ→テラ→ペタ→エクサ.
さて,メモリを5GBを積んだ当マシンでCentOS 5.3 x386(32bit版)を動かした場合,どのように認識されたかと言うと,次のような感じ.
OS | 認識される容量 |
Linux version 2.6.18-128.1.10.el5 | 3.2GB |
Linux version 2.6.18-128.1.10.el5xen | 5GB |
ノーマルのkernelは案の定,4GB以上は認識しないだけでなく,3GBちょっとしか認識しませんでした.そしてXen kernelは4GB以上も認識する.『え?なぜ32bit OSなのに4GB以上を認識しているの?うちのは4GB以上積んでも認識してないんだけど…』と,いう人は,syslogを確認してみて下さい.気の利いたkernelは,おそらく次のようなメッセージを出力しています.
May 12 23:18:37 centserv kernel: Warning only 4GB will be used.
May 12 23:18:37 centserv kernel: Use a PAE enabled kernel.
May 12 23:18:37 centserv kernel: 3200MB HIGHMEM available.
May 12 23:18:37 centserv kernel: 896MB LOWMEM available.
そう.PAE(Physical Address Extension/物理アドレス拡張)という仕組みが用意されており,これを使用することにより,32bit OSであっても,64GBまで利用できるようになるのです.
つまり,これに対応したkernelを使いなさいと言うことです.なお,PAEの仕組みに関する詳しい解説は,ココやココを読んでみてください.
※少し前のgrubには問題があり,PAE対応kernelでも,4GB以上利用出来ない問題があったようです.当該の問題に直面している人は,grubの問題もチェックすべし.
そのようなわけで,32bit版で4GB以上使うのであれば,Xen kernelを使うのが手っ取り早いでしょう.Xenも使えるし,(Xenを使わずに)普通のkernelとして使用しても良い.
しかし,ここで問題発生.私は仮想マシンでWindowsを動かそうとしていたのですが,Xenではなく,VMware Serverを使うことにしました.この顛末は別エントリにまとめる予定ですが,VMWareはXen Kernelでは動きません.そのようなわけで,PAE対応の『普通の』kernelが必要になりました.でも,CentOS5.3の場合,インストールに際して難しいことをする必要はありません.次のようにコマンドを叩くだけ.楽だなぁ.
インストール後,/etc/grub.confを修正して上がってくるkernelをこれに設定し,再起動します.すると『Linux version 2.6.18-128.1.10.el5.centos.plusPAE』なkernelが立ち上がり,きっちり4GB以上の部分も認識してくれるようになります.VMware Serverも当然ながら問題なく稼働.
そんなわけで,快適なLinuxマシンが出来ました.
![]() |
最近のLinuxはマルチメディア系もバリバリですねぇ |
あと余談ですが,Vineからの移行組は,ファイル名をEUCからUTF-8に変更しなければならないという面倒な問題があります.手持ちのファイルのファイル名を一括で変換するときには,convmvコマンドが便利です.yumでインストールし,
convmv -r -f euc-jp -t utf8 <対象ディレクトリ名>
でどのように変換するか確認し,
convmv --notest -r -f euc-jp -t utf8 <対象ディレクトリ名>
で実際に変換します.
ただ,ファイル名によってはうまく変換できない物もあるので,samba経由で変換(漢字コードをeucで読み出し,winを一端経由して,utf-8にしたsambaで書き込む)してやった方が確実な場合もあります.
| 固定リンク
コメント