第4章 ゲストのインストール

目次

4.1. Virtual Machine Manager を利用したゲストのインストール
4.2. vm-install を使用したコマンドラインからのインストール
4.3. 高度なゲストインストール方法

VM ゲスト はオペレーティングシステムを含むイメージファイルとデータファイル、 そして VM ゲスト の仮想ハードウエア資源を定義する設定ファイルから構成されて います。 VM ゲスト は VM ホストサーバ 上で動作し、制御されます。

4.1. Virtual Machine Manager を利用したゲストのインストール

Virtual Machine Manager 内で 新規 を押すと、 vm-install を起動することができます。このプログラムはグラフィカルな 仮想マシンの作成ウイザード を提供し、ゲストのインストール 作業をガイドします。なお、 vm-install はコマンドラインから 直接起動することができるほか、 YaST から 仮想化+仮想マシンの作成 を選択することでも起動する ができます。

  1. まずは上述の通りに 仮想マシンの作成ウイザード を起動し、 進む を押します。

  2. オペレーティングシステムをインストールするか、もしくはすでに存在する イメージやディスクからインストールを行なうかを選択します。

  3. 一覧からインストールを行ないたいオペレーティングシステムを選択します。 それぞれの項目を選択すると、選択したオペレーティングシステム向けの 既定値が設定されます。

  4. 概要 ページでは、選択したオペレーティングシステムでの 既定の設定が表示されます。それぞれのヘッドラインを選択することで、設定を 編集することができます。システムのインストールを選択すると、イメージの 指定や起動に利用する CD/DVD デバイスの選択、もしくは PXE 起動のいずれかを 選択することになります。 OK を押して設定を完了すると、 ゲストシステムのインストール作業が始まります。

4.1.1. 既定の設定に対するカスタマイズ

仮想マシンの作成ウイザードでは、概要ページからヘッドラインを押すことで、 各種の設定を行なうことができます:

4.1.1.1. 仮想マシンの名前

ゲストに対してそれぞれ 名前 を設定します。また、必要で あれば 説明 を入力することもできます。 名前 欄には半角の英数字と _-.:+ の各記号を利用することができます。 この項目は VM ホストサーバ 内で唯一のものでなければなりません。この名前はゲストの 設定ファイルを作成する際に使用されるもので、 virsh から ゲストにアクセスする際にも利用します。

4.1.1.2. ハードウエア

この画面ではメモリと CPU の割り当てを変更することができます。なお、 VM ホストサーバ が提供可能な量よりも大きな値を設定する (オーバーコミット) ことは お勧めできません。これはエラーや性能面の問題が発生する可能性があるためです。

このダイアログでは、 PCI デバイス (たとえばネットワークカードなど) を割り当てて、 VM ゲスト で直接使用するように設定することもできます (PCI パススルーと 呼びます) 。 Host Devices+Manage VM Devices を選択して、まずは利用可能なデバイスの一覧を 表示させてください。その後、一覧からデバイスを選択して Add を押すと、 VM ゲスト のデバイス一覧に追加することができます。この場合、デバイス に対して Managed オプションを有効にしておくことをお勧め します。これは、 libvirt に対してドライバとのやりとりを管理させるための オプションです。詳しくは 'managed' と 'unmanaged' の違いについて をお読みください。

[Important]PCI デバイスの共有について

PCI デバイスは、ホストと VM ゲスト の間でも、 VM ゲスト 同士の間でも、 共有することはできません。各デバイスは単一のインスタンス内でのみ使用する ことができます。設定の際は、 PCI デバイスが他の箇所で使われていないかどうか、 ご確認ください。

高度な設定 では、 ACPI や APIC, PAE などをそれぞれ有効/ 無効にすることができます。ここでの設定を既定値から変更することはお勧め できません。また、 virtio を利用した擬似仮想化 I/O の有効化/無効化や、起動時にカーネルを実行するように設定 (Linux のみ) することもできます。

[Important]擬似仮想化 I/O

virtio を有効に設定して擬似仮想化 I/O を利用した場合、作成した すべてのハードディスクが virtio のディスクとして 設定されます。これにより、お使いのオペレーティングシステムに適切なドライバが 存在しない場合は、インストールが失敗することになります。 Windows オペレーティングシステムの場合は、ドライバが提供されていてもエラーに なります。既定ではこの機能は、オペレーティングシステム側に virtio ドライバが存在していることがわかっている 場合にのみ有効になります。

4.1.1.3. 周辺デバイス

