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

6 仮想化コンポーネントのインストール Edit source

6.1 概要 Edit source

1 つまたは複数のゲストシステム (VM ゲスト) を実行する仮想化サーバ (VM ホストサーバ) を動作させるには、サーバ内に仮想化コンポーネントをインストールする必要があります。インストールすべきコンポーネントは、利用したい仮想化技術によって異なります。

6.2 仮想化コンポーネントのインストール Edit source

VM ホストサーバ を実行するのに必要な仮想化ツールをインストールするには、下記のいずれかの方式をとることができます:

  • VM ホストサーバ 側での openSUSE Leap のインストール時に、システムの役割を選択する方式

  • 既にインストール済みで動作中の openSUSE Leap において、 YaST 仮想化 モジュールを実行する方式

  • 既にインストール済みで動作中の openSUSE Leap において、特定のパターンを選択してインストールする方式

6.2.1 システムの役割の指定 Edit source

VM ホストサーバ 側での openSUSE Leap のインストールの際、仮想化に必要なツール類全てをインストールするよう選択することができます。具体的にはインストールの際、 システムの役割 画面でそれを行います。

システムの役割を選択する画面
図 6.1: システムの役割を選択する画面

ここで KVM 仮想化ホスト もしくは Xen 仮想化ホスト のいずれかの役割を選択してください。これで必要なソフトウエアが選択され、 openSUSE Leap のインストールと共に必要なツールもインストールされるようになります。

ヒント
ヒント

どちらの仮想化ホストを選択した場合でも、 /var/lib/libvirt にマウントされる専用のパーティションが作成されるほか、 firewalld と Kdump サービスの有効化がそれぞれ設定されます。

6.2.2 YaST 仮想化 モジュールの実行 Edit source

VM ホストサーバ 側での openSUSE Leap のインストール指定にもよりますが、通常はお使いのシステム内に仮想化ツールは全くインストールされません。必要なツールは YaST 仮想化 モジュールでハイパーバイザを選択することによって、インストールを行うことができます。

ヒント
ヒント

なお、 YaST 仮想化 モジュールは yast2-vm パッケージ内に含まれています。仮想化コンポーネントをインストールするにあたっては、あらかじめ VM ホストサーバ 内に本パッケージをインストールしておいてください。

手順 6.1: KVM 環境のインストール

KVM 仮想化環境や関連ツールをインストールするには、下記の手順を実施します:

  1. YaST を起動し、 仮想化 › ハイパーバイザとツールのインストール を選択します。

  2. KVM サーバ を選択すると、最小限の QEMU ツールと KVM 環境をインストールすることができます。 libvirt ベースの管理スタックも必要とする場合は、 KVM ツール も選択してください。選択が終わったら、 了解 を押します。

  3. YaST でのインストールを行った場合は、 VM ホストサーバ の設定の際、自動的にブリッジを設定するかどうかの確認を表示します。 VM ゲスト に対して適切なネットワーク環境を提供するのに必要な設定であるため、通常は はい を押して進めてください。ネットワークが不要である場合は、 いいえ を押してもかまいません。

  4. インストールが終わったら、そのまま VM ゲスト の設定を開始することができます。 VM ホストサーバ の再起動は不要です。

手順 6.2: Xen 環境のインストール

Xen 仮想化環境をインストールするには、下記の手順を実施します:

  1. YaST を起動し、 仮想化 › ハイパーバイザとツールのインストール を選択します。

  2. Xen サーバ を選択すると、最小限の Xen 環境をインストールすることができます。 libvirt ベースの管理スタックも必要とする場合は、 Xen ツール も選択してください。選択が終わったら、 了解 を押します。

  3. YaST でのインストールを行った場合は、 VM ホストサーバ の設定の際、自動的にブリッジを設定するかどうかの確認を表示します。 VM ゲスト に対して適切なネットワーク環境を提供するのに必要な設定であるため、通常は はい を押して進めてください。ネットワークが不要である場合は、 いいえ を押してもかまいません。

  4. インストールが終わったらシステムを再起動します。起動時に Xen カーネル を選択してください。

    ヒント
    ヒント: 既定の起動カーネルについて

    全ての機能が期待通りに動作することを確認したら、 YaST を利用して既定で起動するカーネルを変更し、 Xen を有効化したカーネルを使用するようにしてください。既定のカーネルを変更する方法については、 12.3項 「YaST によるブートローダの設定」 をお読みください。

6.2.3 特定のインストールパターンの選択 Edit source

