2011年6月21日火曜日

libvirt で作成したvmimage をConvirt で管理してみる

Convirt は libvirt を使っていないっぽいので、Virtual-Machine-Manager とか libvirt で作ったvmimage はそのままでは管理できない(コンソール上に表示されない)。
以下の方法で取り込みを行う。

1.[server] -> [管理ホスト] -> [Import Virtual Machine Config Files] で、そのまま kvm config ファイル(.xml)をインポートしようとしても、エラーが出てしまう。

Error adding file, /etc/libvirt/qemu/vm01.xml. invalid syntax (<string>, line 1)

どうやらConvirtが認識できる形式に変換が必要のようだ。

http://www.convirture.org/forums/viewtopic.php?f=35&t=1846&sid=af572c0eda863de0c85fe134c579248f&start=10#p2871

2.ここにある conversion utility を使って、kvm の .xml ファイルを変換する。

# ./batch_convert.sh /etc/libvirt/qemu/

カレントディレクトリに変換後のファイル(.cfg)が保存される。

3.再度 [server] -> [管理ホスト] -> [Import Virtual Machine Config Files] で、変換したconfig ファイル(.cfg)をインポートする。

Task Status が Suceeded になって、管理ホスト下に追加した仮想ホストが表示されたらO.K.

4.インポートに成功した仮想ホストを起動しようとしたら、こんなエラーが出て起動出来ない。
 
 ('TUNSETIFF: Device or resource busy\nqemu: could not open disk image raw:/var/lib/libvirt/images/vm01.img: No such file or directory\n', 1)

libvirtd がイメージを掴んでいるのかと考え、libvirtdを停止したりしても解消せず。
調べてみると、どうも、仮想ホストのディスク設定の変更が必要みたいだ。

http://www.convirture.com/forums/viewtopic.php?f=34&t=5403

5.[仮想ホスト] -> [Edit Settings] -> [Storage] -> [Location]tab

raw:/var/lib/libvirt/images/vm01.img

/var/lib/libvirt/images/vm01.img

あと、そのまま閉じようとすると [Please enter Guest OS Flavor under General tab] って怒られるので、[General]tab の [Guest OS Flavor:] [Guest OS Name:] [Guest OS Version:] を適当に入れておく。

6.再度仮想ホストを起動すると、今度は正常に起動する。



 って、先に libvirtd で vmimage を作っていた場合は、ひとつずつConfigをインポートして、イメージの設定変更をしてあげないといけないのか...
てっきりConvirt は libvirt のAPIを使って色々管理していて、libvirtd で vmimage を既に作成している環境でも、インストールしてすぐに使えるのかと思ってた...

libvirtd で 作ったvmimage を一括で取り込むシェルなりを用意しないと、既存環境で使うのは大変ですね。
ちょっと考えよう。

2011年6月20日月曜日

Convirt インストール

仮想化環境の統合管理ソフトウェアである、Convirture社のConvirtをインストールしてみた。
その時の構築メモ。


1. ConVirt repository のセットアップ

# cd /etc/yum.repos.d
# wget --no-cache http://www.convirture.com/repos/definitions/rhel/5.x/convirt.repo

2.CMSユーザを作成

# useradd -m convirt
# passwd convirt


3.convirt ユーザになる

# su - convirt

4.ホームディレクトリに移動して、必要なファイルをダウンロードする

$ wget --no-cache http://www.convirture.com/downloads/convirt/2.0.1/convirt-install-2.0.1.tar.gz
$ wget --no-cache http://www.convirture.com/downloads/convirt/2.0.1/convirt-2.0.1.tar.gz
$ wget --no-cache http://www.convirture.com/downloads/convirture-tools/2.0.1/convirture-tools-2.0.1.tar.gz

5.convirt-install を展開

$ tar -xzf convirt-install-2.0.1.tar.gz

6.依存しているパッケージインストール

$ cd convirt-install/install/cms/scripts/
$ sudo ./install_dependencies

途中で MySQL のインストーラが質問してくる可能性がある
Enter current password for root (enter for none): (convirt と入力)

7.正常にインストールが完了すると次のメッセージが出力される

Prerequsite for ConVirt Management Server (CMS) installed.

8.MySQL の innodb バッファ、メモリプールの設定を変更

$ sudo vi /etc/my.cnf
次の 2 行を [mysqld] セクション内に追記
innodb_buffer_pool_size=1G
innodb_additional_mem_pool_size=20M

9.MySQL の再起動

$  sudo service mysqld restart

10.環境変数読込み

$  source convirt-install/install/cms/scripts/install_config

11.convirt-2.0.1 を展開

$ tar -xzf ./convirt-2.0.1.tar.gz -C $CONVIRT_BASE

12.TurboGears のセットアップ

$ ./convirt-install/install/cms/scripts/setup_tg2

13.Convirt セットアップ

$ ./convirt-install/install/cms/scripts/setup_convirt

2011年6月17日金曜日

XRDP でLinuxにRDP接続する

自宅の検証サーバにrdp で接続するためにXRDPを導入したときのメモ。

1.yum  でインストール

# yum install xrdp
  Installing     : xrdp-0.5.0-0.13.fc14.x86_64                              1/1
Installed:
  xrdp.x86_64 0:0.5.0-0.13.fc14                                                

Complete!
2.rdpで接続するユーザーグループ "xrdp" を作成

# groupadd xrdp

3.rdpで接続するユーザーを "xrdp"グループに追加
# usermod -G xrdp hoge

4.xrdp を起動
# service xrdp start
Starting xrdp:                                             [  OK  ]
Starting xrdp-sesman:                                      [  OK  ]
# chkconfig xrdp on
# netstat -an|grep 3389
tcp        0      0 0.0.0.0:3389                0.0.0.0:*                   LISTEN    

5.rdpで接続