クラウド時代のデータセンターが持つ理想と現実
データセンター事業者にとっても、自社用途のために大規模なマシンルーム/データセンターを保有する企業ユーザーにとっても、まず重視すべきなのはユーザーが求めるレベルのサービスを低コストで提供することだ。そして、そのためには仮想化技術の活用やクラウド化といった動向と無縁ではいられない。
仮想化の普及やクラウドはデータセンターに多くのメリットをもたらしたが、一方で従来の運用管理体制では不十分な部分も明らかになりつつある。それはなぜだろうか。
仮想サーバーの性能監視の必要性
物理と仮想の混在環境に潜む問題
現在は仮想化技術の活用/クラウド化がまさに進行しつつある状態だ。既にサービスとしてIaaSやPaaSといったクラウドサービスを提供しているデータセンター事業者はもちろん、企業のデータセンターでも、仮想サーバーの稼働数が右肩上がりに増加しつつあるところが大半だろう。
とはいえ、完全に仮想化されたデータセンターはまだ多くはないと思われるため、多くのデータセンターは従来型の物理環境と仮想環境が混在した状態にあると見てよい。そして、この混在状況こそが運用管理負担の増大につながる大きな問題となりつつある。
クラウドは、もともとはデータセンター内の種々のリソースを仮想的な“リソースプール”として統合することで個々の物理的なシステムの詳細に踏み込むことなく、より抽象度の高いレベルでの運用管理を実現することで運用管理負担の軽減を目指したコンセプトだと言える。
しかし、実運用の現場では必ずしも理想論がそのまま実現するとは限らない。実際には、仮想化技術の導入によってシステム構成に新たなレイヤーが追加され、その影響で運用管理者にとっての監視対象が増え、さらにシステム構成が複雑化することに伴う現状把握の困難さに直面することになった。
エンドユーザーやアプリケーションオーナーが求めるサービスレベルを実現するためには、どの程度のパフォーマンスが出ているか、レスポンスは悪化していないか、といった個々のシステムのリアルな稼働状況を常に把握している必要があるが、従来の物理サーバーレベルでの監視手法だけでは、仮想サーバーの稼働状況を正確に知ることはできなくなってしまった。これにはさまざまな要因がある。
図1:仮想環境の理想と現実(クリックで拡大) |
物理サーバーの共有化は仮想化の標準的な形
仮想化環境では、基本的に1つの仮想サーバーが物理サーバーを占有することはなく、複数の仮想サーバーが物理サーバーを共有することになる。そうでないと仮想化のメリットが得にくいため、このこと自体は特に不都合なわけではない。
従来は活用されずに死蔵される形になっていた物理サーバーのリソースを限界まで使い切ることでITリソースの利用効率を向上させ、投資対効果を最大化することも仮想化利用の大きなメリットであることを考えても、複数の仮想サーバーによる物理サーバーの共有化はむしろ積極的に推進すべきだとも言える。
しかし、利用効率の最大化を目指した共有化に個々の仮想サーバーに対する緻密な性能監視が伴っていないと、ユーザーに対するサービスベルが低下してしまう結果になる。
全ユーザーが同時にピークに達することはまずない・・・が
リソース利用効率の観点から考えれば、基本的にユーザーが事前に要求するリソース量は十分な余裕を見た数字なので、その通りに割り当ててしまうと余剰リソースが死蔵される結果になってしまう。実際にはユーザーのリソース利用量には変動があり、事前に要求されたリソース量は変動のピークの値に合わせたものであることが多いため、平常時には割り当てたリソースの半分も使われていないという例が珍しくない。
そこで、データセンター側でリソース利用効率を最大化しようと思ったら、ユーザーが要求するリソース量の総計ぴったりの物理リソースを割り当てるのではなく、物理リソースを少なめに割り当てておくことになる。
この場合、全てのユーザーが要求量ギリギリまでリソースを消費してしまうとリソース不足に陥るわけだが、全ユーザーが同時にピーク使用量に達することはまずない、と考えるわけだ。ただし、確率論的に「まずない」と言っているだけでは運用管理体制としては不十分であり、各仮想サーバーの稼働状況を精密に監視し、リソース不足に陥る前に適宜ライブマイグレーションなどの手段を講じてリソース使用量を限界内に留める制御が必要になる。こうした制御を行うためには、物理サーバーの稼働状況を監視しているだけでは足りず、個々の仮想サーバー単位での性能監視が必要になるわけだ。