キャパシティ・プランニングはどのように行うのか
サーバの仮想化には、既存の物理マシンを仮想化環境に移行するケースと、新規サーバを仮想化環境で構築するケースがあります。前者の場合はサーバ台数が削減されるケースが一般的に多いため「サーバ統合」と呼ばれます。また、後者の場合は、今後の物理マシンの台数を抑えることができるので「サーバ抑制」などと呼ばれます。
これから説明するキャパシティ・プランニングは、一般的にサーバ統合により物理マシンを仮想化する場合に実施されます。ステップは以下のようになります。
- 物理サーバのインベントリー調査
- 物理サーバのパフォーマンスデータの採取
- 仮想化へのシナリオ作成
1.物理サーバのインベントリー調査
まず、現在稼働中のサーバについてのインベントリー情報を採取します。情報は大きくハードウェア情報とソフトウェアの情報に分けられます。ハードウェアの情報は以下のようなものが対象になります。
- CPU情報(CPUタイプ、個数、クロック数)
- メモリサイズ
- ディスク情報(ディスクタイプ、容量)
- ネットワーク情報(NICタイプ、枚数、転送速度)
また、ソフトウェアについては以下のような情報があれば良いでしょう。
- ホスト(コンピュータ)名
- OS
- サービスパックレベル
- アプリケーション
- ユーティリティの情報
- それぞれのバージョン情報
2.物理サーバのパフォーマンスデータの採取
次に、パフォーマンスモニターなどを使用して、物理サーバのパフォーマンスデータを最低でも1ヶ月は採取します。サーバの使用率は日時によって大きく異なります。なるべく長期にわたってデータを採取することによりプランニングでぶれが発生することを防げます。
3.仮想化シナリオの作成
最後に、物理サーバのインベントリー情報とパフォーマンスデータをもとに仮想化のシナリオを作成します。
仮想化シナリオの手順として、まず仮想化の対象となるサーバをインベントリー情報から抽出します。ほとんどのアプリケーションは仮想マシン上でも問題なく動くのですが、例えばFAXサーバのようにネットワーク、ディスク以外の場所を経由してハードウェアと連携するアプリケーションは仮想マシン上ではうまく動かないため対象から外します。また、全く使用されていないサーバがあれば仮想化の対象から外すと共に、すぐに電源を切りましょう。
また、パフォーマンスデータをチェックし、ディスクやネットワークの帯域をフルに使用しているようなアプリケーションがあれば、それらも採用を見送った方が良いかもしれません。これらのサーバを仮想化するためには、現在使用しているものより優れたネットワークやディスクを選択しなければならない可能性があります。
次に、サーバの使用年数や重要度(仮想化の導入はミッションクリティカルではないシステムから順次移行していく事が望ましい)から仮想化のターゲットとなる物理サーバを抽出します。これらの物理サーバの使用率から、必要なサーバのスペックを求める「サイジング」を行うことになります。
ここまで述べてきたキャパシティ・プランニングのステップは手間と時間がかかる上、ある程度大規模に実施しなければ十分な効果が得られないアプローチです。よって、個人的には必ずしもすべてのユーザに勧めるべきアプローチではないと考えています。
しかし、数百台規模での全社的な仮想化導入を検討するようなケースでは、キャパシティ・プランニングをしっかり行った方が良いことは事実です。実施に当たっては、人間の手で逐一行うのではなく、PlateSpin PowerReconのようなツールを用いて、各ステップを自動化することをお勧めします。
キャパシティ・プランニングを行わない場合でもサイジングは行った方が良いでしょう。次ページからXenServerにおけるサイジング手法について解説します。