openSUSE Leap のソフトウエアリポジトリでは、関連するソフトウエアパッケージをまとめて インストールパターン という形で提供しています。動作中の openSUSE Leap でこれらのパターンをインストールすることで、特定の仮想化に必要なコンポーネントをまとめてインストールすることができます。パターンをインストールするには zypper コマンドを下記のように入力して実行します:

zypper install -t pattern パターン名

KVM 環境向けには下記のようなパターンが用意されています:

kvm_server

KVM および QEMU を利用するための基本的な環境をインストールします。

kvm_tools

KVM 環境で VM ゲスト を管理したり監視したりするための libvirt ツールをインストールします。

Xen 環境向けには下記のようなパターンが用意されています:

xen_server

基本的な Xen VM ホストサーバ をインストールします。

xen_tools

Xen 環境で VM ゲスト を管理したり監視したりするための libvirt ツールをインストールします。

6.3 KVM での入れ子型仮想化 (nested virtualization) の有効化 Edit source

重要
重要: 技術プレビューである件について

KVM の入れ子型仮想化は現在技術プレビューの段階にあります。そのため、テスト目的にのみ使用されるべきものであり、サポート対象にも入っておりません。

入れ子型のゲストとは、 KVM ゲスト内で KVM のホストを動作させて、そのホスト内でさらに KVM ゲストを動作させることを指します。入れ子型の仮想化を説明するにあたっては、下記のような仮想化レイヤを使用します:

L0

KVM を動作させる物理マシンを意味します。

L1

L0 内で動作する (1 段階目の) 仮想マシンを意味します。この中ではさらに KVM を動作させますが、これを ゲストハイパーバイザ と呼びます。

L2

L1 内で動作する (2 段階目の) 仮想マシンを意味します。これを 入れ子ゲスト と呼びます。

入れ子型の仮想化を使用することで様々なメリットを受けることができます。たとえば下記のような用途が考えられます:

  • クラウド環境で必要な仮想化ソリューションを動作させ、その中に必要な仮想マシンを配置することができるようになります。

  • ハイパーバイザ自身のライブマイグレーションを行うことができるようになります。もちろんその中のゲスト (仮想マシン) も一括で移行することができます。

    注記
    注記

    入れ子型の仮想化を行った仮想マシンの場合、ライブマイグレーションには対応していません。

  • ソフトウエアの開発やテストにも使用することができます。

入れ子型の仮想化を有効化するには、まず今読み込まれているモジュールをいったん解除したあと、 nested KVM モジュールパラメータを指定して再読み込みを行う必要があります:

  • Intel CPU の場合、下記のように入力して実行します:

    > sudo modprobe -r kvm_intel && modprobe kvm_intel nested=1
  • AMD CPU の場合は、下記のように入力して実行します:

    > sudo modprobe -r kvm_amd && modprobe kvm_amd nested=1

入れ子型の仮想化を恒久的に使用したい場合は、 /etc/modprobe.d/kvm_*.conf ファイルを作成して、その中に nested KVM モジュールパラメータを指定してください:

  • Intel CPU の場合は、 /etc/modprobe.d/kvm_intel.conf ファイルを作成して、下記のような行を記述します:

    options kvm_intel nested=1
  • AMD CPU の場合は、 /etc/modprobe.d/kvm_amd.conf ファイルを作成して、下記のような行を記述します:

    options kvm_amd nested=1

L0 ホストが入れ子型の仮想化に対応していれば、 L1 ゲストに下記のいずれかの修正を加えることで、 L1 内で仮想化ができるようになります:

  • QEMU のコマンドラインオプションに -cpu host を追加します。

  • QEMU のコマンドラインオプションの -cpu 以下に、 vmx (Intel CPU の場合) もしくは svm (AMD CPU の場合) を追加します。これにより、仮想 CPU 内で仮想化ができるようになります。

6.3.1 VMware ESX のゲストハイパーバイザとしての使用 Edit source

KVM ハイパーバイザ内で入れ子型の VMware ESX ハイパーバイザを動作させると、ネットワークの接続が不安定になる事象が発生します。この問題は特に、 KVM ゲストとハイパーバイザの間、もしくは KVM ゲストと外部ネットワークとの間で発生します。これは KVM ゲストの設定で、下記のような既定の CPU 設定が存在する場合に生じる問題です:

<cpu mode='host-model' check='partial'/>

この問題を解決するには、 CPU の設定を下記のように変更してください:

[...]
<cpu mode='host-passthrough' check='none'>
 <cache mode='passthrough'/>
</cpu>
[...]
このページを印刷