一般社団法人 全国個人事業主支援協会

COLUMN コラム

  • 「KVM」について

KVM (Kernel-based Virtual Machine:カーネルベースの仮想マシン) は、Linuxに組み込まれた
オープンソースの仮想化テクノロジー。

具体的には、KVM を使用すると、Linux をハイパーバイザーに変貌させることができる。
これによりホストマシンは、ゲストや仮想マシン (VM) と呼ばれる複数の独立した仮想化環境を
稼働させることができる。

KVM は Linux の一部で、Linux 2.6.20 以降の場合は、KVM が搭載されている。

 

<KVM の仕組み>

KVM は Linux を Type 1 (ベアメタル) ハイパーバイザーに変換。

すべてのハイパーバイザーには、VM を稼働するために、メモリーマネージャー、プロセス・スケジューラー、
入出力 (I/O) スタック、デバイスドライバー、セキュリティ・マネージャー、ネットワークスタックなど、
オペレーティング・システム・レベルのコンポーネントが必要。

KVM は Linux カーネルの一部であるため、これらのコンポーネントをすべて備えている。

すべての VM が、ネットワークカード、グラフィックス・アダプター、CPU、メモリ、ディスクなどの専用の
仮想ハードウェアを使用し、標準 Linux スケジューラーによってスケジュールされた通常の Linux プロセス
として実装される。

 

<セキュリティ>

KVM は、Security-Enhanced Linux (SELinux) とセキュア仮想化 (sVirt) を組み合わせて使用し、
VM のセキュリティと独立性を強化。SELinux は VM の周囲にセキュリティ境界を設定する。

sVirt は SELinux の機能を拡張し、強制アクセス制御 (MAC) セキュリティをゲスト VM に
適用できるようにして、手動によるラベル付けのエラーを防ぐ。

 

<ストレージ>

KVM は、一部のローカルディスクやネットワーク接続型ストレージ (NAS) など、Linux がサポートする
すべてのストレージを使用できる。

マルチパス I/O を使用すると、ストレージが向上し、冗長性がもたらされ、共有ファイルシステムも
サポートしているため、複数のホストで VM イメージを共有できる。

ディスクイメージは、シンプロビジョニングをサポートしており、事前割り当てではなく、オンデマンドで
ストレージを割り当てる。

 

<ハードウェアのサポート>

KVM は、さまざまな認定済みの Linux 対応ハードウェア・プラットフォームを使用できる。

ハードウェアベンダーは定期的にカーネル開発に貢献しているため、最新のハードウェア機能がいち早く
Linux カーネルに採用されることも珍しくない。

 

<メモリ管理>

KVM は、不均一メモリアクセスや Kernel Samepage Merging など、Linux のメモリ管理機能を継承している。

VM のメモリは、スワップされ、パフォーマンスを向上させるために大規模なボリューム単位でバックアップされ、
ディスクファイルによって共有またはバックアップされる。

 

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

KVM は、ライブ・マイグレーションをサポートしている。ライブ・マイグレーションとは、実行中の VM を
サービスの中断なしに物理ホスト間で移動する機能。

VM の再配置中には、VM の電源を入れたままにして、ネットワーク接続をアクティブのまま維持し、
アプリケーションを実行し続ける。

KVM は VM の現在の状態も保存するため、後からそれを保管して再開することができる。

 

<パフォーマンスと拡張性>

KVM は Linux のパフォーマンスを継承し、ゲストマシンとリクエストの数が増えると、負荷需要に合わせて
スケーリングする。

KVM を使用すると、最も需要の多いアプリケーション・ワークロードを仮想化することができる。

KVM は、データセンターやプライベートクラウドなどの多くのエンタープライズ仮想化セットアップの基礎となる。

 

The following two tabs change content below.

久米 大輔

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア