無駄遣いを防ぐには、まず可視化すること

こうした問題を解決するうえで重要なのは、リソースの無駄遣いを可視化することです。問題を可視化できれば、どこに問題があるのか、どれくらいの改善余地があるのか、といったことを把握でき、対策を打てるようになります。

可視化に向けた最初のステップは、リソースを無駄遣いしている仮想マシンをリストアップすることです。運用者がそのようなリストを手にすることで、仮想マシンのサイズ適正化について利用者と相談できるようになります。今まで見過ごされてきた無駄遣いを無くすための相談です。稼働中の仮想マシンはサイズ変更が難しいケースもあるかもしれませんが、仮想マシンを作リ直す際などにサイズの適正化をお願いできるようになります。

可視化の次のステップは、各仮想マシンが無駄遣いしているリソースの量を計算することです。これは、裏を返せば、各仮想マシンの適正サイズを計算するということでもあります。これにより、どれくらいのリソースを取り戻せるかが見積もれ、どの仮想マシンから取り組むべきかがわかるようになります。

どのように可視化するのか

可視化するためには、まず、仮想マシンの性能の統計データが必要です。そして、どこからが無駄遣いなのかという判断基準を確立する必要があります。

この2つがあれば、判断基準をベースに統計データを分析して、リソースを無駄遣いしている仮想マシンをリストアップし、その無駄遣いの量を計算することができます。仮想マシンの適正サイズを計算することも可能です。

しかし、これらを手作業で実行するのはかなりの手間です。統計データの収集と分析にはPowerCLIなどのスクリプトを使うのが一般的ですが、そのスクリプトを作成するのも簡単ではありません。さらに、設定変更や構成変更などの度にスクリプトに手を入れ、定期的にメンテナンスしていくのは非常に手間が掛かります。

vCenter Operations Managerが出す数値

そこで最近では、「VMware vCenter Operations Manager」 (以下、vC Ops) のような、キャパシティ管理機能を持った仮想環境向けの運用管理ソフトウェアが導入されはじめています。このような運用管理ソフトウェアを使えば、上記で述べた判断基準や統計データを取得するポリシーをGUIで簡単に設定できるうえ、統計データの分析処理まで自動化してくれます。すなわち、容易に可視化できるようになるのです。

実際にどのような効果が得られるのか、vC Opsの機能とともに説明しましょう。

下記はvC Opsの実際の画面ショットです。ご覧のとおり、オーバーサイズ(過剰サイズ)の仮想マシンがリストアップされています。vC Opsでは、オーバーサイズの仮想マシンを自動的に計算して、このようなリストを作成してくれるのです。

このリストを少し詳しく見てみましょう。

「構成済みvCPU」の隣に「vCPU数推奨値」という列があります。これが計算されたCPUの適正サイズを示しています。そして、その横に「推奨値中のCPU需要の割合」という項目があります。これは適正サイズに変更した後のCPUの"忙しさ"がどれくらいになるかを推測してくれています。

メモリに関しては、「構成済みメモリ」の隣に「推奨メモリ」という列があります。これが計算されたメモリの適正サイズを示しています。これはアクティブメモリの値なので、通常は、一気にこの値に変更するというよりも、少しずつ適正値に近づけていくというアプローチをとっていきます。

以上のような、適正サイズ/無駄遣いの量の計算、無駄遣いしている仮想マシンのリストアップなどは全て自動的に行われます。構成が変更(たとえばホストや仮想マシンが追加/削除)された場合も自動的に追従して、計算結果に反映します。これがキャパシティ管理機能を持つ運用管理ソフトウェアの良いところです。

なお、vC Opsでは、無駄遣いの判断基準ポリシーにさまざまなカスタマイズを加えられるようになっています。CPUやメモリをオーバーコミットするか(これによって無駄遣いのラインが大きく変わります)、ピーク時間をベースに基準を設定するか(ビジネスクリティカルアプリケーションに有効です)、アプリケーションのグループごとに違ったポリシーを設定するかなど、さまざまな設定ができるようになっています。以下はピーク時間をベースに基準を設定するための画面です。

また、vC Opsでは、電源の入っていない仮想マシン、そして負荷の低いアイドル仮想マシンなども、簡単にリストアップすることができます。そして、性能ピークの度合い(どれくらい強いピークを持つか)なども仮想マシンごとに見ることができるため、サイズ変更のリスクを知ることも容易にできます。

このような可視化によって、仮想環境におけるリソースの無駄遣いを防ぎ、サーバ仮想化のコストメリットを大きく高められるようになります。

今回紹介したものはvC Opsの機能の一部であり、ほかにも性能管理やキャパシティプランニングなど、仮想環境の運用管理に役立つ機能を多く備えています。vC Opsには無償評価版もありますので(下部の参考リンク参照)、興味のある方はぜひお試しください。仮想アプライアンスとして提供されているため、ご自身の環境で簡単に試すことができるようになっています。

参考リンク

関連記事