VMware vSphere 環境における I/O フィルターの理解
VMware vSphere は、仮想マシン向けに幅広いストレージ関連機能を提供しています。VMware vSAN や Virtual Volumes に加え、VMware I/O フィルターも、さまざまなシナリオに対応した高度な機能を活用できるため、仮想マシンの管理に有効です。本ブログ記事では、VMware I/O フィルターとは何か、その仕組み、およびどのような場面で活用すべきかについて解説します。
I/Oフィルターとは何ですか?
I/O フィルターは、ESXi ホストにインストールされるソフトウェアモジュールであり、VMware vSphere Storage I/O Control (SIOC) フレームワーク内で動作します。これらは VMkernel レベルでディスクの入出力 (I/O) をインターセプトし、VM やゲスト OS に変更を加えることなく、VMware またはサードパーティベンダーが高度なストレージサービスを実装できるようにします。 したがって、I/O フィルターは、基盤となるストレージトポロジに依存することなく、仮想マシンの I/O をインターセプトして操作することができます。I/O フィルターは VMware vSphere 6.0 Update 1 で導入されました。この機能は、従来使用されていたカーネルレベルの方法よりも効果的です。
仮想化において、I/Oフィルタはどこで使用されますか?
VMware I/O フィルターは、データ保護、パフォーマンスの最適化、セキュリティ、および監視のために使用されます。その理由は以下の通りです:
- 仮想マシンのリアルタイムレプリケーションまたはバックアップを有効にする
- キャッシュや階層化を利用してI/Oパフォーマンスを向上させる
- I/Oレベルでデータをスキャンまたは暗号化
- トラブルシューティングや最適化のために、I/O操作を追跡・分析する
I/Oフィルターは、主にVMware vSphereで使用されます 仮想ボリューム (vVols) および VMware vSphere I/O フィルタリング API (VAIO) インフラストラクチャ。主なユースケースとしては、次のようなものがあります:
- VMのレプリケーション
- インライン 重複排除 および圧縮
- リアルタイムの暗号化とマルウェアスキャン
- 効率的なバックアップのためにディスクレベルの変更を捕捉するエージェント
I/Oフィルターはどのように機能するのですか?
以下に、VMware I/O フィルターの動作原理を順を追って説明します:
- 仮想マシンがI/O要求を発行します。仮想マシンは、自身の仮想ディスク(VMDK)に対して読み取りまたは書き込み操作を実行します。この要求は、ESXiホストのVMkernelレイヤーに渡されます。
- VMkernelはI/Oをインターセプトします。I/Oが物理ストレージ(SAN、NAS、ローカルディスクなど)に到達する前に、VMkernelはVAIO(vSphere APIs for I/O Filtering)フレームワークを通じて登録されたI/Oフィルターがないかを確認します。
- このフィルタはI/Oを処理します。
- VMに1つ以上のフィルタが適用されている場合、関連する各I/Oフィルタは:
- I/O操作を検査する
- 必要に応じて、データを変更、複製、リダイレクト、または記録する
たとえば、レプリケーション・フィルタは、書き込み操作のコピーを作成し、それをリモートサイトに送信することがあります。
- I/Oはデータストアへと続きます。フィルタがリクエストを処理し終えると、I/Oは通常通り基盤となるストレージ(データストア)へと進みます。
- 確認応答が返されます。保存処理が完了すると、その確認応答はスタックを逆方向に伝わり、VMに到達するまで(ログ記録や検証などの目的で)フィルタを通過する場合があります。
同じVMに対して複数のI/Oフィルターを適用できます。これらはvSphereによって管理され、定義された順序で実行されます。この順序は極めて重要となる場合があります。たとえば、レプリケーションの前に暗号化を実行したい場合などです。I/OフィルターはESXiホストレベルにインストールされ、以下を通じて一元的に管理されます vCenter Server. フィルタはVMごとおよびディスクごとに適用され、きめ細かな制御を実現します。
vSphere API for I/O Filtering(VAIO)の役割
VAIO(vSphere APIs for I/O filtering)は、VMwareが提供するフレームワークであり、サードパーティベンダー(およびVMware自身)がESXiホスト上の仮想マシンのI/O操作を傍受・操作できるようにするものです。VAIOは、仮想マシンのゲストOSの入出力ストリームに直接アクセスすることを可能にする技術およびAPI(アプリケーション・プログラミング・インターフェース)です。 VAIOは、仮想マシンの保存ルールおよびストレージとの連携を管理することを目的とした、ストレージポリシーベース管理(SPBM)のメカニズムに基づいています。
VAIOは、開発者がVMのOSやアプリケーションに干渉することなく、VMのディスクI/Oを監視、変更、または強化できるI/Oフィルターを構築するための公式APIです。このメカニズムを技術的に実装するには、フィルタードライバーとも呼ばれるVAIOドライバーの使用が必要です。このドライバーは、ESXiホスト上に VIBパッケージ. 仮想マシンのゲストOSに特別なソフトウェアをインストールする必要はありません。以下に、仮想マシンから物理ストレージデバイスへのデータ経路を説明した図を示します。

