はじめに

小規模ながらもプライベートクラウドの運用なんてことをしますと、ユーザ(社員)にもっと手軽に使ってもらいたいという欲求が出てきます。

  • 仮想マシンのデプロイを簡単にしたい
  • 案件ごとにネットワークを分離したい
  • 教える手間なくやりたい

CloudStack、OpenStackなんてのがあるらしいのですが、どうも難しそうなのでoVirtを試してみることにしました。

序章

oVirtを始めるのに用意するもの

以下のようなものを用意しないといけないです。

  • oVirt Engineとそれを動かすマシン 1
  • oVirt Engineクライアント(Webブラウザ、JavaScript速くないとつらいので、Chromeおすすめ)
  • 仮想マシンホスト(OSは、oVirt Node、Fedora、CentOSが選べます)
  • ストレージとネットワーク

順番にやっていきます。

oVirt Engineを動かすマシン

CentOS 7をインストールしました。

DNSがちゃんと構成されていないと、何やら具合が悪いという話です。

oVirt Engineのインストール

http://www.ovirt.org/download/ に書いてある手順に従いました。

レポジトリの設定をインストールし、ovirt-engineをインストールします。

# yum install http://resources.ovirt.org/pub/yum-repo/ovirt-release41.rpm
# yum install ovirt-engine

oVirt Engineを構成するために、以下のようにコマンドを実行します。

# engine-setup

構成が終わると、Webブラウザから接続できるようになります。

仮想マシンホスト

oVirt Node、Fedora、CentOSが使えます。自分はCentOS 7を使うことにしました。

oVirtレポジトリのインストール

OSのインストールが終わったら、レポジトリの設定をインストールします。

# yum install http://resources.ovirt.org/pub/yum-repo/ovirt-release41.rpm

firewallの構成

oVirtは複数のポートを使用するそうです。

eno1 インターフェースを通るパケットは全許可にしました。2

# firewall-cmd --permanent --zone=trusted --add-interface=eno1

oVirt Engineへ接続

Webブラウザを立ち上げて、oVirt Engineが動くマシンへ接続します。

オレオレ証明書なので、セキュリティの警告が出ますが、そのあたりはよしなに。

日本語表示もできるみたいです。いいねぇ。

ovirt-01.png

管理ポータルへログインします。

ovirt-02.png

こんなん表示されました。

仮想マシンホストを追加

データセンター > Default > クラスター > Default > ホストと辿り、[新規作成]をクリックします。

ホストの名前、ホストのアドレス、rootユーザのパスワード3を入力します。

ちなみにoVirt Node OSの場合は、手動追加しなくても、自動で発見追加されるそうです。すごいね。

仮想ホストを追加すると、必要なソフトウェアやらなんやら一式設定されます。楽ちんすぎ。

ストレージを追加

以下のドメイン機能を持ったストレージを追加できます。

  • Data 仮想マシンを置くところです。
  • ISO ISOイメージを置くところです。インストール時に使います。
  • Export マイグレーションやらなんやらで、OVFを吐き出したりする先として使います。

このうち、最初のDataドメインは必須のものになります。

Dataドメインを追加

既存のNFS共有をDataドメインとして追加しました。

NFS共有にはホストから接続できればよく、エンジンからは接続できなくてもいいみたいです。

共有の中身は空っぽである必要があります。

NFS共有の設定

NFS共有は次のようになっている必要があるようです。

  • uid: 36
  • gid: 36
  • パーミッション: 0755

NFS以外のストレージ

NFS以外には、ローカルのファイルシステム、GlusterFS、iSCSI、ファイバチャネルが使えます。

ローカルのファイルシステムを使うのが簡単そうなところですが、データセンター全体の設定を変えるか、新しいデータセンターを作る必要があります。

ISOドメインを追加

ISOイメージを置くために、ISOドメインを追加しました。

エンジンからISOイメージをアップロードするときは、エンジンからアクセスできる場所になっている必要があります。

ISOイメージファイルをアップロード

ISOイメージファイルをISOドメインへアップロードします。アップロードにはengine-iso-uploaderというコマンドを使います。エンジンをインストールしたマシンに入っています。

注意事項

ISOドメインがNFSの場合、engine-iso-uploaderコマンドを動かすマシンにNFSマウントできる必要があります。

仮想ホスト上のNFS共有を使う場合、iptablesで塞がれていないか確認してください。

アップロード手順

まずストレージ名を確認します。

# engine-iso-uploader list

確認したストレージに対してファイルをアップロードします。

# engine-iso-uploader -i [ストレージ名] [ISOファイル名]...

ゲスト用のISOファイルをアップロード

ゲスト用エージェントが入ったISOファイルをアップロードします。

# yum install ovirt-guest-tools-iso

/usr/share/ovirt-guest-tools-isoにあるisoファイルをアップロードします。

# cd /usr/share/ovirt-guest-tools-iso
# engine-iso-uploader -i [ストレージ名] upload oVirt-toolsSetup_4.1-3.fc24.iso

Windows用のドライバをアップロード

Windows用の仮想デバイスドライバもアップロードしておきます。

# yum install virtio-win

/usr/share/virtio-winにあるファイルをアップロードします。`

```shell-session

cd /usr/share/virtio-win

engine-iso-uploader -i [ストレージ名] upload virtio-win-0.1.126.iso virtio-win-0.1.126_amd64.vfd virtio-win-0.1.126_x86.vfd

  1. oVirtで立てた仮想マシンの上にoVirt Engineをインストールしたいなぁなんて考えていたのですけれど、鶏と卵でしたね :stuck_out_tongue_winking_eye: 

  2. どうもfirewallも自動で設定される様子なので、この手順は不要かもしれません。 

  3. ssh公開鍵で接続できるはずなのですが、パスワードを入力しないと作成できませんでした。