Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
コンテンツコンテンツ
仮想化ガイド
  1. 前書き
  2. I 概要
    1. 1 仮想化技術
    2. 2 仮想化シナリオ
    3. 3 Xen 仮想化の紹介
    4. 4 KVM 仮想化の紹介
    5. 5 仮想化ツール
    6. 6 仮想化コンポーネントのインストール
  3. II libvirt を利用した仮想マシンの管理
    1. 7 libvirt デーモン
    2. 8 VM ホストサーバ の準備
    3. 9 ゲストのインストール
    4. 10 基本的な VM ゲスト の管理
    5. 11 接続と認可
    6. 12 高度なストレージ設定
    7. 13 仮想マシンマネージャ を利用した仮想マシンの設定
    8. 14 virsh を利用した仮想マシンの設定
    9. 15 Xen から KVM への移行ガイド
  4. III 全ハイパーバイザ共通の機能
    1. 16 ディスクのキャッシュモード
    2. 17 VM ゲスト の時刻設定
    3. 18 libguestfs
    4. 19 QEMU ゲストエージェント
    5. 20 ソフトウエア TPM エミュレータ
    6. 21 VM ゲスト に対するクラッシュダンプの作成
  5. IV Xen を利用した仮想マシンの管理
    1. 22 仮想マシンホストの設定
    2. 23 仮想ネットワーク
    3. 24 仮想環境の管理
    4. 25 Xen 内でのブロックデバイス
    5. 26 仮想化: オプション設定
    6. 27 管理作業
    7. 28 XenStore: ドメイン間で共有される設定データベース
    8. 29 Xen の高可用性仮想化ホストとしての使用
    9. 30 Xen: 準仮想化 (PV) ゲストから完全仮想化 (FV/HVM) ゲストへの変換
  6. V QEMU を利用した仮想マシンの管理
    1. 31 QEMU の概要
    2. 32 KVM VM ホストサーバ の構築
    3. 33 ゲストのインストール
    4. 34 qemu-system-ARCH を利用した仮想マシンの実行
    5. 35 QEMU モニタを利用した仮想マシンの管理
  7. VI トラブルシューティング
    1. 36 内蔵ヘルプとパッケージのドキュメンテーション
    2. 37 システム情報とログの収集
  8. 用語集
  9. A NVIDIA カードに対する GPU パススルー の設定
  10. B GNU ライセンス
ナビゲーション
適用先 openSUSE Leap 15.6

用語集 Edit source

一般

仮想マシンマネージャ

仮想マシンを作成したり管理したりするためのグラフィカルなインターフェイスを提供する、ソフトウエアプログラムを意味します。

仮想化ゲスト

仮想マシン内で動作するオペレーティングシステムやアプリケーションを意味します。

仮想マシン

ゲスト側のオペレーティングシステムや対応するアプリケーションを動作させることのできる、仮想化された PC 環境 (VM) を意味します。 VM ゲスト と呼ばれることもあります。

VHS

仮想ホストサーバ (Virtualization Host Server) の略です。

SUSE による仮想化プラットフォームソフトウエアを動作させている物理的なコンピュータを意味します。仮想環境にはハイパーバイザとホスト環境、仮想マシンと関連ツール、コマンド、設定ファイルがそれぞれ含まれています。一般には、 単純に ホストやホストコンピュータ、ホストマシン (HM)、仮想サーバ (VS)、仮想マシンホスト (VMH)、VM ホストサーバ (VHS) などと呼ぶ場合もあります。

Xen

第3章 「Xen 仮想化の紹介 をお読みください。

KVM

第4章 「KVM 仮想化の紹介 をお読みください。

xl

Xen 向けのコマンド集で、管理者がホストコンピュータのコマンドラインを使用することで、仮想マシンの管理を行うことができるものです。廃止予定である xm ツールスタックの置き換えとして作られているものです。

ハードウエア支援

Intel* と AMD* は、いずれも仮想に対するハードウエア支援技術を提供しています。これらの技術により、ソフトウエア側が主なオーバーヘッドとなっていた仮想化で、 VM の入出力処理の頻度 (VM トラップ) を減らし、ハードウエアで実行することで、効率を上げることができます。これに加えて、メモリのフットプリントも減らすことができますので、リソース制御もより効率的に行うことができるほか、特定の I/O デバイスの割り当てもより安全に行うことができるようになっています。

Dom0

Xen 環境で使用される用語で、仮想マシンを意味します。ホスト側のオペレーティングシステムは実際には仮想マシンで、特権ドメイン下で動作するものであるため、これを Dom0 と呼んでいます。ホスト内でのその他の仮想マシンは非特権ドメイン下で動作するものであることから、これらは DomU と呼びます。