このダイアログでは、仮想化に使用するグラフィックハードウエアとキーマップ、 およびサウンドデバイスについて設定を行ないます。グラフィックカードのサポートを 無効にした場合、マシンはネットワークサービス (ssh) やシリアルポートからしか アクセスできなくなります。また、 VM ゲスト におけるサウンドデバイスについては、 SUSE ではサポートしていません。そのため、 Sound の設定は None (無し) に設定しておいてください。

4.1.1.4. ディスク

ディスク: このダイアログでは、仮想ハードディスクと 仮想 CD/DVD ドライブを管理します。なお VM ゲスト には少なくとも 1 台の 仮想ディスクが必要です。既存のものを選択することができるほか、新しく 作成したディスクを設定することもできます。仮想ディスクは、それぞれ以下の タイプから選択することができます:

  • 固定サイズの単一ファイル

  • 必要に応じてサイズを拡張する単一ファイル (スパースイメージ ファイル)

    [Important]スパース (まばらな) イメージファイルを作成する場合のディスク領域について

    スパース (実際に使用しているディスク領域よりもファイルサイズのほうが 大きい、ファイル内に実データが点在するファイル) イメージファイルを 作成する場合、それらを作成するパーティションには十分な空き容量が必要 です。 VM ゲスト は VM ホストサーバ のディスク領域を調べるようなことは しませんので、ホスト側のパーティションでディスク領域が不足すると、 ゲストシステム側では書き込みエラーが発生し、データの損失が発生する ことになります。

  • ディスク全体やパーティション、ネットワークボリュームを指し示す ブロックデバイス

最大限の性能を引き出したい場合は、作成する各仮想ディスクはディスク全体を 使用するか、もしくはパーティション全体を使用してください。これらの作成が 難しい場合は、スパースイメージファイルを使用しない固定サイズのファイルを 作成してください。スパースイメージファイルを使用した仮想ディスクの場合、 ディスク領域の柔軟性を増すことができますが、インストールやディスクの アクセス速度が遅くなります。

[Tip]ライブマイグレーション

シャットダウンを行なうことなく、お使いの VM ゲスト を他のホストに移行 (ライブマイグレーション) したい場合は、両方のホストからアクセスできる ようにするため、すべてのディスクをネットワーク上 (ネットワークファイル システム、または iSCSI ボリューム) に存在させなければなりません。

既定では、単一のスパース形式の raw ディスクイメージファイルを、 /var/lib/kvm/images/VM 名/ 内に作成します。ここで VM 名 には、仮想マシンの 名前が入ります。

[Note]サポートするディスク形式

現時点では SUSE は、 raw, qed, qcow2 の各形式のみをサポートします。

手順4.1 仮想ディスクの作成

  1. ハードディスク を押します。

  2. ソース に入力します。ファイルベースのディスクを作成 したい場合は、パスを直接入力するか、もしくは 新規 を押します。デバイスからディスクを作成したい場合は、デバイスノードを 入力します。たとえば /dev/disk/by-path/path のようになります。なお、 /dev/sdb/dev/sda5 のように、デバイスパスを利用した名前は 指定しないことを強くお勧めします。これは、これらの名前が今後変わって しまう (ディスクの追加や BIOS 内でのディスク順序変更などにより) 可能性が あるためです。

  3. 次に プロトコル を指定し、 raw ディスクを作成する場合は、ファイルベースの場合 file を、デバイスベースの場合 phy を選択します。これ以外にも、 qcow2qed ディスクも選択する ことができます。

  4. 次に サイズ を GB 単位で入力します。このオプションは、 ファイルベースのディスクを作成する場合にのみ表示されます。

  5. スパースイメージファイル を作成するかどうかを選択 します。このオプションは、ファイルベースのディスクを作成する場合にのみ 表示されます。また、ディスクへの書き込みアクセスを禁止したい場合は、 読み込み専用アクセス を選択します。

DVD や CD-ROM からインストールを行ないたい場合は、利用可能なハードディスクの 一覧内にドライブを追加します。利用可能な光学デバイスのデバイスノードを知りたい 場合は、下記のコマンドを実行します:

hwinfo --cdrom | egrep "(Device File:|Model:)"

実際の (物理的な) DVD や CD-ROM ドライブを指定する代わりに、インストール メディアの ISO イメージを指定することもできます。ただし、 CD-ROM ドライブと ISO イメージは、 1 つのゲストに対して同時にいずれか 1 つのみを使用できます。

