業務を止めない、インフラづくり
仮想化に潜むI/Oの課題
個々のシステム、あるいは顧客ごとに、パフォーマンス・セキュリティ・冗長性を確保するために、何千・何百ものリンク(ケーブル)が、複雑に構成されたリソース間を接続しています。全てのデータパスは、障害対策のために冗長でなければならず、ピーク時の負荷に対処できるだけの帯域幅を確保する必要もあります。その結果、インフラ側には莫大な物理リソース、すなわちアダプタカードやネットワークスイッチ、ストレージ スイッチ、加えて入り組んだケーブル配線が必要となり、I/Oをとりまく環境に図4のような問題が発生しました。
図4:I/Oの重要性と課題(クリックで拡大) |
I/O帯域幅の要件
仮想化により、サーバー I/O の帯域幅要件は増大します。従来の物理サーバーでは、平均でわずか 10% のプロセッサ利用率と言われていますが、仮想化環境では 50% を超えることもあります。同様に I/O 利用率は仮想サーバー台数に比例して増加し、I/O パスの新たなボトルネック発生につながります。
これらの要件を満たすための選択肢として、従来の I/O(数枚の NIC と場合によっては数枚の HBA)を1台のサーバーに搭載し、仮想サーバー間で共有させることができますが、最適な解とは言えません。
1つめの理由は、仮想サーバーのバックアップが発生している場合などのピークパフォーマンス時に、アプリケーションの輻輳(ふくそう)が発生することがあります。仮想化環境上では、ネットワークや共有ストレージ構成によって、このようなパフォーマンス問題を解決することが難しい場合があります。管理者がボトルネックの原因を特定したとしても、修復するには多くのネットワークカードを新たに購入したり、仮想サーバーごとのアプリケーション処理負荷を再度バランシングさせたりする必要があります。
2つめの理由は、仮想化では数多くの接続が必要となることです。データ用ネットワークへの多数の接続以外にも、仮想化されたサーバーでは、管理や仮想サーバー移行のための専用接続を必要とします。また、サーバーは多くの場合、外部ストレージへの接続を必要とします。ユーザーがSANを使用していれば、各サーバーに FC(ファイバチャネル)カードの搭載が必要となります。コスト・消費電力の増大、サーバーサイズアップによるラックスペースの無駄等様々な課題が発生します。
図5:I/Oの統合による省スペース化(クリックで拡大) |
そこで誕生したのが「I/O仮想化」という技術になります。こちらの詳細につきましては、過去に連載させていただいた「I/O仮想化の現在」をご参照ください。