仮想マシンの作成ウイザード

YaST 内と仮想マシンマネージャ内に用意されているソフトウエアプログラムで、仮想マシンを作成するための手順を示すグラフィカルなインターフェイスを提供する仕組みです。テキストモードで仮想マシンを作成したい場合は、 virt-install コマンドを利用します。

ホスト環境

ホストコンピュータの環境とやり取りを行うことのできる、デスクトップもしくはコマンドライン環境を意味します。コマンドライン環境のほか、 GNOME や IceWM などのグラフィカルなデスクトップ環境を使用することもできます。ホスト環境は仮想マシンの特殊形態を実行する仕組みで、仮想マシンの制御や管理などの権限が与えられています。一般的には、 Dom0 や特権ドメイン、ホストオペレーティングシステムなどと呼ぶこともあります。

ハイパーバイザ

仮想マシンと物理的なコンピュータハードウエアとの間を、低レベルな (ハードウエアに近い) 範囲で仲介するソフトウエアを意味します。

準仮想化フレームバッファ

準仮想化モードで仮想マシン内の表示に関わるフレームデータを含む、メモリバッファ内のビデオディスプレイの出力デバイスです。

VirtFS

VirtFS は新しい準仮想化ファイルシステムインターフェイスで、 KVM 環境でパススルー技術を改善するために作られた仕組みです。 VirtIO フレームワークをベースにしています。

CPU

CPU キャッピング

CPU キャッピングの機能は、物理的な CPU 性能を仮想マシンに提供する際に、割合を指定して制限を行うための機能を意味します。

CPU オーバーコミット

仮想 CPU のオーバーコミットとは、物理システム内に存在する CPU 数より多くの仮想 CPU を、仮想マシンに割り当てることのできる機能を意味します。この機能はシステムの全体性能を強化する目的では利用できませんが、テスト目的には有用です。

CPU ホットプラグ

CPU ホットプラグとは、システムのシャットダウンを行うことなく、 CPU の置換や追加、抜去などを行う機能を意味します。

CPU ピニング

CPU ピニングはプロセッサアフィニティとも呼ばれ、特定のプロセスやスレッドに対して、特定の 1 台もしくは複数台の中央処理装置 (CPU) を使用するようにする仕組みを意味します。

ネットワーク

ブリッジ型ネットワーク

仮想マシンを外部ネットワークに存在するものとして切り出すタイプのネットワーク接続で、ホストコンピュータとは切り離され、無関係な存在として位置づけられるものを意味します。

空ブリッジ

ホスト側が提供する物理的なネットワークデバイスや、仮想ネットワークデバイスを持たないタイプのネットワークブリッジで、これにより他の仮想マシンとの通信はできるものの、ホストや外部ネットワークとは通信のできない環境になるものを意味します。

外部ネットワーク

ホストが接続されているローカルネットワーク環境の外側のネットワークを意味します。

内部ネットワーク

仮想マシンの通信相手がホスト環境に限定されたネットワーク設定を意味します。

ローカルブリッジ

仮想ネットワークデバイスが存在するものの、ホスト側の物理的なネットワークデバイスを持たないタイプのネットワークブリッジを意味します。これにより、仮想マシンはホストとの間のほか、ホスト内の他の仮想マシンとも通信を行うことができます。仮想マシンはホストを介して外部と通信することになります。

ネットワークアドレス変換 (Network Address Translation (NAT))

仮想マシンがホストの IP アドレスや MAC アドレスを使用するタイプのネットワーク接続を意味します。

ホスト無しブリッジ

物理的なネットワークデバイスが存在するものの、ホスト側の仮想ネットワークデバイスを持たないタイプのネットワークブリッジを意味します。これにより、仮想マシンは外部ネットワークとの通信を行うことができるものの、ホストとの間は通信を行うことができなくなります。これにより、ホスト環境からは独立した仮想的なネットワーク通信を実現することができます。

従来型ブリッジ

ホスト側が提供する物理的なネットワークデバイスと、仮想ネットワークデバイスの両方を持つタイプのネットワークブリッジを意味します。

ストレージ

AHCI

AHCI は Advanced Host Controller Interface の略で、 Intel* 社が規定したシリアル ATA (SATA) ホストバスアダプタの仕様を意味します。なお、実装固有の箇所は含まない構造です。

ブロックデバイス

CD-ROM ドライブやディスクドライブなど、データをブロックとして管理するタイプのデータストレージデバイスを意味します。パーティションやボリュームなどもブロックデバイスと考えられます。

ファイルベースの仮想ディスク

