いつもの
皆様こんにちは、はじめましての方ははじめまして。
以前 某Advent Calendar にて トレンドを完全に無視した話 をそれまでの流れをぶった切ってやった @asuky です。
一応物理環境とか仮想化とかネットワークが専門のつもりですが、正直怪しいです。
前回はこのクラウド全盛な世の中で、最近 IDCフロンティアさんもクラウドサービス開始 して、AWSと比較して安かったりとか、請求書払いが出来たりコンピューティングの利用料上限があったりして国内の会社が使いやすいサービスだったりとか ハイブリッドクラウドとかもできちゃう とかやってたりして楽しそうな状況に背を向けて自作サーバを作りました。
前回の内容だけでは「物理サーバをそのままたくさん使うようなシチュエーション」でも無い限り、個人利用ではなかなか4コア8スレッドの昨今のCPUを使いきれるものではありません(PC1台でゲーム実況をやるとか、エンコードをかける等の特殊な高負荷環境でも無い限り…)。
仮想サーバを小分けで作って利用することで、簡単に物理サーバのスペックを使い切ることが可能となる(かもしれない)ですし、物理サーバと比較して取り扱いも楽になります。
今回はKVMを導入するための…OSインストールするところまで書きます(OSインストールまでの分量が意外と多かったのでKVMは次回です、申し訳ありません)。
なお下記前提で進めますのでよろしく。
- 自作サーバは(リモートではなく)手元で触れる
- CentOS 6.* 64bitを利用
なお、例によってサーバを起動した瞬間に自作KickstartやCobblerあたりが走ってOSが勝手にインストールされ、なんとかStackのホストサーバに自動的に組み込まれちゃうような豪の環境を構築されている方は、そっとブラウザを閉じて頂ければ幸いです。
OSのインストール前にやること
素直にCentOSを入れて、qemu-kvmを突っ込んでおしまいにできれば良いのですが、なかなかそうもいかないところが結構あるので説明しておきます。
仮想化機構を有効にすること
BIOS上で VT-dを有効にしてください、これがないと動作が大変もっさりします(QEMU側で物理CPUの仮想化支援機構を使うため)。
…どこかと言われるとベンダによって異なるので困るのですが。まぁBIOS画面のどこかにありますとしか。
上記はGIGABYTEのBIOSですが、他のメーカだろうがサーバベンダだろうが大差はないです。Virtualizationとか書いてあるかと思うので適当に探してください。
昨今のサーバやPCですと、大体デフォルトONになっているケースが多いようですが、確認しておくに越したことはありません。
Memtestを実施すること
ベンダ製のサーバは保守にさえ入っていれば契約約款に沿ってパーツ交換してもらえますが、自作サーバの場合は自分で対応しないといけないので、メモリに問題が無いかをまず確認します。
Memtestを最低1pass実行してエラーが無いことを確認しましょう。
なおCentOSのセットアップメニューに同梱されています。
一昔前は最低3,4passぐらいやれと言われたものでしたが、最近のメモリはそんなにエラー出ないので1passで良いと思うのです…1pass大体45-60分程度ですので、好きなだけやってください。
(よく自作PCを扱う店に行くと、レジ裏でMemtestがひたすら走っていたりする光景が見えたりとかなんとか)
その他、気にしないといけないこと
UEFIとBIOS
素直にBIOSにしておきましょう。自作の場合だとWindows8のせいでUEFIデフォルトだったりするケースが多いですが、BIOSで明示的にBIOS (Legacy BootだのOnlyだの) を指定します。
…この辺りを詳しく説明すると長くなるので割愛しますが、UEFIは色々面倒ですし、そもそもそんな現時点 (2014年12月) では使いません。
SSDを利用しているならまず2TBに引っかかりませんし、商用利用のサーバでSASのHDDを使うようなケースでも、RAIDのリビルド時間との絡みもあって容量の多いディスクは好まれないと考えます。
(Hadoop等を使うような環境だとまた別なのかもしれませんが…)
CPU周りの設定
前述の通り、Turbo Boostはサーバ用途の場合はOFFにしたほうが良いと思います(熱の問題もあるし、一部のコアだけ性能を上げられても困るケースが多いです)。
ハイパースレッディングは確実にONにしましょう、大体普通ONになっていますが。
オンボードのRAID機能
個人的には使わなくて良いと思うのです、なんか中途半端な感じなのでCentOSのインストール時に設定できるソフトウェアRAIDで良いと思っています。
もちろん検証したわけではありませんが、廉価なマザーボードのRAID機能より、OSS環境で衆人の目に晒されているソフトウェアRAIDの方が信用出来ると思うためです。
ベンダ製のサーバに真っ当なRAIDカードを載せているような環境なら、迷わずそちらでハードウェアRAID (いわゆるVirtual Disk) を組む方が良いと思うのですが…。
OSのインストール時にやること
OSをインストールする前の分量がだいぶ多くなりましたが…。
OSのインストールはそんな難しくありません。
ポイントはUTCを無効にすることと、パーティションを適切に分けることです。
UTCの無効はタイムゾーン選択の部分でチェックを外すだけです(放置すると8時間ずれたりサマータイムが発動したりして面倒)。
パーティションですがは、swapと/varだけ別パーティションにして数Gほど確保し、残りは/で良いのではないでしょうか。
swapが無いのはNGとして多めにswap確保しても、仮想サーバに使える容量が減ります。
ということで…数G程度で良いと思うのです。
あと「ベース」と「開発ツール」はMinimal時でも追加しておくとストレス溜まりません。
(scpが使えなかったりgccがなかったりすると面倒なので…)
終わりに
ここまでやると、CentOSが入った小粋な自作サーバが出来ているはずですので、物理サーバとしてそのまま使われる方はそのまま使って下さい。
ファイルサーバ等に使われる場合はディスク増設してsamba突っ込んだり、DBサーバとして使っても良いかとは思います。
次回はこのCentOSが入った小粋な自作サーバに、KVMをインストールして仮想サーバを使えるように出来れば良いなと思います。
2014/12/31 00:55
OSインストールまでの分量が意外に多くKVMまで行かなかったので、冒頭部分を修正しました。