CentOS7.1にKVMハイパーバイザーを構築してoVirtで管理してみる Part.4

# 全体のアウトライン
[Part.1 KVM及び、oVirtの構築](http://qiita.com/ine1127/items/1bc2f2ff12f38e19ba9a)
[Part.2 oVirtの初期設定](http://qiita.com/ine1127/items/942ddd57b514f10e5127)
[Part.3 仮想マシンを作成する(Linux)](http://qiita.com/ine1127/items/305fe44732f2e2d907da)
**[Part.4 仮想マシンの作成(Windows)](http://qiita.com/ine1127/items/33044dd39475f96c3a79)**
[おまけ](http://qiita.com/ine1127/items/baa750a6739cb310be6d)

<br />

# 本章のアウトライン
* パッケージのインストール
* virtio-winのイメージ作成
* Windows仮想マシンを作成
* 仮想マシンにWindowsイメージをインストール
* ovirt-guest-toolsの適用
* Windowsインストール時にvirtio-winを使わずにovirt-guest-tools-isoパッケージだけでドライバーを適用する方法

<br />

# 仮想マシンを作成する(Windows)

途中まではPart.3と同様の手順を踏みます。
「イメージ作成」～「空の仮想マシンを作成」と、「コンソール接続をする為のビューワーを導入する」の手順は同じです。
ただし、oVirtでWindowsを動かす場合、新たにパッケージが必要になります。

# パッケージのインストール

必要なパッケージは "virtio-win" と "ovirt-guest-tools" です。
yumでインストールします。

```bash
$ yum install virtio-win ovirt-guest-tools
```

virtio-win は /usr/share/virtio-win というフォルダが作成され、そこにファイルが置かれます。

```bash
$ ls /usr/share/virtio-win/
drivers                virtio-win-0.1.96_amd64.vfd  virtio-win_amd64.vfd
guest-agent            virtio-win-0.1.96_x86.vfd    virtio-win_x86.vfd
virtio-win-0.1.96.iso  virtio-win.iso
```

この中にある、拡張子 `.vfd` のファイルが鍵になってきます。
これは Virtual Floppy Disk の略称ですが、これには、Windows OSを動かすために必要なドライバが格納されています。
KVMはLinuxで動いているため、Windowsのドライバが備わっていません。
その為インストールしようとしてもそもそもディスクを読み込むためのドライバが読み込まれずにインストールできなかったり、NICのドライバが読み込まれなかったりします。
KVMでWindowsを動作させるために読み込ませるドライバとして提供されているのが、この virtio-win パッケージです。

# virtio-winのイメージ作成

このvirtio-winも、一旦イメージを作成します。

```bash
engine-iso-uploader -i ISO_DOMAIN upload virtio-win_amd64.vfd
```

64bitか32bitかはインストールするOSによって決めてください。

# Windows仮想マシンを作成

ではWindowsをインストールしてみましょう。
今回は適当に試用版のWindows Server 2008 R2のisoを引っ張ってきてイメージを作成しました。

方法はLinuxと同じで、まずは[新規仮想マシン]をクリックします。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/00ea50f1-83aa-1379-abc7-75a7e92a0c7e.png)

[オペレーティングシステム]は[Windows 2008 R2 x64]を選択します。
名前は[WinSV2k8r2x64]とします。
NICは[ovirtmgmt/ovirtmgmt]を忘れずに。

左のメニューから[システム]をクリックします。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/d71a1293-d1db-5c54-f1a4-76c0171ad87b.png)

メモリは2GB
CPUは2に設定し、Time-zoneも GMT+09:00 を選択します。
これで[OK]をクリックします。

仮想ディスクはWindowsなのでとりあえず100GBにしておきます。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/e3fb03d3-4e3f-f58b-70a2-8de723161370.png)

[OK]をクリックします。

仮想マシンが作成されました。

# 仮想マシンにWindowsイメージをインストール

では、[1回実行]をクリックします。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/e76d8c27-e054-786e-6cb4-00e337f01dbc.png)

ブートオプションで[フロッピー]にチェックを入れます。
チェックを入れると[virtio-win_amd64.vfd]が選択出来るはずなので選択します。
[CD/DVD]にはWindowsのイメージを選択します。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/be1070c2-fe5a-c651-a001-8157c3174397.png)