ディスクイメージファイルとも呼ばれる、ファイルベースの仮想ディスクです。

純粋ディスク

ファイルシステムを介することなく、バイト単位でディスクに直接アクセスするタイプのディスクを意味します。

スパースイメージファイル

ファイルシステム内に指定されたサイズをそのまま予約するのではなく、書き込み時に必要に応じてサイズを拡張するタイプのディスクイメージファイルを意味します。

xvda

準仮想化マシンにおける 1 台目の仮想ディスクを意味する名前です。

略語

ACPI

Advanced Configuration and Power Interface (ACPI) の略で、オペレーティングシステムからのデバイスの設定や電源管理のための統一規格を意味します。

AER

Advanced Error Reporting

AER は PCI Express 仕様で提供されている機能のうちの 1 つで、 PCI でのエラーを報告し、それらのうちのいくつかを修復することのできる仕組みを提供します。

APIC

Advanced Programmable Interrupt Controller (APIC) は割り込みコントローラの一種です。

BDF

Bus (バス):Device (デバイス):Function (機能)

PCI や PCIe のデバイスを簡潔に表現するための表記法です。

CG

Control Groups (コントロールグループ)

リソース (CPU, メモリ, ディスク I/O など) を制限したり測定したり、孤立させたりするための機能を指します。

EDF

Earliest Deadline First

このスケジューラは直感的な重み付き CPU 共有の仕組みで、時間面の保証を行うためのリアルタイムアルゴリズムを意味します。

EPT

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 では、負荷状況にもよりますが、メモリアクセスの遅延が発生します。ただし、ゲストとハイパーバイザでラージページを使用することによって、そのような遅延を効率的に小さくすることができるようになっています。

FLASK

Flux Advanced Security Kernel

Xen は FLASK と呼ばれるセキュリティアーキテクチャを採用していて、同名のモジュールによる強制アクセス制御を実装しています。

HAP

High Assurance Platform

HAP はハードウエア技術とソフトウエア技術の組み合わせで、ワークステーションやネットワークのセキュリティを改善するための仕組みです。

HVM

Hardware Virtual Machine (ハードウエア仮想マシン) の略です (Xen ではこのように呼ばれています) 。

IOMMU

Input/Output Memory Management Unit

IOMMU (AMD* の技術) はメモリ管理ユニット ( MMU ) を意味する技術で、ダイレクトメモリアクセス (DMA) に対応した I/O バスをメインメモリに接続することができるものを指します。

KSM

Kernel Same Page Merging

KSM は、ゲストとホストで同一の内容を持つメモリページを自動的に共有させる仕組みで、 VM ホストサーバ 側で KSM が有効化されていれば、 KVM は KSM を最適に使用することができます。

MMU

Memory Management Unit (メモリ管理ユニット)

CPU 側から要求されたメモリへのアクセスを扱うハードウエアコンポーネントを意味する用語です。仮想アドレスから物理アドレスへの翻訳を行う (仮想メモリ管理と呼びます) ほか、メモリの保護やキャッシュ制御、バス調停などを提供します。古いコンピュータアーキテクチャ (特に 8 ビットシステム) では、バンク切り替えなどと呼ばれていたものです。

PAE

Physical Address Extension (物理アドレス拡張)

32 ビットの x86 オペレーティングシステムでは、 Physical Address Extension (PAE) を利用することで、 4 GB 以上の物理メモリにアクセスすることができるようになっています。 PAE モードでは、ページテーブルエントリ (PTE) は 64 ビット幅になります。

PCID

Process-context identifiers (プロセス-コンテキスト識別子)

これらは、論理プロセッサが複数の線形アドレス空間の情報をキャッシュする機能を意味し、ソフトウエアが異なる線形アドレス空間に切り替えた際にも、キャッシュ情報を維持することができるようにするものです。 INVPCID 命令はきめ細かい TLB (TLB) フラッシュに使用するもので、カーネルにとって有益な仕組みです。

PCIe

Peripheral Component Interconnect Express

PCIe は古い規格である PCI, PCI-X, AGP バス標準を置き換えるために設計された仕組みです。 PCIe は従来よりも高い最大システムバススループットや少ない I/O ピン数、そしてより小さくなった物理フットプリントなど、さまざまな改善が加えられています。これに加えて、より詳細なエラー検出・レポート機構 ( AER ) が用意され、ホットプラグにもネイティブ対応するようになっています。なお、 PCI との後方互換性も維持されています。

PSE, PSE36

Page Size Extended (ページサイズ拡張)

