アカウント ログイン
Jump to section

KVM とは

URL をコピー

KVM (Kernel-based Virtual Machine:カーネルベースの仮想マシン) は、Linux® に組み込まれたオープンソース仮想化テクノロジーです。具体的には、KVM を使用すると、Linux をハイパーバイザーに変貌させることができます。これによりホストマシンは、ゲストや仮想マシン (VM) と呼ばれる複数の独立した仮想化環境を稼働させることができます。

KVM は Linux の一部です。Linux 2.6.20 以降をお持ちの場合は、KVM が搭載されています。KVM は 2006 年に初めて発表され、1 年後にメインラインの Linux カーネルバージョンに統合されました。KVM は既存の Linux コードの一部であるため、追加のエンジニアリングを必要とせず、Linux の新機能、修正、拡張機能をすぐに利用できます。

KVM は Linux を Type 1 (ベアメタル) ハイパーバイザーに変換します。すべてのハイパーバイザーには、VM を稼働するために、メモリーマネージャー、プロセス・スケジューラー、入出力 (I/O) スタック、デバイスドライバー、セキュリティ・マネージャー、ネットワークスタックなど、オペレーティング・システム・レベルのコンポーネントが必要です。KVM は Linux カーネルの一部であるため、これらのコンポーネントをすべて備えています。各 VM は、ネットワークカード、グラフィックアダプター、CPU、メモリー、ディスクなどの専用の仮想ハードウェアを使用して、標準の Linux スケジューラーによってスケジュールされた通常の Linux プロセスとして実装されます。

KVM の実装

KVM の実装に必要なのは、要約すると 2007 年以降にリリースされたバージョンの Linux を実行すること、仮想化機能をサポートする X86 ハードウェアにインストールすることです。この 2 つの条件をどちらも満たしていれば、既存の 2 つのモジュール (ホスト・カーネル・モジュールとプロセッサー固有のモジュール)、エミュレータ、および追加のシステムの実行をサポートするドライバーをロードするだけで済みます。

しかし、KVM を Red Hat Enterprise Linux などのサポートされる Linux ディストリビューションに実装すると KVM の能力が拡張され、リソースのゲスト間でのスワップ、共通ライブラリの共有、システムパフォーマンスの最適化などが実現します。

契約で縛られているプラットフォームに仮想インフラストラクチャを構築すると、ソースコードへのアクセスが制限されてしまうことがあります。このとき、IT 開発部門の労力はイノベーションよりも回避策へと向けられるようになり、次回の契約ではクラウド、コンテナ、自動化に投資できなくなる可能性があります。KVM ベースの仮想化プラットフォームに移行すると、ハイパーバイザーの内部にあるソースコードを検査、修正、強化できます。そして、保護が必要なソースコードは存在しないため、エンタープライズライセンス契約もありません。コードは貴社のものです。

KVM は Linux の一部です。Linux は KVM の一部です。Linux に備わっているものは、KVM にも備わっています。しかし、企業はハイパーバイザーとして KVM を好む傾向があります。この背後には、いくつかの機能的なメリットが存在します。

セキュリティ

KVM は、Security-Enhanced Linux (SELinux) とセキュア仮想化 (sVirt) を組み合わせて使用し、VM のセキュリティと独立性を強化します。SELinux は VM の周囲にセキュリティ境界を設定します。sVirt は SELinux の機能を拡張し、強制アクセス制御 (MAC) セキュリティをゲスト VM に適用できるようにして、手動によるラベル付けのエラーを防ぎます。

ストレージ

KVM は、一部のローカルディスクやネットワーク接続型ストレージ (NAS) など、Linux がサポートするすべてのストレージを使用できます。マルチパス I/O を使用すると、ストレージが向上し、冗長性がもたらされます。KVM はさらに、共有ファイルシステムもサポートしているため、複数のホストで VM イメージを共有できます。ディスクイメージは、シンプロビジョニングをサポートしており、事前割り当てではなく、オンデマンドでストレージを割り当てます。

ハードウェアのサポート

KVM は、さまざまな認定済みの Linux 対応ハードウェア・プラットフォームを使用できます。ハードウェアベンダーは定期的にカーネル開発に貢献しているため、最新のハードウェア機能がいち早く Linux カーネルに採用されることも珍しくありません。

メモリ管理

KVM は、不均一メモリアクセスや Kernel Samepage Merging など、Linux のメモリ管理機能を継承しています。VM のメモリーは、スワップ、大容量の割り当てによるパフォーマンス向上、ディスクファイルでの共有または割り当てができます。

ライブ・マイグレーション

KVM は、ライブ・マイグレーションをサポートしています。ライブ・マイグレーションとは、実行中の VM をサービスの中断なしに物理ホスト間で移動する機能です。VM の再配置中には、VM の電源を入れたままにして、ネットワーク接続をアクティブのまま維持し、アプリケーションを実行し続けます。KVM は VM の現在の状態も保存するため、後からそれを保管して再開することができます。