[OK]をクリックします。

ホストが上がってきます。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/abd83e35-97f2-154d-68a7-f22b9edc1c65.png)


コンソールで確認しましょう。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/c725f6fd-615d-92da-12d0-8ed6623f8fad.png)

Windowsのインストール画面が表示されます。
このまま[次へ]をクリックします。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/78518c98-8d98-28c2-2e19-223ab1c4ffff.png)

[今すぐインストール]をクリックしましょう。
インストールが始まります。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/b59f6964-dc22-b2e3-c7d0-79a1f3112bd7.png)

インストールするOSを選択します。
今回はStandardを選択し、[次へ]をクリックします。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/0e4ea432-087e-e66a-97d3-f3954e61a0fe.png)

[同意します]にチェックを入れて[次へ]をクリックします。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/67289a41-9753-202d-f352-0ca5d4074f41.png)

[新規インストール(カスタム)]をクリックします。

すると、本来ならばディスクが表示されるべきところに何も表示されません。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/0d1f72e0-b156-b0e5-1596-0ae4adef1b44.png)

このままではインストール出来ないので、[ドライバの読み込み]をクリックします。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/cd444bea-0a7b-c0fd-dbff-c00cfcc76ab2.png)

[ドライバーの読み込み]ダイアログが表示されるので、[参照]をクリックします。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/a4c1b804-3728-62b7-b689-730c9292d2f5.png)

フロッピーディスクを開くと、Windows OSのバージョンが表示されるので、インストールするOSに合わせたフォルダを選択して[OK]をクリックします。
今回はWindows Server 2008なので、[Win2008]を選択します。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/006a224a-28f5-2e46-c3da-47cbc8ec18de.png)

使用できるドライバが表示されるので、全部選択し、[次へ]をクリックします。
私はGPUがインストールできませんでした。

ともあれ、他は上手くインストールできたようで、ディスクの読み込みがされました。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/b091f51e-c83e-32e9-06d2-0dc606c3ddd8.png)

ディスクを選択し[次へ]をクリックします。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/127bc518-3113-f871-10f5-8ff0dafe9f80.png)

インストールが開始されます。
暫く待ちましょう。

いつの間にか終わってたりします。
パスワードがない状態でログインしに行きます。
パスワードを変更して、Administratorでログインしましょう。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/336a3521-6e35-699e-8f21-7e769c34a307.png)

ログインが出来ます。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/148bf23d-727a-17df-e75a-b38844e6e22e.png)

# ovirt-guest-toolsの適用

ログイン後ですが、`ovirt-guest-tools-iso` なるものをWindowsにインストールし、I/Oの最適化をします。
正確に言えば、**Windowsを準仮想化させるツール**になります。
VMware製品の VMware-Toolsと同じようなツールだと思ってください。

再度ホストにログインし、yumで引っ張ってきます。

```bash
$ yum install ovirt-guest-tools-iso
```

すると、`/usr/share` ディレクトリの下に `ovirt-guest-tools-iso` というフォルダができます。
覗いてみるとこんな感じ

```bash
$ ls -la /usr/share/ovirt-guest-tools-iso
合計 105456
drwxr-xr-x    2 root root        67  5月 27 22:08 .
drwxr-xr-x. 180 root root      8192  5月 27 22:08 ..
-rw-r--r--    1 root root 107974656 12月  1 21:28 oVirt-toolsSetup_3.5_7.iso
lrwxrwxrwx    1 root root        59  5月 27 22:08 ovirt-tools-setup.iso -> /usr/share/ovirt-guest-tools-iso/oVirt-toolsSetup_3.5_7.iso
```

このisoからイメージを作成します。

```bash
$ ovirt-iso-uploader -i ISO_DOMAIN upload ovirt-tools-setup.iso
```