PSE は x86 プロセッサの機能で、従来の 4 KiB サイズよりも大きなページサイズに対応するための仕組みです。 PSE-36 は通常の 10 ビットに加えて 4 ビット分の拡張が行われ、ラージページを指し示すページディレクトリエントリ内で使用されています。これにより、 36 ビットのアドレス空間内でラージページを使用することができるようになっています。

PT

Page Table (ページテーブル)

ページテーブルは、コンピュータのオペレーティングシステム内にある仮想メモリシステムが使用するデータ構造で、仮想アドレス (プロセスごとに個別管理されているアドレス) と物理アドレス (実際のハードウエアアドレス) の対応付けを管理するための仕組みです。

QXL

QXL は仮想環境向けの Cirrus VGA フレームバッファ (8M) です。

RVI / NPT

Rapid Virtualization Indexing, Nested Page Tables

AMD の第 2 世代仮想化ハードウエア支援技術で、プロセッサのメモリ管理ユニット ( MMU ) 向けの仕組みです。

SATA

Serial ATA (シリアル ATA)

SATA はコンピュータバスインターフェイスの一種で、ホストバスアダプタからハードディスクや光学ドライブなど、ストレージデバイスなどに接続するためのインターフェイスです。

Seccomp2 ベースのサンドボックス

不正な動作を防ぐための追加保護として、特定のシステムコールのみを許可するようなサンドボックス環境を意味します。

SMEP

Supervisor Mode Execution Protection

Xen ハイパーバイザで提供される仕組みで、ユーザモードページの実行を阻止するための仕組みです。これにより、アプリケーションからハイパーバイザへの攻撃の多くを困難にします。

SPICE

Simple Protocol for Independent Computing Environments の略です。

SXP

SXP ファイルは Xen の設定ファイルを意味します。

TCG

Tiny Code Generator

インストラクションを CPU で直接実行するのではなく、擬似的に実行することを意味します。

THP

Transparent Huge Pages (透過型ヒュージページ)

CPU が既定の 4KB より大きなページを利用してメモリにアクセスする機能を意味します。これにより、メモリの使用率と CPU キャッシュの使用率を削減することができます。 VM ホストサーバ 側で THP が有効化されていれば、 KVM は THP を (madvise と日和見的な方式で) 最適に使用することができます。

TLB

Translation Lookaside Buffer

TLB はメモリ管理ハードウエアが仮想アドレスへの変換速度を上げるためのキャッシュです。現在ではデスクトップやノート PC 、サーバのいずれのプロセッサでも、 TLB を利用して仮想アドレスから物理アドレス空間への変換を行っています。また、仮想メモリを使用するほぼ全てのハードウエア内に搭載されている仕組みでもあります。

VCPU

仮想化された CPU の状態を含む、スケジュール対象の実体を意味します。

VDI

Virtual Desktop Infrastructure (仮想デスクトップインフラストラクチャ)

VFIO

カーネルバージョン 3.6 およびそれ以降で導入された仕組みで、ユーザスペースから PCI デバイスにアクセスするための新しい方式を提供するものです。

VHS

Virtualization Host Server (仮想化ホストサーバ)

VMCS

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 を使用することができます。

VMDq

Virtual Machine Device Queue (仮想マシンデバイスキュー)

ハードウエアレベルで複数の VM に対応できるマルチキュー型のネットワークアダプタにより、各パケットキューをそれぞれの VM (VM の IP アドレス) に割り当てることができるようになります。

VMM

Virtual Machine Monitor (Hypervisor) (仮想マシンモニタ (ハイパーバイザ))

プロセッサがハイパーバイザ ( VMM ) に関係するインストラクションやイベントを検出すると、ゲストモードを終了して VMM に戻ることができます。 VMM はネイティブとほとんど変わらない速度でインストラクションやその他のイベントを擬似し、ゲストモードに戻ることができます。ゲストモードからの VMM への遷移、および VMM からゲストモードへの遷移は、ゲスト側の実行が完全に停止することになるため、大きな遅延のある操作となります。

VM ルート

VMMVMX ルート操作内で動作し、ゲスト側のソフトウエアは VMX 非ルート操作内で動作します。 VMX ルート操作と VMX 非ルート操作との間の遷移は、 VMX 遷移と呼ばれます。

VMX

Virtual Machine eXtensions (仮想マシン拡張)

VPID

TLB のソフトウエア制御に対する新しいサポートです (小さな VMM の開発努力によって、 TLB の性能を改善するためのものです) 。

VT-d

Virtualization Technology for Directed I/O

Intel* 向けの IOMMU です。

vTPM

Trusted Computing を介して、ゲスト向けのセキュリティ機能を提供するコンポーネントです。

このページを印刷