
KVMは?
急速に変化し、進化する仮想化インフラの世界において、ベンダーは常に、より堅牢で信頼性が高く、運用しやすいもの、簡単に言えば、全体的な効率性を高めることを追求しています。 Kernel-based Virtual Machine (KVM) は、Linux をベアメタルハイパーバイザーに変換するオープンソースの仮想化技術であり、必要なコンポーネント(メモリマネージャー、プロセススケジューラ、入出力(I/O)スタックなど)をすべて Linux カーネルの一部として備えています。業界をリードする多くの製品と比較すると、KVMハイパーバイザーはユーザーに非常に高い柔軟性を提供し、改善の余地を多く残しているため、KVMベースの仮想インフラストラクチャへの移行は実際、非常に合理的なアイデアであるように思われます。
当初、カーネルベースの仮想マシンは、2006年にQumranetという企業によって開発・発表されました。KVMハイパーバイザーは2007年にLinuxに吸収され、2008年にはRed HatがQumranetを買収しました。Red Hat KVMは、Red Hatの他の技術と同様にオープンソースであるため、LinuxはIntel、HP、IBM、Suseを含むOpen Virtualization Allianceを立ち上げました。KVMソフトウェアは、QEMUと関連付けられることが多くあります。後者はハードウェアをエミュレートするが、KVMハイパーバイザーはホストシステムから必要なITリソースを割り当てます。したがって、Linux KVMは広範なLinuxファミリーの1つであるため、LinuxがKVMに提供できるものはすべて提供できると言える。しかし、カーネルベースの仮想マシンについて詳しく見ていきます。
KVMのコンポーネント
KVMハイパーバイザーは、2.6.20(かなり前のバージョン)以降のLinuxカーネル(オペレーティングシステム自体のコア)に組み込まれた完全な機能を持つ仮想化機能です。Linux KVMは、AMD 64およびIntel 64ハードウェア上で動作します。KVMのインストールは非常に簡単です。Windows Hyper-Vと同様に、カーネルから起動する必要があります。ただし、Windows上でKVMを実行することはできませんが、KVM上でWindowsを実行することは可能です。
KVMの主要コンポーネントには以下が含まれます。
- ゲストシステムと連携して動作するハイパーバイザー用に開発された専用ドライバーであるVirtIOドライバーは、準仮想化の実行を可能にします。
- KVMツールは、QEMUの代替となるよりスリムなソフトウェアであり、環境の生産要件に応じて選択されます。
- QEMUは、ハードウェアコンポーネントをエミュレートし、仮想マシンを管理する独立したソフトウェアです。Red Hat KVMは、ハードウェアのエミュレートにこれを利用し、準仮想化により速度を向上させています。Linux KVMとQEMUは、単一のパッケージで一緒に提供されることが多く、密接に連携しています。
- Kernel Extension は、ハードウェアと Linux KVM によって生成された仮想化されたハードウェアとの間の実際の変換レイヤーです。 これには、kernel.co 拡張、kvm-amd および kvm-intel モジュールが含まれ、これらは既存のプロセッサブランドに基づいて使用されます。
- Libvirt は、仮想マシン(VM)を操作するための Linux KVM アプリケーションプログラミングインターフェース(API)です。他の同様のソフトウェアと同様に、仮想化リソースの監視と管理を可能にします。また、LibvirtにはVM Managerのグラフィカルユーザーインターフェース(GUI)も含まれています。
ほとんどのRed Hatディストリビューションと同様に、Linux KVMは非常にシンプルで無駄がなく、それが大規模なオープンソースコミュニティに指示れている理由です。次にKVMで何ができるのかを簡単に見てみましょう。
KVM の機能
まず、他のハイパーバイザーと同様に、KVM ハイパーバイザーは仮想化プロセスを可能にし、管理するために存在します。KVM ハイパーバイザーサーバーがホストする仮想リソースを使用して、ハードウェアを抽象化し、アプリケーションの実行を可能にします。Red Hat KVM は、ソフトウェアによるエミュレーション、またはハイパーバイザー制御の実行と実際のハードウェアリソースへの割り当てのいずれかにより、ゲストシステム用のハードウェアを提供します。
一般的な参考情報として、KVM 仮想化にはいくつかの種類があります。
- 完全仮想化:ハードウェアがソフトウェアによって完全にエミュレートされ、実際の物理ハードウェアとのやり取りなしに仮想環境内で独立して動作する。この場合、対応するドライバは不要となる。ただし、パフォーマンスは犠牲になる。
- 準仮想化:ゲストシステムがホストシステム(ハイパーバイザーサーバー)とある程度やり取りを行うことを意味する。つまり、特定のドライバが必要になる。
- ハードウェア支援準仮想化:プロセスがハードウェアサポートをすでに統合している。その後、すべてがすでに揃っており、プロセッサと直接、仲介なしで動作するため、パフォーマンスが向上します。通常、このケースが望ましい動作です。
Linux KVM はハイパーバイザーに期待されるすべての基本的な標準機能を備えていますが、Red Hat ディストリビューションであるという独自性もあります。カーネルベースの仮想マシンを使用することで、Linux オープンソースコミュニティから評価されている独自の利点と好みが得られます。
特に、Linux KVM には以下の機能があります。
- 自動 NUMA バランシング:その名の通り、NUMA ベースのホスト上で実行されるアプリケーションのパフォーマンスを向上させる機能です。
- ディスク I/O スロットリング:指定の VM からホストに送信される I/O リクエストの数を制限して定義することができ、パフォーマンスの向上に役立ちます。
- オーバーコミット:必要に応じて、ホストシステム上の利用可能なリソースよりも多くの仮想 CPU またはメモリリソースを KVM に割り当てることができます。
- シンプロビジョニングにより、Red Hat KVMは柔軟なストレージの割り当てが可能になり、各VMに対して利用可能なストレージスペースを大幅に最適化できます。
- 仮想CPUのホットアドは、ダウンタイムを発生させることなく、特定のVMに必要な処理リソースを増やすことができる優れた機能です。
Linux KVMは確かに優れたハイパーバイザーですが、既存のアルゴリズムと利用可能なリソースを管理することしかできません。フォールトトレランス、便利な高速なディザスタリカバリ、非常に高いアプリケーションの常時稼働率、または必要に応じて高可用性(HA)を実現する場合には、KVMでは対応できません。しかし、StarWind Virtual SANと組み合わせることで、KVMベースのハイパーコンバージドインフラストラクチャは、予算内で真の力を発揮し、企業向けROBO(Remote Office/Branch Office)、SMB、エッジに真の価値をもたらします。
Linux KVM (Red Hat)と StarWind VSAN
StarWind VSAN はネイティブハイパーバイザーコンポーネントとして動作するため、あらゆる環境に役立つ追加機能となります。 特に、カーネルベースの仮想マシンと KVM ハイパーバイザーを組み合わせた場合、その相乗効果は素晴らしいパフォーマンス結果につながります。
- Linux KVM は従来の Linux パフォーマンスを備えているため、最も要求の厳しいアプリケーションのロードを仮想化できます。StarWind は、Linux KVM を使用して HA クラスターを構築するために、高可用性ブロックストレージを提供できます。
- KVMハイパーバイザによってサポートされるライブマイグレーションは、VMを再配置しても安定した動作を保証し、StarWind iSCSIはブロックストレージ転送に最大の帯域幅を提供し、VMのマイグレーションを容易にします。
- Linux KVMテクノロジーは柔軟性が高く、Linuxでサポートされているストレージを基本的にすべて利用でき、マルチパスI/Oを使用して必要な冗長性を提供します。同時に、StarWind VSANはVMの負荷に合わせてストレージを管理するため、ストレージのパフォーマンスは最高の状態に保たれ、高価なストレージを必要とせず、ランダムI/Oを回避できます。
Linux KVMハイパーバイザーはそれ自体でも強力な機能を備えていますが、StarWind VSANを使用すると、その主な機能が最大限に発揮されます。
関連トピックス:
- データセンターでの多種類のハイパーバイザー管理は?
- VMware vSphereのための仮想化データベース・パフォーマンス・モニタリング
- Workstation8上のESX(i)上で64bitOSがインストールできない場合の対処法
- vSphereメモリー・管理テクニック
- VMware VSAN vs. StarWind VSAN : その選択は!
- Hyper-V シンセシス(Synthetic)デバイス
- 2/17開催Webセミナー「Windows 2008サポート延長のために。Azure移行のことはじめ」録画
- VMware vSphere 5 のビッグ5 変更点 : 5. ESXとサービス・コンソール