イメージが作成できたら、oVirtの画面を開いてください。
Windowsに読み込ませているCDイメージを変更させます。
Windowsを選択して[CD/DVDを変更]をクリックします。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/25e06cbb-d84e-ff1c-f89f-13d6d668cbdb.png)

「CD/DVDを変更」ウィンドウが表示されるので、ここから[ovirt-guest-tools-3.5_5.iso]を選択し、[OK]をクリックしてください。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/d5689e2f-e300-6b03-4325-b3aa1ed9c298.png)

Windowsのコンソールを開きましょう。
CDが読み込まれたことを知らせるウィンドウが表示されているはずです。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/436b971a-ce26-a829-8a8f-653518ca8cd5.png)

フォルダを開き、中身を確認してみます。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/2d98b727-a48e-0572-b26b-18f02ac232dd.png)

色々フォルダが見えると思います。
この中にある「ovirt-guest-tools-setup」を実行します。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/cd1182e2-4e68-327a-3ff2-c02ed9bdc565.png)

インストーラが開始されます。
このまま [ Next > ] で次へ行きましょう。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/333d8b5e-c522-397a-b096-3f88e0371c8f.png)

ライセンス条項が表示されます。
良く読んで [I Agree] をクリックします。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/727b9398-addc-9cb4-c8a9-016f26b1ddd9.png)

インストールが始まるのでそのまま待ちましょう。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/3e66b3cc-177d-6306-1423-de80eccf6692.png)

以下の画面が表示されます。
インストールした気もしますが、とりあえず全部インストールしてしまいましょう。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/1efb9439-24c6-583d-8b21-88783b6cace7.png)

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/243c4257-8156-e0bf-f5f0-31725a6d9d55.png)

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/746da671-ff86-8b35-052a-718323127cf8.png)

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/bb634d39-e958-8f97-04cc-306e11be6048.png)



インストールが完了するとロックされます。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/e7d4e49b-82be-8d97-9b80-c6e0e23cd55c.png)

解除してログインしましょう。

なんか解像度が変わりました。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/ff349bde-8b65-fc94-4fca-0d9412550324.png)

[Finish]をクリックして、全部のウィンドウを閉じてください。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/0cf79d8f-e361-10fd-c0c6-c873bc8aec9e.png)

再起動を求められます。
再起動してください。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/ecea1a0f-b14a-6f5b-b8b6-045df0234350.png)

再度立ち上がってきます。
この時点で解像度が良くなっています。
そして、この時点でもう一つ改善されたところがあります。
それは、マウスの切り替えです。
再起動するまでは、コンソールをクリックするとマウスがコンソール画面に入ってしまい、コンソールからマウスを出す時は[Shift] + [F12]をクリックしなければいけなかったのですが、それをする必要がなくなっています。
VMware Toolsを適用した仮想マシンのようになっています。

では、ログインしてみます。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/0e9220db-dfca-06b5-2004-c95756b44933.png)

画像だと変わっていないように見えますが、パフォーマンスが段違いに良くなっています。

# Windowsインストール時にvirtio-winを使わずにovirt-guest-tools-isoパッケージだけでドライバーを適用する方法

virtio-winがなくても、ovirt-guest-tools-iso だけでもWindowsは動かせます。
私は知りませんでしたが、方法が分かったので記載します。
最初からこっちでやるんだった・・・。

ovirt-tools-setup.isoをISO_DOMAINにアップロードしている事が前提です。

適当に空の仮想マシンを作ってください。
作ったら[1回実行]してください。
WindowsのOSのみ指定します。
この際、vfdは指定しません。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/fff47ed1-9928-8517-6891-1219c4ab8054.png)

起動したらコンソールから適当に進めてください。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/3da0ba7d-c632-1918-1a66-22b195fd22d0.png)

インストールの画面まで進めます。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/58870623-de55-442a-e5b4-338ec5a1ab16.png)

例によってディスクは表示されません。
ここで仮想マシンのイメージを入れ替えます。
oVirtに移動します。

[CD/DVDを変更]という項目があるので、ここをクリックします。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/3827a077-da7c-4b56-2e05-92b65a511b81.png)

