仮想化固有の運用管理要件とは?

「これまでの運用管理方法は通用する。だが、新たに増える仮想化レイヤーの管理を変更・追加すべき」ということだ。仮想化環境の運用監視は、基本的に従来の延長線上にあると考えてよい。

 ただし、仮想化によるメリットを最大限に引き出すには、少なくとも次の点には注意してほしい。それは、仮想化によって増加する運用管理のコストよりも、従来必要だったコストの削減分が上回るようにすること。あるいは、仮想化で実現する新規サービスの価値が、仮想化により増加する運用コストを上回っていることである。この見極めは、仮想化環境の運用を実際に経験してみないと少し難しいかもしれない。

 上記のコストを考える際には、「作業時間の短縮」に注目してもらいたい。なぜなら、仮想化環境の利用によって得られるメリットのほとんどが「時間短縮」だからである。

 では実際の運用管理プロセスにおいて、仮想化により追加・変更となる部分を説明していこう。着目してほしいのは、「ハードウエアをソフトウエアのように運用管理することで影響を受ける部分」である。

(1)ハードウエアとサービスの依存関係の把握
 仮想化環境を導入すると、個々のハードウエア上で動作しているサービス数がほとんどのケースで増加する。同時に、ハードウエアとサービスの依存関係が複雑化する。

 また、サービス間に依存関係があるため、ハードウエア障害などによって、どのサービスに影響が出るのかを把握することが従来に比べて困難になる。よって運用管理面では、ハードウエアとサービスの依存関係を確実に把握することが重要となる。具体的には、構成管理データベースに、従来のハードウエアとサービスの依存関係に加えて、仮想化を考慮した依存関係の情報を追加することが望ましい。

(2)リソースを共有するサービスの把握
 同一のハードウエアを共有するサービス間では、リソースの競合が発生する可能性がある。よって、サービス同士のリソース共有関係の把握が重要となる。これについても、構成管理データベースに把握機能を追加することが望ましい。

(3)共有されるリソースの監視
 複数のサービスに共有されるリソースは、常に競合が発生する危険性を持つ。また仮想化環境では、従来は共有できなかったCPUのようなサーバーリソースも共有可能になる。よって共有されるリソースの監視が一段と重要になる。サービス・レベル管理やキャパシティ管理における監視対象として、仮想化によって追加された項目を重要度の高い監視対象として追加するなどの対策が必要である。

(4)構成変更の頻度が高くなることに対応
 仮想化環境を導入すると、従来と比べシステムの構成変更が容易になる。このメリットを生かすには、運用管理ルールにおける「変更に伴う承認プロセス」を、変更頻度が高くなっても対応できるようにすることが重要となる。変更承認プロセス自体の改善も必要だろうが、仮想化環境のメリットである「検証環境の作成が容易であること」を利用して、変更内容のレビュープロセスを効率化することができる。

(5)リリースの頻度が高くなることに対応
 構成変更の頻度が高くなるので、当然リリース(実際に変更を適用する作業)の頻度も高くなる。よってリリース頻度が高くなっても対応可能にすることが重要となる。具体的には、リリース管理のプロセスを、仮想化のメリットである「容易な検証環境の構築」および「容易なカットバック(変更前の状態に戻すこと)」を利用したものに変更することなどが挙げられる。

(6)インシデント対応に仮想化技術を応用
 仮想化環境を導入すると、従来実施していたインシデントへの対応方法に、仮想化ならではの手法を追加可能となる。このメリットを利用するには、インシデント対応のプロセスに仮想化技術を利用したワークアラウンド手法(暫定的な問題回避策)を使えるようにすることが重要だ。

 まず仮想化のメリットである「容易にシステムの状態を保存できる」ことを利用して、インシデントに関連する事象を記録する(インシデント発生時の仮想マシンイメージを保存するなど)。また、「高速な再起動」および「バックアップイメージからの直接起動」などを利用して、短時間で復旧できるようにしたい。

(7)問題の解決に仮想化技術を利用
 インシデントが発生したら、ワークアラウンド手法でサービスが復旧した場合でも、あとで原因を調査して解決する必要がある。原因がリソース不足などの場合は、仮想化を利用した対策が有効なことがある。

 インシデント対応と同様に、問題管理において仮想化を利用した対策を利用可能にすることが重要だ。そのポイントとして、仮想化のメリットである「リソースの動的配分」や「動的追加」などを利用した問題解決などが挙げられる。

(8)サービス・レベル管理に仮想化を利用
 従来のシステムでは、顧客とのSLA(Service Level Agreement)を守るために、必要なリソースを予測した最大需要量を顧客ごとに準備する必要がある。一方、普段利用されないリソースを共有することは、技術的な問題やセキュリティの維持のため難しい。

 仮想化環境では、この余剰リソースの効率的な共有が可能で、セキュリティも多くのケースで問題にならないレベルを維持できる。よってサービス・レベル管理に仮想化を利用した手法を利用可能にすることが重要となる。具体的には監視と組み合わせたリソースの動的配分などの利用が挙げられる。

(9)キャパシティ管理に仮想化を利用
 サービス・レベル管理と同じ理由で、仮想化を使った手法を利用可能にすることが重要となる。具体例もサービス・レベル管理と同じになる。

(10)可用性管理に仮想化を利用
 仮想化環境を導入するメリットに、可用性を高めるHA(High Availability)構成を導入すると、消費するリソースやコストを比較的小さくできることがある。よって可用性管理に、仮想化を利用したHA構成を導入可能にすることが重要である。具体的には、従来必要だったスタンバイサーバー用の資源を無駄にしないよう、仮想化を利用した構成を採用することなどが挙げられる。

(11)セキュリティ管理に仮想化を利用
 セキュリティに関連するインシデントや問題に対応する際、仮想化技術が役に立つ場合がある。例えば、侵入者に気づかれずにサーバーの状態を保存したり、隔離したりすることを容易に実現できる。

 仮想化環境導入のメリットを最大限に享受できるように、以上のような重要ポイントを十分に考慮して従来の運用管理ルールと運用手順に対して、変更や追加をしてほしい。