CD/DVD-ROM デバイスや ISO イメージを追加するには、下記の手順で行ないます:

  1. CD-ROM を押します。

  2. ソース に値を入力します。デバイスを追加するには、その ノードを指定します。 ISO イメージを追加するには、パスを直接指定するか、 もしくは 参照 を押してファイルブラウザからファイルを 指定してください。

  3. 続いて プロトコル を指定します。 ISO イメージの場合は ファイル を、デバイスの場合は 物理 を選んでください。

ディスクは作成された順序で一覧表示されます。この順序は起動時の順序を示す ものでもありますので、必要であれば 上へ下へ のボタンを利用して順序を入れ替えてください。

4.1.1.5. ネットワークアダプタ

既定では仮想マシンに対して、単一の仮想ネットワークカードが作成されます。 MAC アドレスは乱数を利用して設定されますが、要件にあわせて後から修正する こともできます。また、 VM ホストサーバ 上にブリッジが存在する場合、仮想ネットワーク カードはそのブリッジに接続されますが、存在しない場合は libvirt の既定の仮想ブリッジ (virbr1) に接続されます。

ネットワークアダプタを追加したり編集したりするには、下記の手順で行ないます:

  1. カードを追加するには 新規 を、選択したカードの設定を 編集するには 編集 をそれぞれ押します。

  2. ドロップダウンリストから 種類 を選択します。

    [Note]サポートする仮想ネットワークアダプタの種類

    現時点では、 Novell は 完全仮想化での Realtek 8139完全仮想化での Intel e1000 のほか、 擬似仮想化での QEMU 仮想化 NIC カード (virtio) をサポートしています。

  3. ドロップダウンリストから ソース を選択します。

  4. ランダムに生成する MAC アドレスを割り当てるか、もしくは指定した MAC アドレスを割り当てるかを選択します。

    [Note]MAC アドレスの唯一性について

    手作業で MAC アドレスを指定する場合は、指定する MAC アドレスがお使いの ネットワーク内に存在していないことを確認してください。重複する MAC アドレスを利用してしまうと、特に DHCP 使用時などに問題が発生します。 そのため、各インターフェイスには固定値で 52:54:00:12:34:56 や 52:54:00:11:22:33 のように MAC アドレスを指定せず、ランダムに生成された MAC アドレスを設定することを強くお勧めします。

4.1.1.6. オペレーティングシステムのインストール

このダイアログは、オペレーティングシステムをインストールするように選択 した場合にのみ表示されます。インストールは仮想ディスクから起動して行なう ことができるほか、 CD/DVD デバイスや ISO イメージ、およびネットワーク リソースやネットワーク経由の PXE ブートで起動することができます。この ダイアログでは、起動デバイスの設定を行ないます。

また、このダイアログではオペレーティングシステムが電源を切ったり再起動したり、 クラッシュしたりした場合の VM ゲスト の動作を設定することもできます。 下記のオプションから選択できます。

destroy

通常のクリーンアップ処理を行ないます

restart

新しい VM ゲスト を起動します

preserve

クリーンアップを行なわず、一時データの削除や設定/イメージファイルの 削除などを行ないません

rename-restart

VM ゲスト はクリーンアップされませんが、新しい VM ゲスト を別名で 起動します

coredump-destroy

通常のクリーンアップ処理の前に、マシンのクラッシュコアダンプを 採取します

coredump-restart

通常の再起動処理が行なわれる前に、マシンのクラッシュコアダンプを 採取します

4.2. vm-install を使用したコマンドラインからのインストール

$DISPLAY が設定されていない場合 (たとえばコンソールで作業を 行なっている場合や、 X フォワード機能を利用しない ssh シェルを利用している ような場合) は、 vm-install は VM ゲスト をインストール用に 設定するための、対話型コマンドラインウイザードを提供します。設定作業が 完了すれば、 VNC 経由で接続のできるインストールシステムを開始することが できるようになります。

[Important]インストール時のグラフィカルユーザインターフェイスについて

インストール用に VM ゲスト を起動したあとは、インストールを続行するため、 VNC を利用したグラフィカルコンソールに接続する必要があります。そのため、 VNC ビューアを GUI 環境から起動する必要があります。

グラフィカルな環境にアクセスできる環境をお持ちでなく、テキストコンソール などで作業を行なっている場合は、いったん VM ゲスト の設定を行なったあと、 グラフィカルな環境にアクセスできるようになってからインストールを行なう ようにすることができます。詳しい手順については、 4.2.1項 「インストールを起動しない形での VM ゲスト の設定」 をお読みください。