[ovirt-guest-tools-3.5_5.iso]を選択します。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/db96039a-35f2-6979-8ad7-c9890e9677cc.png)

[OK]をクリックします。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/303227af-9ec4-8f92-6181-180ed5e374a4.png)

Windowsのコンソールに戻り、[ドライバーの読み込み(L)]をクリックします。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/1a8ba8cb-e1f0-9d7e-7045-3ee4768970cd.png)

「ドライバーの読み込み」ウィンドウが表示されるので、ここから[参照(R)]をクリックします。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/01b40ecc-c974-4ead-0cc5-17f4bffd856f.png)

「フォルダーの参照」ウィンドウが表示されます。
ドライバーは[CD ドライブ (D) CDROM]内にあるので、クリックして展開してください。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/59de5002-d398-9f4e-97e6-ad237f76e554.png)

ドライバーはQXLとVirtIOが選択できます。
今回はvfdを使った時と同じVirtIOにしておきます。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/105d81bf-a69f-fbdd-f2f0-fcb759bbfe7d.png)

クリックするとOS名のディレクトリが表示され、その下にドライバーが格納されているディレクトリがあるので、該当するディレクトリを選択し、[OK]をクリックしてください。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/1f9fdf2c-c910-3a50-b0a0-03232884de96.png)

ドライバーが表示されます。
内訳はこんな感じです。

* Red Hat VirtIO Ethernet Adapter
* Red Hat VirtIO SCSI controller
* Red Hat VirtIO SCSI pass-through controller
* VirtIO Balloon Driver
* VirtIO-Serial Driver

全部選択して[次へ(N)]をクリックしましょう。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/ab6ed339-fc3f-0d12-4eb8-8d0763399b1b.png)

ドライバーのインストールが終わるまで待ちましょう。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/380beeff-7891-a4d7-6afd-2c75a8b17012.png)

インストールが終わるとディスクが表示されます。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/63c8bfb0-a962-ca04-5c24-5c54d0b7fbf3.png)

しかしこのままではWindowsのインストールはできません。
何故なら今仮想マシンが読み込んでいるイメージは「ovirt-guest-tools-3.5_5.iso」で、Windowsのイメージでは無いためです。
その為、再度[CD/DVDを変更]からイメージをWindowsに入れ替えます。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/b1471be6-44a1-8ee1-964c-fe49d242725c.png)

コンソールに戻ります。
[最新の情報に更新(R)]をクリックします。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/3b4d4a60-1c05-a35c-d936-5b31db49faba.png)

[次へ(N)]がクリックできるようになるので、クリックしましょう。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/f34f52cf-bfc8-1bfe-bd23-61de2f7155d4.png)

インストールが始まります。
待ちましょう。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/fff08263-3f28-5597-afca-6ea5af15a099.png)

起動してきます。
パスワードを決定してログインしてください。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/9de8490f-1374-a52a-14e9-0a81ff8842ef.png)

ログインしたら[CD/DVDを変更]から、再度[ovirt-guest-tools-3.5_5.iso]を選択します。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/3dbdcf1c-b872-b98b-af22-49a7a9e6a4a0.png)

Windowsが起動したらCDドライブから「ovirt-guest-tools-setup」を起動し、進めていって、再起動を終えたら完了です。

![image](https://qiita-image-store.s3.amazonaws.com/0/76791/816a9af5-f049-97b7-f880-0576ee295842.png)

あとはIPアドレスを変更するなりリモート設定をするなりなんなりしてみてください。

<br />

***

Part.4はこれでおしまいです。
どうでしょう。あまり詳しい事は書けませんでしたが、無事にLinuxでKVMとoVirtを構築し、仮想マシンを動かす事が出来ました。
Mac OSは未検証です。
必要なパッケージがあるとかないとかっていう話ですね。
テンプレートとかクローンに関しても書きたいですね。
仮想化基盤はVMwareが実質覇権を握っている状態にありますが、今回の構成は**ハードウェアさえあれば**Linuxを入れることで誰でも簡単にハイパーバイザーが構築できるので、オススメです。
質問も募集しています。
頑張って調べますので・・・。

以上です。