KVMの機能とクラウドOS:KVM徹底解説 第2回

山﨑靖之 (サイオステクノロジー株式会社)

2011-08-22 09:00

 本特集「KVM徹底解説」の第1回「サーバ仮想化技術をおさらいしよう」では、仮想化技術の概念とKVMの概要について解説しました。

 今回は、KVMの機能とクラウドOSについて紹介します。

 前回述べたとおり、KVMは、Linuxカーネルにサーバ仮想化を実現するハイパーバイザ機能を組み込んだソフトウェアです。つまり、Linux上で稼働するプロセスとして、仮想マシン環境を実現しています。

 大きな特徴としては、KVMは、CPUの仮想化支援機能(Intel VTやAMD-V)に対応したCPUを搭載したサーバで利用することが前提条件になります。

 KVMが提供する主な仮想化機能を以下に解説します。

1. KVMが提供する機能

1-1. CPUの仮想化

 KVMでは、仮想マシンがLinux上の1つのプロセスとして動作しますので、Linuxカーネルのプロセススケジューラーによって、各仮想マシンのプロセスに対するCPUの割り当てが行われます。よって、CPUが割り当てされている実行時間中は、ゲストOSは、物理CPUで動作しているということになります。

 簡単に言えばこれだけのことですが、詳細に見ていくと話は単純ではありません。

 複雑化させている原因は、CPUの特権モード(リングプロテクション)の扱いにあります。インテルアーキテクチャのCPUは、特権モード(リング0〜3の4種類)があります。LinuxやWindowsの場合でいうと、カーネルはリング0で動作し、ユーザープロセスはリング3で動作します(リング0、リング3の2種類のみを使っている)。言い換えると、リング3で動作するユーザープロセスからシステムコールを発行することで、リング0で動作しているカーネルが物理リソースへのアクセスを行うといった動作です。つまり、リング0は全てのCPU命令が実行可能なモードであるのに対して、リング3は物理的なハードウェア資源を操作する命令が実行できないモードなのです。しかし、KVMでは、仮想マシンはLinux上の1プロセスとして動作するので、そこで実行されるゲストOSは、リング3だけでは動作することができない、という問題が発生します。

図1 CPUの実行モード 図1 CPUの実行モード

 この問題を解決するために、前述のCPUの仮想化支援機能を利用しています。

 Intel VTなどは、通常の特権モード(リング0〜3)とは別に、ハイパーバイザ(ホストLinux)が稼働するVMX rootモードと、仮想マシンが稼働するVMX non-rootモードが追加されています。

 VMX non-rootモードは見かけ上、リング0とリング3の両方が動作できる仕様となっていますが、仮想マシン上で動作するゲストOSが物理リソースにアクセスする命令を要求した際には、自動的にVMX rootモードで稼働するハイパーバイザに処理を委ねます。このような動作によって、仮想環境上で発生する特権モードの問題を回避しています。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    「デジタル・フォレンジック」から始まるセキュリティ災禍論--活用したいIT業界の防災マニュアル

  2. 運用管理

    「無線LANがつながらない」という問い合わせにAIで対応、トラブル解決の切り札とは

  3. 運用管理

    Oracle DatabaseのAzure移行時におけるポイント、移行前に確認しておきたい障害対策

  4. 運用管理

    Google Chrome ブラウザ がセキュリティを強化、ゼロトラスト移行で高まるブラウザの重要性

  5. ビジネスアプリケーション

    技術進化でさらに発展するデータサイエンス/アナリティクス、最新の6大トレンドを解説

ZDNET Japan クイックポール

注目している大規模言語モデル(LLM)を教えてください

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]