ウイザードを起動するには、コマンドラインから vm-install と入力します。インストールウイザードでは、多数のパラメータに対して既定値が 設定されています。それぞれ Enter を押して確認を 行なってください。下記に SUSE Linux Enterprise Server 11 のインストールを行なうにあたっての 対話セットアップログを記載します:

例4.1 vm-install を使用したコマンドラインからの対話型セットアップ

~ # vm-install 
Gathering settings...

Please specify the type of operating system that will run within the virtual
machine.  This defines many defaults, and helps decide how to start
paravirtualized operating systems.
Press 'q' or the Escape key to exit.
  1: Novell Open Enterprise Server 2 (Linux)
  2: Novell Open Enterprise Server 2 (NetWare)
  3: Other operating system
  4: PXE
  5: RedHat (other)
  6: RedHat Enterprise Linux 3
  7: RedHat Enterprise Linux 4
  8: RedHat Enterprise Linux 5
  9: SUSE (other)
 10: SUSE Linux Enterprise Desktop 10
 11: SUSE Linux Enterprise Desktop 11
 12: SUSE Linux Enterprise Server 8
 13: SUSE Linux Enterprise Server 9
 14: SUSE Linux Enterprise Server 10
 15: SUSE Linux Enterprise Server 11
 16: Solaris 9 and older
 17: Solaris 10
 18: Windows (other)
 19: Windows (other, x64)
 20: Windows NT
 21: Windows Server 2008
 22: Windows Server 2008 (x64)
 23: Windows Vista, Windows 7
 24: Windows Vista, Windows 7 (x64)
 25: Windows XP, 2000, 2003
 26: Windows XP, 2003 (x64)
 27: openSUSE
 28: openSUSE 11
[15] >

PXE Boot
(Y / N) [N] >  
Please choose a name for the virtual machine.
[sles11] > 

Description > SLES 11 SP1

Specify the amount of memory and number of processors to allocate for the VM.
Initial Memory [512] > 
Maximum Memory [512] > 768
Warning: Setting the maximum memory greater than the initial memory requires
the VM operating system to have a memory balloon driver.
Virtual Processors [2] >

Please specify the type of virtualized graphics hardware.
  1: Cirrus Logic GD5446 VGA
  2: No Graphics Support
  3: VESA VGA
[1] > 

Virtual Disks:
  (None)
Do you want to add another virtual disk?
(Y / N) [Y] > 

Create a virtual disk based on a device (CD or other block device), an existing
image file (ISO), or a new file.  Specify a device by its device node, such as
/dev/cdrom, not its mount point.
What type of virtual disk do you want to add?
  1: CD-ROM or DVD
  2: Floppy
  3: Hard Disk
[3] > 3
Where will the virtual disk physically reside?
[/var/lib/kvm/images/sles11/hda] > 
Size (GB) [4.0] > 8.0
Create a sparse image file for the virtual disk?
(Y / N) [Y] > 

Virtual Disks:
  8.0 GB Hard Disk (file:/var/lib/kvm/images/sles11/hda)
Do you want to add another virtual disk?
(Y / N) [N] > y

Create a virtual disk based on a device (CD or other block device), an existing
image file (ISO), or a new file.  Specify a device by its device node, such as
/dev/cdrom, not its mount point.
What type of virtual disk do you want to add?
  1: CD-ROM or DVD
  2: Floppy
  3: Hard Disk
[3] > 1
Where will the virtual disk physically reside?
[/var/lib/kvm/images/sles11/hdb] > /isos/SLES-11-SP1-CD-i386-GM-CD1.iso

Virtual Disks:
  8.0 GB Hard Disk (file:/var/lib/kvm/images/sles11/hda)
  2.9 GB CD-ROM or DVD (file:/isos/SLES-11-SP1-DVD-x86_64-GM-DVD1.iso)
Do you want to add another virtual disk?
(Y / N) [N] > 

Network Adapters
  (None)
Do you want to add another virtual network adapter?
(Y / N) [Y] > 
What type of virtual network adapter do you want to add?
  1: Fully Virtualized AMD PCnet 32
  2: Fully Virtualized Intel e100
  3: Fully Virtualized Intel e1000
  4: Fully Virtualized NE2000 (ISA Bus)
  5: Fully Virtualized NE2000 (PCI Bus)
  6: Fully Virtualized Realtek 8139
  7: Paravirtualized
[6] > 7

Network Adapters
  Paravirtualized; Randomly generated MAC address
Do you want to add another virtual network adapter?
(Y / N) [N] > 