パフォーマンスと拡張性

KVM は Linux のパフォーマンスを継承し、ゲストマシンとリクエストの数が増えると、負荷需要に合わせてスケーリングします。KVM を使用すると、最も需要の多いアプリケーション・ワークロードを仮想化することができます。KVM は、データセンターやプライベートクラウド (OpenStack® 経由) などの多くのエンタープライズ仮想化セットアップの基礎となります。

スケジューリングとリソース制御

KVM モデルでは、VM は Linux プロセスであり、カーネルによってスケジューリングおよび管理されます。Linux スケジューラーは、Linux プロセスに割り当てられたリソースを細かく制御し、特定のプロセスのサービス品質を保証します。KVM ではこれに、完全に公平なスケジューラー、制御グループ、ネットワーク名前空間、リアルタイム拡張などが含まれます。

レイテンシー短縮と優先順位向上

Linux カーネルはリアルタイム拡張機能を備えているため、VM ベースのアプリケーションを (ベアメタルよりも) 低いレイテンシーかつ高い優先順位で実行できます。カーネルはまた、計算時間が長いプロセスを小規模のコンポーネントに分割します。コンポーネントはそれに応じてスケジューリングされ、処理されます。

単一のワークステーションで起動された数個の VM を、管理ツールを使用せずに手動で管理することも可能ですが、大企業は仮想化管理ソフトウェアを使用します。このソフトウェアは、仮想化環境やその基盤にある物理ハードウェアとインタフェースして、リソース管理を簡素化し、データ分析を向上させ、運用を効率化します。Red Hat は、この目的のために Red Hat Virtualization を作成しました。

Red Hat は KVM のメリットを高く認め、すべての Red Hat 製仮想化製品のハイパーバイザーとして KVM を採用しています。また、Red Hat は KVM コミュニティのコントリビューターとして、継続的にカーネルコードを改善しています。しかし、KVM は Linux の一部であるため、すでに Red Hat Enterprise Linux にも含まれています。では、なぜ Red Hat Virtualization が必要なのでしょうか。

Red Hat は 2 つのバージョンの KVM を提供しています。Red Hat Enterprise Linux に含まれる KVM は、すべてのハイパーバイザー機能と基本的な管理機能を備えており、単一のホスト上で無制限の独立した仮想マシンを実行できます。Red Hat Virtualization には、無制限のゲストマシンのエンタープライズ管理を可能にする高度なバージョンの KVM が付属しています。これは、テクニカル・ワークステーション、プライベートクラウドでの利用に最適で、開発環境にもプロダクション環境にも適しています。

関連資料

記事

コンテナと VM

Linux コンテナと仮想マシン (VM) は、さまざまな IT コンポーネントが組み合わさってシステムの他の部分から分離している、パッケージ化されたコンピューティング環境です。

記事

仮想マシン (VM) とは

仮想マシン (VM) は分離されたコンピューティング環境で、物理マシンからリソースを抽象化して作成されます。

記事

KVM とは

KVM (Kernel-based Virtual Machine:カーネルベースの仮想マシン) は、Linux をハイパーバイザーに変貌させるオープンソースの仮想化テクノロジーです。

仮想化の詳細はこちら

製品

Red Hat OpenShift Container Platform

コンテナ化アプリケーションの構築とスケーリングに適した、一貫性のあるハイブリッドクラウド基盤です。

Red Hat Openstack Platform

ハードウェアを仮想化し、リソースをクラウドにまとめるプラットフォーム。

リソース

データシート

Red Hat Virtualization:完全なオープンソースサーバー仮想化

概要

デジタル・サービス・プロバイダーになる

トレーニング

無料のトレーニングコース

Virtualization and Infrastructure Migration Technical Overview

  • OpenStack® のワードマークと OpenStack のロゴは、米国とその他の国における OpenStack Foundation の登録商標/サービスマークまたは商標/サービスマークのいずれかであり、OpenStack Foundation の許諾の下で使用されています。Red Hat は、OpenStack Foundation と OpenStack コミュニティのいずれにも所属しておらず、公認や出資も受けていません。

Illustration - mail

その他の関連コンテンツ

無料のニュースレター「Red Hat Shares」(英語) では、注目の IT トピックスに関するコンテンツをお届けしています。

Red Hat logo LinkedInYouTubeFacebookTwitter

製品

ツール

試す、買う、売る

コミュニケーション

Red Hat について

エンタープライズ・オープンソース・ソリューションのプロバイダーとして世界をリードする Red Hat は、Linux、クラウド、コンテナ、Kubernetes などのテクノロジーを提供しています。Red Hat は強化されたソリューションを提供し、コアデータセンターからネットワークエッジまで、企業が複数のプラットフォームおよび環境間で容易に運用できるようにしています。

ニュースレター「Red Hat Shares」を購読する

今すぐ登録する

言語を選択してください

© 2022 Red Hat, Inc. Red Hat Summit