上の図には、VAIOに関連する2つのコンポーネントが示されています。1つ目は、VMkernelレベルで動作し、ストレージポリシーを定義するVAIOフレームワークです。2つ目は、ESXiホストのユーザー空間で動作するソフトウェアであるIOフィルターです。このフィルタードライバーは、データのレプリケーションやキャッシュなどの機能を提供し、そのデータを物理ストレージデバイスに書き込むために転送します。
このアーキテクチャにより、I/Oフィルタドライバは、SCSIコマンドの実行パフォーマンスに大きな影響を与えることなく、入出力ストリームにアクセスすることができます。I/Oフィルタのもう一つの特徴は、記録側(OSからストレージへ)および逆方向(コマンド実行の結果)の入出力ストリームにアクセスできることです。これらの機能は、ディスクへの書き込み操作を検証し、一貫性を確保するためのデータレプリケーションにおいて特に有用です。
SCSIコマンドは、SCSIエミュレーション層(vSCSI)を通過するとすぐにI/Oフィルターに到達します。これにより、VAIOをさまざまな種類のストレージで使用できるようになります―― VMFS, NFS、SCSIおよび vSAN. I/Oフィルタは、コマンドをネットワークスタックに送信して保存する前にこれを捕捉し、データの整合性とセキュリティを確保します。
このフィルタドライバはユーザー空間レベルで動作するため、ESXiの動作の安定性に影響を与えることはありません。たとえVMware I/Oフィルタが動作を終了したとしても、VMkernel内のSCSIコマンドのメインスタックは通常通り動作し続けます。
このフィルターは、特定のレベルで動作します VMDK 特定の仮想マシンの仮想ディスクを対象とし、ストレージポリシーベースの管理(SPBM)を利用できるようにし、特定の仮想マシンやサービスにポリシーを適用できるようにします。

