KVMとは何ですか?

What Is Kvm



仮想化とは、対応する実際のリソースまたは物理リソースの動作を模倣する、シミュレートされたコンピューティングリソースの作成を指します。ソフトウェアから個々のハードウェアデバイス、完全なハードウェアプラットフォームまで、さまざまな種類のリソースを仮想化できます。この投稿では、CPU、メモリ、ネットワークカード、ディスク、グラフィックアダプター、オペレーティングシステムなどのデバイスで構成される仮想マシンに焦点を当てています。仮想マシンを作成して実行するソフトウェアは、ハイパーバイザーと呼ばれます。以下では、という名前のハイパーバイザーの機能について説明します。 KVM

仮想化のメリット

過去には、均質であることは、データセンター、開発会社、および家庭での手口でした。実際には、Linux、Windows、FreeBSDのいずれであっても、すべてのマシンが単一のオペレーティングシステムの同じリリースを実行します。時が変わった。







今日では、LinuxやWindowsなどのさまざまなOS、さらにはさまざまなバージョンのOS(Windows XPや10など)が同じコンピューター環境に同じ場所に配置されることが予想されます。仮想マシンがない場合、複数のオペレーティングプラットフォームでアプリケーションを実行するには、複数の物理マシンを展開して維持する必要があります。仮想化は、単一の物理マシン上で、それぞれが異なるOSを備えている可能性のある複数の仮想マシンの実行を強化します。



物理マシンに対する仮想マシンの利点は次のとおりです。



  1. コンピュータリソースのより効率的な使用。
    ハードウェアの価格は、処理能力が上昇し続けている間、下降傾向を続けています。この現実の下で、今日の多くの強力なマシンは、アイドル状態のCPUサイクル、未使用のメモリなどによって測定されるように、十分に活用されていない傾向があります。仮想マシンをより少ない物理マシンに統合すると、物理リソースが少なくなり、効率が向上します。
  1. 改善されたIT応答性と生産性。
    新しい物理ハードウェアのプロビジョニングには、長い取得待機期間と、それに続く到着後の長いインストールおよび展開期間が必要です。対照的に、仮想マシンのプロビジョニングは自動化でき、従来のマシンの取得にかかることがある数日または数週間ではなく、数分で利用できるようになります。
  1. 経費節約。
    ビッグデータセンターは、運用コストが低いため、コストを節約できます。節約は、冷却と電力の要件が低いため、エネルギー料金が削減されるという形で行われます。

KVMの紹介

カーネルベースの仮想マシン、または KVM つまり、無料のオープンソースハイパーバイザーソリューションです。成熟した業界で、次のようなオープンソースの代替手段と競合します。 XenVirtualBox 、および次のような独自の製品 VMware vSphereCitrix XenServerMicrosoft Hyper-V





2005年以前は、XenやVirtualBoxなどの当時のハイパーバイザーソリューションはすべてソフトウェアベースでした。 x86アーキテクチャには、仮想化をサポートするためのプロビジョニングがありませんでした。 2005年、命令セット拡張機能であるIntel VTとAMD-Vの導入により、仮想化の展望が恒久的に変化しました。 KVMは2006年に最初のバージョンをリリースし、仮想化パフォーマンスを最適化するために新しいハードウェアプロビジョニングを利用した最初のハイパーバイザーの1つでした。

KVMは、IntelVTまたはAMD-V拡張機能をサポートするハイパーバイザー用語の「ホストマシン」である32ビットまたは64ビットのx86コンピューターにインストールできます。今日、最新のハイパーバイザーは通常、ハイブリッド仮想化をサポートしています。可能な場合はハードウェア支援、古いチップセットの場合はソフトウェアのみへのフェイルオーバーです。



KVMは、タイプ2ハイパーバイザーとして分類されます。つまり、ホストオペレーティングシステム内で実行されます。その名前が示すように、KVMはカーネルベースであり、より正確には、Linuxカーネルです。したがって、KVMがホストOSとしてLinuxのみをサポートしていることは驚くべきことではありません。 (その後、KVMはFreeBSDに移植されました。)オープンソースのマルチプラットフォームタイプ2ハイパーバイザーが必要な場合は、VirtualBoxが適しています。 VirtualBoxは、Windows、Linux、Mac OS X、およびSolarisでネイティブに実行できます。

対照的に、Xenはタイプ1ハイパーバイザーであり、ベアメタルハイパーバイザーとも呼ばれ、ホストマシン上でファームウェアとして直接実行されます。タイプ2に対するタイプ1の利点は、基盤となるハードウェア上で直接実行されるハイパーバイザーによって得られる効率です。欠点は、タイプ1ハイパーバイザーが、タイプ2ハイパーバイザーのホストオペレーティングシステムほど広範囲のホストデバイスをサポートしない可能性があることです。

ハイパーバイザーは、ホストOSが必要かどうかと、どのゲストOSが必要かは異なる場合がありますが、サポートするゲストOS、つまり仮想マシンで実行できるOSに関しては非常に似ています。 KVMは、次のゲストOSの仮想化をサポートします。

  • Debian、Ubuntu、Centos、Fedora、RedHat EnterpriseLinuxを含むLinuxディストリビューション
  • OpenBSD、FreeBSD、NetBSDなどのBSD
  • Solaris
  • ウィンドウズ

KVMは、変更されていないゲストOSイメージを実行できます。この機能は、ホストマシンよりも仮想マシンで実行するのが実質的に難しい操作の特別な処理のためにゲストOSが変更される準仮想化とは対照的に、完全仮想化として知られています。


KVMのしくみ

KVMは、カーネルとユーザースペースの2つのテクノロジーコンポーネントで構成されています。カーネルコンポーネントは、ロード可能な2つのカーネルモジュールで構成されています。kvm.koと、kvm-intel.koまたはkvm-amd.koのいずれかです。 kvm.koモジュールは、アーキテクチャに依存しないコア仮想化処理を提供します。 kvm-intel.koおよびkvm-amd.koモジュールは、IntelおよびAMDプロセッサ固有のモジュールに対応します。これらのモジュールは、カーネルバージョン2.6.20の時点でLinuxカーネルにマージされました。

KVMとLinuxカーネルの緊密な統合には利点があります。 KVMは、ハードウェアによって公開された新しい仮想化命令の処理に重点を置いている一方で、Linuxに委任してシステムのうなり声を上げることができます。 KVMは、より大規模なLinuxコミュニティのアップストリームから継続的なシステム改善を継承することによってもメリットがあります。

カーネルモジュールは重要です。ゲストOSが実行されている仮想マシンハードウェアをエミュレートしません。その仕事はユーザースペースに属しています。 KVMは QEMU 、ユーザースペースで実行され、ゲストOSと対話する仮想マシンを構築します。各仮想マシンは、単なる通常のLinuxプロセスです。大きな利点の1つは、topやkillなどの使い慣れたLinuxコマンドを使用して、仮想マシンを監視および管理できることです。


まとめと結論

KVMは、Linuxホストプラットフォームでの完全仮想化のための優れたオープンソースソリューションです。 10年以上の活発な開発の後、KVMは多くのLinuxディストリビューションで事実上の標準のマシンレベルの仮想化ツールになりました。