仮想マシンを作成したり管理したりするためのグラフィカルなインターフェイスを提供する、ソフトウエアプログラムを意味します。
仮想マシン内で動作するオペレーティングシステムやアプリケーションを意味します。
ゲスト側のオペレーティングシステムや対応するアプリケーションを動作させることのできる、仮想化された PC 環境 (VM) を意味します。 VM ゲスト と呼ばれることもあります。
仮想ホストサーバ (Virtualization Host Server) の略です。
SUSE による仮想化プラットフォームソフトウエアを動作させている物理的なコンピュータを意味します。仮想環境にはハイパーバイザとホスト環境、仮想マシンと関連ツール、コマンド、設定ファイルがそれぞれ含まれています。一般には、 単純に ホストやホストコンピュータ、ホストマシン (HM)、仮想サーバ (VS)、仮想マシンホスト (VMH)、VM ホストサーバ (VHS) などと呼ぶ場合もあります。
第3章 「Xen 仮想化の紹介」 をお読みください。
第4章 「KVM 仮想化の紹介」 をお読みください。
Xen 向けのコマンド集で、管理者がホストコンピュータのコマンドラインを使用することで、仮想マシンの管理を行うことができるものです。廃止予定である xm
ツールスタックの置き換えとして作られているものです。
Intel* と AMD* は、いずれも仮想に対するハードウエア支援技術を提供しています。これらの技術により、ソフトウエア側が主なオーバーヘッドとなっていた仮想化で、 VM の入出力処理の頻度 (VM トラップ) を減らし、ハードウエアで実行することで、効率を上げることができます。これに加えて、メモリのフットプリントも減らすことができますので、リソース制御もより効率的に行うことができるほか、特定の I/O デバイスの割り当てもより安全に行うことができるようになっています。
Xen 環境で使用される用語で、仮想マシンを意味します。ホスト側のオペレーティングシステムは実際には仮想マシンで、特権ドメイン下で動作するものであるため、これを Dom0 と呼んでいます。ホスト内でのその他の仮想マシンは非特権ドメイン下で動作するものであることから、これらは DomU と呼びます。
YaST 内と仮想マシンマネージャ内に用意されているソフトウエアプログラムで、仮想マシンを作成するための手順を示すグラフィカルなインターフェイスを提供する仕組みです。テキストモードで仮想マシンを作成したい場合は、 virt-install
コマンドを利用します。
ホストコンピュータの環境とやり取りを行うことのできる、デスクトップもしくはコマンドライン環境を意味します。コマンドライン環境のほか、 GNOME や IceWM などのグラフィカルなデスクトップ環境を使用することもできます。ホスト環境は仮想マシンの特殊形態を実行する仕組みで、仮想マシンの制御や管理などの権限が与えられています。一般的には、 Dom0 や特権ドメイン、ホストオペレーティングシステムなどと呼ぶこともあります。
仮想マシンと物理的なコンピュータハードウエアとの間を、低レベルな (ハードウエアに近い) 範囲で仲介するソフトウエアを意味します。
準仮想化モードで仮想マシン内の表示に関わるフレームデータを含む、メモリバッファ内のビデオディスプレイの出力デバイスです。
VirtFS は新しい準仮想化ファイルシステムインターフェイスで、 KVM 環境でパススルー技術を改善するために作られた仕組みです。 VirtIO フレームワークをベースにしています。
CPU キャッピングの機能は、物理的な CPU 性能を仮想マシンに提供する際に、割合を指定して制限を行うための機能を意味します。
仮想 CPU のオーバーコミットとは、物理システム内に存在する CPU 数より多くの仮想 CPU を、仮想マシンに割り当てることのできる機能を意味します。この機能はシステムの全体性能を強化する目的では利用できませんが、テスト目的には有用です。
CPU ホットプラグとは、システムのシャットダウンを行うことなく、 CPU の置換や追加、抜去などを行う機能を意味します。
CPU ピニングはプロセッサアフィニティとも呼ばれ、特定のプロセスやスレッドに対して、特定の 1 台もしくは複数台の中央処理装置 (CPU) を使用するようにする仕組みを意味します。
仮想マシンを外部ネットワークに存在するものとして切り出すタイプのネットワーク接続で、ホストコンピュータとは切り離され、無関係な存在として位置づけられるものを意味します。
ホスト側が提供する物理的なネットワークデバイスや、仮想ネットワークデバイスを持たないタイプのネットワークブリッジで、これにより他の仮想マシンとの通信はできるものの、ホストや外部ネットワークとは通信のできない環境になるものを意味します。
ホストが接続されているローカルネットワーク環境の外側のネットワークを意味します。
仮想マシンの通信相手がホスト環境に限定されたネットワーク設定を意味します。
仮想ネットワークデバイスが存在するものの、ホスト側の物理的なネットワークデバイスを持たないタイプのネットワークブリッジを意味します。これにより、仮想マシンはホストとの間のほか、ホスト内の他の仮想マシンとも通信を行うことができます。仮想マシンはホストを介して外部と通信することになります。
仮想マシンがホストの IP アドレスや MAC アドレスを使用するタイプのネットワーク接続を意味します。
物理的なネットワークデバイスが存在するものの、ホスト側の仮想ネットワークデバイスを持たないタイプのネットワークブリッジを意味します。これにより、仮想マシンは外部ネットワークとの通信を行うことができるものの、ホストとの間は通信を行うことができなくなります。これにより、ホスト環境からは独立した仮想的なネットワーク通信を実現することができます。
ホスト側が提供する物理的なネットワークデバイスと、仮想ネットワークデバイスの両方を持つタイプのネットワークブリッジを意味します。
AHCI は Advanced Host Controller Interface の略で、 Intel* 社が規定したシリアル ATA (SATA) ホストバスアダプタの仕様を意味します。なお、実装固有の箇所は含まない構造です。
CD-ROM ドライブやディスクドライブなど、データをブロックとして管理するタイプのデータストレージデバイスを意味します。パーティションやボリュームなどもブロックデバイスと考えられます。
ディスクイメージファイルとも呼ばれる、ファイルベースの仮想ディスクです。
ファイルシステムを介することなく、バイト単位でディスクに直接アクセスするタイプのディスクを意味します。
ファイルシステム内に指定されたサイズをそのまま予約するのではなく、書き込み時に必要に応じてサイズを拡張するタイプのディスクイメージファイルを意味します。
準仮想化マシンにおける 1 台目の仮想ディスクを意味する名前です。
Advanced Configuration and Power Interface (ACPI) の略で、オペレーティングシステムからのデバイスの設定や電源管理のための統一規格を意味します。
Advanced Error Reporting
AER は PCI Express 仕様で提供されている機能のうちの 1 つで、 PCI でのエラーを報告し、それらのうちのいくつかを修復することのできる仕組みを提供します。
Advanced Programmable Interrupt Controller (APIC) は割り込みコントローラの一種です。
Bus (バス):Device (デバイス):Function (機能)
PCI や PCIe のデバイスを簡潔に表現するための表記法です。
Control Groups (コントロールグループ)
リソース (CPU, メモリ, ディスク I/O など) を制限したり測定したり、孤立させたりするための機能を指します。
Earliest Deadline First
このスケジューラは直感的な重み付き CPU 共有の仕組みで、時間面の保証を行うためのリアルタイムアルゴリズムを意味します。
Extended Page Tables (拡張ページテーブル)
仮想環境での性能はネイティブな (仮想化を行わない) 環境に近くなっていますが、仮想化によって少しのオーバーヘッドが存在しています。オーバーヘッドは CPU の仮想化機能 (MMU) のほか、 I/O デバイスによっても発生します。最近の x86 プロセッサでは、 AMD, Intel ともにハードウエア拡張を提供し、このような性能ギャップを埋める仕組みを用意しています。 2006 年、 AMD は AMD-Virtualization (AMD-V) 技術、 Intel は Intel® VT-x 技術を発表し、仮想化に対する初めてのハードウエアサポートを提供するようになりました。最近になって Intel は、 MMU の仮想化を行う第 2 世代の仮想化ハードウエアサポートを提供するようになりました。これを Extended Page Tables (拡張ページテーブル; EPT) と呼んでいます。 EPT が有効化されたシステムの場合、 MMU の仮想化にあたって、シャドウページを使用するのに比べて性能を改善することができるようになっています。 EPT では、負荷状況にもよりますが、メモリアクセスの遅延が発生します。ただし、ゲストとハイパーバイザでラージページを使用することによって、そのような遅延を効率的に小さくすることができるようになっています。
Flux Advanced Security Kernel
Xen は FLASK と呼ばれるセキュリティアーキテクチャを採用していて、同名のモジュールによる強制アクセス制御を実装しています。
High Assurance Platform
HAP はハードウエア技術とソフトウエア技術の組み合わせで、ワークステーションやネットワークのセキュリティを改善するための仕組みです。
Hardware Virtual Machine (ハードウエア仮想マシン) の略です (Xen ではこのように呼ばれています) 。
Input/Output Memory Management Unit
IOMMU (AMD* の技術) はメモリ管理ユニット ( MMU ) を意味する技術で、ダイレクトメモリアクセス (DMA) に対応した I/O バスをメインメモリに接続することができるものを指します。
Kernel Same Page Merging
KSM は、ゲストとホストで同一の内容を持つメモリページを自動的に共有させる仕組みで、 VM ホストサーバ 側で KSM が有効化されていれば、 KVM は KSM を最適に使用することができます。
Memory Management Unit (メモリ管理ユニット)
CPU 側から要求されたメモリへのアクセスを扱うハードウエアコンポーネントを意味する用語です。仮想アドレスから物理アドレスへの翻訳を行う (仮想メモリ管理と呼びます) ほか、メモリの保護やキャッシュ制御、バス調停などを提供します。古いコンピュータアーキテクチャ (特に 8 ビットシステム) では、バンク切り替えなどと呼ばれていたものです。
Physical Address Extension (物理アドレス拡張)
32 ビットの x86 オペレーティングシステムでは、 Physical Address Extension (PAE) を利用することで、 4 GB 以上の物理メモリにアクセスすることができるようになっています。 PAE モードでは、ページテーブルエントリ (PTE) は 64 ビット幅になります。
Process-context identifiers (プロセス-コンテキスト識別子)
これらは、論理プロセッサが複数の線形アドレス空間の情報をキャッシュする機能を意味し、ソフトウエアが異なる線形アドレス空間に切り替えた際にも、キャッシュ情報を維持することができるようにするものです。 INVPCID 命令はきめ細かい TLB (TLB) フラッシュに使用するもので、カーネルにとって有益な仕組みです。
Peripheral Component Interconnect Express
PCIe は古い規格である PCI, PCI-X, AGP バス標準を置き換えるために設計された仕組みです。 PCIe は従来よりも高い最大システムバススループットや少ない I/O ピン数、そしてより小さくなった物理フットプリントなど、さまざまな改善が加えられています。これに加えて、より詳細なエラー検出・レポート機構 ( AER ) が用意され、ホットプラグにもネイティブ対応するようになっています。なお、 PCI との後方互換性も維持されています。
Page Size Extended (ページサイズ拡張)
PSE は x86 プロセッサの機能で、従来の 4 KiB サイズよりも大きなページサイズに対応するための仕組みです。 PSE-36 は通常の 10 ビットに加えて 4 ビット分の拡張が行われ、ラージページを指し示すページディレクトリエントリ内で使用されています。これにより、 36 ビットのアドレス空間内でラージページを使用することができるようになっています。
Page Table (ページテーブル)
ページテーブルは、コンピュータのオペレーティングシステム内にある仮想メモリシステムが使用するデータ構造で、仮想アドレス (プロセスごとに個別管理されているアドレス) と物理アドレス (実際のハードウエアアドレス) の対応付けを管理するための仕組みです。
QXL は仮想環境向けの Cirrus VGA フレームバッファ (8M) です。
Rapid Virtualization Indexing, Nested Page Tables
AMD の第 2 世代仮想化ハードウエア支援技術で、プロセッサのメモリ管理ユニット ( MMU ) 向けの仕組みです。
Serial ATA (シリアル ATA)
SATA はコンピュータバスインターフェイスの一種で、ホストバスアダプタからハードディスクや光学ドライブなど、ストレージデバイスなどに接続するためのインターフェイスです。
不正な動作を防ぐための追加保護として、特定のシステムコールのみを許可するようなサンドボックス環境を意味します。
Supervisor Mode Execution Protection
Xen ハイパーバイザで提供される仕組みで、ユーザモードページの実行を阻止するための仕組みです。これにより、アプリケーションからハイパーバイザへの攻撃の多くを困難にします。
Simple Protocol for Independent Computing Environments の略です。
SXP ファイルは Xen の設定ファイルを意味します。
Tiny Code Generator
インストラクションを CPU で直接実行するのではなく、擬似的に実行することを意味します。
Transparent Huge Pages (透過型ヒュージページ)
CPU が既定の 4KB より大きなページを利用してメモリにアクセスする機能を意味します。これにより、メモリの使用率と CPU キャッシュの使用率を削減することができます。 VM ホストサーバ 側で THP が有効化されていれば、 KVM は THP を (madvise と日和見的な方式で) 最適に使用することができます。
Translation Lookaside Buffer
TLB はメモリ管理ハードウエアが仮想アドレスへの変換速度を上げるためのキャッシュです。現在ではデスクトップやノート PC 、サーバのいずれのプロセッサでも、 TLB を利用して仮想アドレスから物理アドレス空間への変換を行っています。また、仮想メモリを使用するほぼ全てのハードウエア内に搭載されている仕組みでもあります。
仮想化された CPU の状態を含む、スケジュール対象の実体を意味します。
Virtual Desktop Infrastructure (仮想デスクトップインフラストラクチャ)
カーネルバージョン 3.6 およびそれ以降で導入された仕組みで、ユーザスペースから PCI デバイスにアクセスするための新しい方式を提供するものです。
Virtualization Host Server (仮想化ホストサーバ)
Virtual Machine Control Structure (仮想マシン制御構造)
VMX の非ルート操作と VMX の遷移は Virtual Machine Control Structure (仮想マシン制御構造) (VMCS) と呼ばれるデータ構造によって制御されます。 VMCS へのアクセスは VMCS ポインタ (論理プロセッサごとに 1 つ) と呼ばれるプロセッサの状態コンポーネントを介して管理されます。 VMCS ポインタの値は VMCS に対する 64 ビットのアドレスです。 VMCS ポイントは VMPTRST や VMPTRLD のインストラクションを利用することで、読み込みおよび書き込みを行うことができます。 VMM は VMREAD, VMWRITE, VMCLEAR の各インストラクションを利用して、 VMCS の設定を行います。 VMM では対応するそれぞれの仮想マシンに対して、異なる VMCS を使用することができます。複数の論理プロセッサ (仮想プロセッサ) を持つ仮想マシンの場合、 VMM はそれぞれの仮想プロセッサに対して異なる VMCS を使用することができます。
Virtual Machine Device Queue (仮想マシンデバイスキュー)
ハードウエアレベルで複数の VM に対応できるマルチキュー型のネットワークアダプタにより、各パケットキューをそれぞれの VM (VM の IP アドレス) に割り当てることができるようになります。
Virtual Machine Monitor (Hypervisor) (仮想マシンモニタ (ハイパーバイザ))
プロセッサがハイパーバイザ ( VMM ) に関係するインストラクションやイベントを検出すると、ゲストモードを終了して VMM に戻ることができます。 VMM はネイティブとほとんど変わらない速度でインストラクションやその他のイベントを擬似し、ゲストモードに戻ることができます。ゲストモードからの VMM への遷移、および VMM からゲストモードへの遷移は、ゲスト側の実行が完全に停止することになるため、大きな遅延のある操作となります。
VMM は VMX ルート操作内で動作し、ゲスト側のソフトウエアは VMX 非ルート操作内で動作します。 VMX ルート操作と VMX 非ルート操作との間の遷移は、 VMX 遷移と呼ばれます。
Virtual Machine eXtensions (仮想マシン拡張)
TLB のソフトウエア制御に対する新しいサポートです (小さな VMM の開発努力によって、 TLB の性能を改善するためのものです) 。
Virtualization Technology for Directed I/O
Trusted Computing を介して、ゲスト向けのセキュリティ機能を提供するコンポーネントです。