Preparing to start the installation...

Installing...

なお、パラメータをコマンドラインから指定することもできます。この場合、ウイザードは コマンドラインで指定されていないものについて問い合わせを表示します。 下記では 例4.1「vm-install を使用したコマンドラインからの対話型セットアップ」 で指定した すべてのパラメータについて、存在するコマンドラインスイッチを指定しています。 パラメータの全リストについては、 man 8 vm-install コマンドで 表示されるマニュアルページをお読みください。

例4.2 vm-install コマンドラインスイッチ

vm-install --os-type sles111 --name "sles11_test"2 \
--vcpus 23 --memory 5124 --max-memory 7685 \
--disk /var/lib/kvm/images/sles11/hda,0,disk,w,8000,sparse=1 6 \
--disk /iso/SLES-11-SP1-DVD-x86_64-GM-DVD1.iso,1,cdrom7 \
--nic mac=52:54:00:05:11:11,model=virtio8 \
--graphics cirrus9 --config-dir "/etc/libvirt/qemu"10

1

適切な既定値を設定するため、ゲスト側のオペレーティングシステムを 指定しています。指定可能な値の一覧を表示するには、 vm-install -O コマンドを実行して ください。

2

VM ゲスト の名前を指定しています。ここでの名前はユニークなもので なければなりません。

3

仮想プロセッサ数を指定しています。

4

メモリの初期量を指定しています。

5

メモリの最大量を指定しています。オペレーティングシステム側に 擬似仮想化 virtio-balloon ドライバが必要です。

6

仮想ハードディスクを指定しています。このファイルは /var/lib/kvm/images/sles11/hda に存在しています。 このハードディスクは最初 (0) のハードディスク (disk) として使用されるものです。また、このディスクは 書き込み可能 (w) で、 8GB (8000) のサイズです。さらに、 VM ホストサーバ 上のファイルはスパースファイル (sparse=1) です。

7

ISO イメージを CD-ROM ドライブとして、 2 番目の (1) ブロックデバイスに割り当てています。

8

MAC アドレスを 52:54:00:05:11:11 として、 擬似仮想化ネットワークデバイスを設定しています。

9

グラフィックカードを指定しています。

10

仮想マシンの XML 設定ファイルを保存するためのディレクトリを指定しています。 なお、既定のディレクトリ /etc/libvirt/qemu を利用する ことを強くお勧めします。

4.2.1. インストールを起動しない形での VM ゲスト の設定

vm-install コマンドには --no-install というパラメータがあります。このパラメータを指定すると VM ゲスト を定義する XML 設定ファイルが作成されるものの、ゲストが自動では起動しなくなります。 このパラメータは、 vm-install をウイザードモードで起動する か、もしくはコマンドラインですべてのパラメータを指定するかに関わらず 利用することができます。

[Warning]仮想ディスクの作成について

vm-install を実行する際、 --no-install パラメータを指定すると、仮想ディスクの作成が行なわれなくなります。 そのため、 qemu-imgvirsh を利用して、後からディスクを作成しなければならなくなります。

VM ゲスト に対する XML 設定ファイルを作成したあとは、 Virtual Machine Manager や virsh 側で認識されるようにするため、 登録 を行なう必要があります。登録は下記のようにして行ないます:

virsh -c qemu:///system define XML ファイルへのパス

4.3. 高度なゲストインストール方法

この章では、通常の方法以外でのインストール手順、たとえアドオンパッケージを 追加したりするための手順について説明しています。

4.3.1. インストール時にアドオン製品を含める方法

openSUSE や SUSE Linux Enterprise Server などのオペレーティングシステムの場合、インストール作業の途中で アドオン製品を含めるようにすることができます。アドオン製品のインストール元が ネットワーク上に存在する場合、 VM ゲスト について特別な設定を行なう必要は ありません。 CD/DVD や ISO イメージで提供されている場合は、 VM ゲスト の インストールシステムに対して、標準のインストールイメージとアドオン製品の 両方のイメージを指定する必要があります。

この場合は、 1 つめとして標準のインストールイメージを、 2 つめとして 実際の CD/DVD-ROM ドライブやアドオンのイメージを指定してください。これは、 最初に設定したイメージやデバイスが起動用に使用されるためです。 openSUSE や SUSE Linux Enterprise Server をインストールする場合、 /dev/sr0 に標準のインストールイメージを、 /dev/sr1 にアドオン製品をそれぞれ設定してください。


openSUSE KVM を利用した仮想化 13.1