VAIOはフィルタマネージャとして機能し、VMwareまたはサードパーティが作成したフィルタをESXiホストに読み込みます。これらのフィルタはI/Oパス上に配置され、必要に応じてトラフィックを操作することができます。
VAIOの活用事例を以下の表に示します。
|
ユースケース |
VAIOの活用方法 |
|
バックアップ |
ブロックレベルの変更を効率的に捕捉します |
|
レプリケーション |
書き込みデータをセカンダリサイトにリアルタイムで送信する |
|
キャッシュ |
データをより高速なメディアに保存することで、読み取り処理を高速化します |
|
暗号化 |
ストレージに書き込まれる前にディスクへの書き込みデータを暗号化します |
|
ウイルス対策 |
転送中のファイルをスキャンして脅威を検出します |
I/Oフィルタの種類
I/Oフィルタ技術は、さまざまな目的に利用できます。したがって、VMwareのI/Oフィルタは、その用途に基づいて分類することができます。
- レプリケーション. 同期レプリケーションおよび非同期レプリケーションは、データ保護ソリューションと適切なVMware I/Oフィルターを使用して設定できます。ソースVMによって書き込まれた新規データやデータの変更は、フィルターによって追跡され、宛先VMにレプリケートされます。レイテンシが低いため、VMのレプリケーションをリアルタイムで実行することが可能です。
- 暗号化. サードパーティ製ソフトウェアは、VAIOの仕組みを利用して、仮想マシンのデータストリームをオンザフライで暗号化および復号化することができます。したがって、物理ストレージに書き込まれるデータは、すでに暗号化された状態となります。VAIOのきめ細かな制御機能により、仮想マシン全体ではなく、特定のアプリケーションからのデータのみを処理することが可能です。
- 重複排除. vSANではすでにこの仕組みが採用されています。I/Oフィルタドライバを通過するデータをリアルタイムで重複排除し、そのデータを宛先ストレージに保存することで、ディスク容量を節約することが可能です。VMwareのパートナー企業もこの技術を利用できます。
- 階層化. データの重要度に応じて、異なるパフォーマンスレベルのストレージにデータを保存することができます。これは ストレージ階層. VAIOのメカニズムは、このデータの性質を分析し、最終的な保存先を決定することができます。
- キャッシュと分析特定の仮想マシンのデータフローを直接分析し、収集したデータに基づいて、キャッシュソリューションなどのさまざまなソリューションを構築することが可能です。その後、この仮想マシンのトラフィックから特定のアプリケーションのデータを抽出したり、ライトバックキャッシュの仕組みを利用したりすることができます。
VAIOのテクノロジーはライブ配信に対応しています vMotion を使用した VM の移行 (宛先ホストでVAIOが有効になっている必要があります)および DRSクラスタ (すべてのホストで有効にする必要があります)。
I/Oフィルタの活用事例とメリット
VMware I/Oフィルターは、データ保護やセキュリティなど、VMware vSphereの高度な機能を通じて、幅広いメリットをもたらします。ここでは、最も一般的な3つのシナリオに焦点を当て、I/Oフィルターの活用事例と利点について解説します。
バックアップとレプリケーション
主な利用シーンは以下の通りです:
- I/Oフィルタは、仮想ディスクのデータ変更をリアルタイムで捕捉します。
- これらの変更は、VMの動作を中断させることなく、バックアップシステムまたはレプリケーション先へ送信されます。
VAIOベースのフィルターを使用して実行するデータ保護ソリューション エージェントレスバックアップ その一例です。
主なメリットは以下の通りです:
- バックアップ期間中、VMのパフォーマンスへの影響はほぼゼロ
- クラッシュ耐性のある、または アプリケーションと整合性がある スナップショット
- ブロック単位の追跡により、バックアップがより高速かつ効率的になります
- ゲストエージェントが不要なため、複雑さが軽減されます
災害復旧と高可用性
主な利用シーンは以下の通りです:
- I/Oフィルタを使用することで、別のサイトやストレージシステムへの継続的なデータレプリケーションが可能になります。
- 障害発生時に起動可能なVMの予備コピーを作成するのに役立ちます。
- Site Recovery Manager(SRM)などのVMware製品や、サードパーティ製の災害復旧(DR)ソリューションと連携します。
主なメリットは以下の通りです:
- リアルタイムまたはニアリアルタイムのレプリケーションにより、データ損失を最小限に抑えます(低 RPO).
- vSphere vMotion、DRS、HAと完全に統合されており、シームレスなフェイルオーバーを実現します
- 自動化を可能にします 災害復旧計画 かつ業務に支障をきたさない 災害復旧テスト
- 規制遵守に最適で、 事業継続
データの暗号化とセキュリティ
主な利用シーンは以下の通りです:
- I/Oフィルタは、データがストレージに書き込まれる際に、保存中のデータを暗号化することができます。
- フィルタはインラインでも実行できます マルウェアスキャン またはデータ漏洩防止(DLP)チェック。
- これはデータがデータストアに到達する前に実行され、ハイパーバイザーレベルで安全なI/Oを実現します。
主なメリットは以下の通りです:
- ゲストOSやアプリケーションに変更を加える必要はありません
- 規制遵守を支援します(GDPR(HIPAA、PCI DSSなど)
- ストレージが侵害された場合でも、データ盗難から保護します
- 一元化された 暗号化 vCenter によるポリシーベースの管理
システム要件と互換性
VMware vSphere で VMware I/O フィルターを使用するには、システム要件を満たしている必要があります。これには、vSphere と連携するサードパーティ製アプリケーションも含まれます。
データストアおよびESXiのバージョン対応
ESXiのバージョンは、ESXi 6.0 Update 1以降である必要があります。幅広い互換性とより高いパフォーマンスを得るため、vSphere 6.5以降の使用を推奨します。最新バージョンでは、最先端のI/Oフィルターへの完全なサポートに加え、バックアップ、災害復旧、およびセキュリティソリューションとの統合機能が提供されています。
VAIOプラグインのバージョンが、お使いのESXiのバージョンと互換性があることを確認してください。VMwareおよびサードパーティベンダーは通常、互換性マトリックスを提供しています。必要に応じて、詳細についてはソフトウェアベンダーにお問い合わせください。
VMware I/O フィルターとのデータストアの互換性については、以下の表で説明しています。
|
データストアの種類 |
対応 |
注記 |
|
VMFS |
はい |
完全に対応 |
|
NFS |
はい |
対応していますが、フィルタの種類によってパフォーマンスが異なる場合があります。 |
|
vSAN |
はい |
対応しています。VMwareネイティブサービスとの最適な連携を実現します。 |
|
vVols(仮想ボリューム) |
数量限定 |
すべてのI/OフィルターがvVolに対応しているわけではありません。ベンダーのサポートを確認してください。 |
|
Rawデバイスマッピング(RDM) |
いいえ |
I/OフィルタリングではRDMはサポートされていません。 |
クラスタを使用する場合は、フィルタを使用して、クラスタ内のすべてのホストからデータストアにアクセスできることを確認してください。これは、vMotion および HA の互換性にとって重要です。
仮想マシンとハードウェアに関する考慮事項
仮想マシンの構成要件は以下の通りです:
- VMware I/O フィルターは VMDK(仮想ディスク)レベルで適用されるため、仮想マシンはサポートされている仮想ディスクタイプを使用する必要があります。
- 厚プロビジョニングまたは薄プロビジョニング がサポートされています。
- 仮想マシンのハードウェアバージョンは、ESXiホストと互換性がある必要があります(仮想ハードウェアバージョン11以降を推奨します)。
サポートされていない仮想マシンの構成:
- マルチライターモードでの共有VMDK(Microsoft Cluster Service(MSCS)などのクラスタ構成)。
- 独立したディスク(一部のバックアップシナリオで使用される)。
- 物理RDMモードのディスク。
対応ハードウェアは以下の通りです:
- x64プロセッサ(CPU:中央処理装置)
- VMwareハードウェア互換性リスト(HCL)に基づく、互換性のあるネットワークインターフェースコントローラ(NIC)およびホストバスアダプタ(HBA)
- 共有ストレージを使用する予定の場合は、VMware vSphere クラスタ 高可用性(HA)または分散リソーススケジューラ(DRS).
以下の追加ハードウェア要件を満たしていることを確認してください:
- 計算負荷の高い処理(暗号化、重複排除など)を行うフィルタに対して、ホスト上で十分なRAMおよびCPUの余裕を確保すること。
- キャッシュ機能やパフォーマンス向上用のI/Oフィルターを使用する場合、SSD/NVMeストレージが利用可能です。
I/O フィルターの設定と管理方法
VMware I/O フィルターは、以下の方法で手動または自動でインストールできます NAKIVO Backup & Replication:
- 手動インストールを行うには、VMware vCenter での設定および以下の追加手順が必要です NAKIVO Backup & Replication.
- VMware I/O フィルターの自動インストールは、[Real-time service wizard] から利用可能です。 NAKIVO Backup & Replication.
ぜひチェックしてみてください リアルタイムレプリケーション I/O フィルターの設定方法を学ぶための、スクリーンショットと実践的な例を交えたガイドです。詳細な手順については、 NAKIVO ユーザーガイド.
NAKIVOがI/Oフィルターを活用してバックアップ効率を向上させる方法
NAKIVO Backup & Replication は、幅広い高度な機能を備えた信頼性の高いデータ保護ソリューションです。NAKIVOのソリューションは、VMware vSphere仮想マシン向けに、従来の定期的なレプリケーションとリアルタイムレプリケーションの両方をサポートしています。I/Oフィルターを使用してVMのI/Oをインターセプト・操作し、リアルタイムレプリケーションジョブを作成します。
なお、NAKIVOは独自のI/Oフィルター("nakfilter"と呼ばれる)を開発しており、これはBroadcom(VMware)により、VMware仮想マシン向けのリアルタイムレプリケーション機能について認定されています。VMware I/Oフィルターは、 NAKIVO Backup & Replication Webインターフェースにより、リアルタイムレプリケーション機能の利用を効率化します。
リアルタイムレプリケーションは、ディザスタリカバリにおけるRPO(リカバリポイント目標)を改善し、障害発生時のデータ損失を軽減します。これにより、ビジネスの回復力が向上し、堅牢なデータ保護が確保されます。VMware I/Oフィルターを利用したリアルタイムレプリケーションにより、最短のRPOを実現し、重要なワークロードに対して厳格なディザスタリカバリ戦略を展開することができます。
結論
仮想マシンのI/Oフィルタリングは、VMware vSphereにおけるストレージ操作に高度な機能を提供する強力な機能です。I/Oフィルタは、リアルタイムレプリケーション、キャッシュ、圧縮、暗号化などの目的で使用されます。I/Oフィルタリング用のVMware APIを利用することで、ベンダーは継続的データ保護やVMレプリケーションなどのサードパーティ製ソリューションを開発することができます。 NAKIVO Backup & Replication VMware I/O フィルターに対応しており、リアルタイムレプリケーションをサポートしています。