サーバ仮想化 – VMware ESXi 4.1を試す(1) – ストレージとNICの選定
自宅サーバを置いていると、サーバを増設したいことがある。理由は色々あるが、
- 既存のサーバの負荷が増大している場合。
- 冗長化。
- 目的別に別途サーバを立てたい場合。
- サービス別にクリーンな環境を確保したい場合。
などが挙げられる。前2ケースは別個物理サーバを置いたほうがいいだろう。特にデータベースなどはCPU負荷よりもI/O負荷がネックになる場合が多いので、こういうケースは物理サーバを増設するのが望ましい。
だが後二者に関しては、サーバを仮想化してしまうのが電気代などのランニングコストや維持管理にかかる機会費用を考えても望ましいだろう。とはいえ、過去使っていたVMware Serverなどのホスト型仮想環境はオーバーヘッドも高く、そもそもVMware Serverは見捨てられている感もある。なので、ハイパーバイザ型で4.0より無料化されたVMware ESXiを試してみた。ESXiはハードウェアをかなり選ぶので、慎重にハードウェアを選ぶ必要がある。
ESXiをインストールするハードウェアで一番のネックになるのは、データの保護とNICの選択になる。今回はここにフォーカスしてまとめていきたい。
まずは、全体のハードウェア構成を考える必要がある。こういった仮想化のメリットとして先ほど挙げたものの他に、ホスト側で再起動が必要な場合、稼働しているインスタンスを稼働したまま別ホストに移動して表向きサービス停止に陥ることがない状況を作ることができる(ライブマイグレーション)ことが挙げられる。だがしかし、これを実現するためには、
- 仮想環境を稼働させるために複数のホストが必要になる。
- 仮想ディスクはNASなど別マシンにしないと複数のホストから共有できず、ライブマイグレーションできない。
といったことに注意する必要がある。個人で使う場合、NASはOpenfilerやFreeNASといったNAS向けディストリビューションをインストールしたPC NASを用意するか、QNAPのような比較的安価でiSCSIやNFSに対応できるNASを買う必要があるだろう。
だが、今回はそこまで手をかけるつもりもない。VMware ESXi 4.0以降はローカルのHDDにインスタンスを保存できるようになったので1台で全てを賄うことにした。ただ、さすがにHDD1台は怖いのでRAID1で保護したいのは当然だと思う。だがしかし、ソフトウェアでRAID1はESXiに限って言えば不可能なので、RAIDカードを導入する必要がある。今回は、ESXiドライバが提供されていてかつ枯れていると定評もあり、自宅のファイル/DBサーバで2年以上稼働していて慣れている3ware 9650SEシリーズの2ポートタイプ、3ware9650SE-2LPを導入することにした。
ESXiはネットワークカードも選ぶ傾向にある。今回、NICは最低でも
- 自宅LANに接続する管理コンソール用
- 外部ネットワーク向け
- DBサーバに直結させるポート用
の3ポートが必要になる。廉価なコンシューマ向けマザーボードに載っているNICはnvLAN以外ほとんど対応していないのがESXiの欠点だろう。Realtekなどは非公式にドライバをインストールできるらしいが、せっかくなので性能などに定評のあるIntel NICをインストールすることにした。PCIeX1のうち1ポートはRAIDカードに使うことを考えるとマザーボードにPCIeX1が4ポートあればいいのだが、今回はMicroATXということもあって2ポートしかないので、最近値段がこなれてきた1枚で2ポート搭載のIntel EXPI9402PTを買ってみた。これをPCIeX16に差した上で、デスクトップ向けで安価なIntel EXPI9301CT
を差せばIntel NICで3ポート用意できる。
これで一番のネックはクリアした。ただ、ESXi用マシンをスクラッチビルドするなら、下手にハードウェアを選定するよりも ProLiant MicroServer のような安めのマシンを買った方がいいと思う。これにメモリを増設すれば、さしあたり動く環境にすることができる。
次はCPUとメモリなどの選択について、我が家での事例を紹介していきたい。