2011/02/13 CentOS5.5





WebベースでKVMマシンを管理する

導入前に
導入条件
インストール
ゲストマシンの作成
コンソールが表示されない
OSインストール
その他

導入前に
KVMのいろんな機能はコマンドによるもので、基本的に全て自分で面倒を見なくてはなりません。
なので virt-managerによる管理は便利です。
ですがvirt-managerはリソース管理という点では便利とはいえません。
リモート管理もLinuxクライアントである必要があります。

Karesansuiという仮想化管理システムは、サーバ管理ソフトで有名なHDEのシステムから仮想化システム部分だけ取り出したもので、そこだけ無料で公開されています。


利用者の「ゼロトレーニング」を目指して開発されています。
Webによる管理画面はWindowsからでも操作できるので、virt-managerの管理コンソールに依存しなくていいです。

システムとしてはエンタープライズを意識した作りです。
仮想化システムは運用がひとたび軌道に乗れば、もっぱら展開、消費リソース監視がメインとなる、という現実を踏まえて、Karesansuiも運用管理にフォーカスされています。
だから頻繁にメディアを読み込ませたり再インストールさせたりといった、検証環境には向きません。
(構築したOS環境をコピーして複数展開できる、ウェブ画面で操作できるという点が検証に使えると言えば使えますが)
他にもストレージプールの考えなど、明確にユーザと管理者を分けたエンタープライズな作りになっています。

エンタープライズな点言えば、接続ディスクの名前など初めからユーザが認識する必要はない。ストレージプールを介することでユーザに保存領域を意識させない。iSCSIなどにも対応している。監視機能、負荷把握ができる。メール通報を持つ。といった点です。

が、反面自由度が極めて低いです。
DVDドライブのマウント機能がないので、仮想ホストへ別のOSを再インストールできない。(たぶんkvmコマンドを使用すればできるでしょう)。別のディスクイメージを接続できない。
など、ユーザに工夫を許さない点が多分にクラウド的です。
一旦運用したらもう頻繁に再インストールや環境変更はない、という運用思想でしょう。

やはりHDEの製品の一部らしく、サービスプロバイダな感じがします。
CentOSベースで仮想システムをいくつも運用・管理していく、という環境なら多いに検討の余地はあるでしょう。

導入条件
導入にはいくつか条件があります。
・すでにKVMを自力で構築していないこと。Karesansui向けの環境構築のために、けっこう取り除かねばなりません。導入しても上手くいかないことが多いです。
・仮想マシンコンソールがVNCで5900番(任意)で開かれます。すでに5900番を占有しているなら気を付けましょう。
・ネットワークは、peth0という独自のブリッジポートが追加されます。すでにKVMによってなにかしらブリッジポートを作成して使用しているなら、ブリッジを削除してeth0を単純なポートに戻しておかねばなりません。

管理ソフトウェアという性質のせいか、他の管理ソフトウェアとは相性が悪いようです。
libvirtdも乗っ取られるので(hde-libvirtdが入る)、virt-managerはあきらるのが無難でしょう。

インストール
手順に乗っ取り、まずはKVMと仮想化システムを導入します。


Karesansuiの本家に行き、ドキュメントを参照します。

するとKVM以外に以下のパッケージがインストールされている必要がある、とあります。

iscsi-initiator-utils
cyrus-sasl-md5
gnutls-utils
PyXML
SDL
curl
perl-URI
perl-HTML-Parser
gettext

「rpm -q」か「ソフトウェアの追加と削除」で、一つずつ確認していくことをお勧めします。
大文字小文字を認識するので、正しく入力して確認します。

#rpm -q iscsi-initiator-utils

インストールされていないものがあれば、yumやソフトウェアの追加と削除からインストールします。
デフォルトではいくつか足らないはずです。

インストールが終われば、kvm-qemu-imgが競合するのでアンインストールする必要があると書かれています。
通常はKVMの環境ではすでにインストールされているはずです。
これもアンインストールします。

#rpm -e --nodeps kvm-qemu-img

本家のDownloadアイコンから、圧縮ファイルをダウンロードして、適当なところに展開します。


#tar xzvf karesansui-2.0.1-install-pack.tar.gz
#cd karesansui
#./karesansui-install

この後は本家の手順通りに進みます。

インストール完了後、どうやらpeth0というプライベートなポートを作成して、ブリッジしている模様。
ネットワークの再起動、あるいはシステムの再起動を求められます。

#service network restart

物理ネットワークへブリッジネットワークを繋ぐ思想らしいので、すでにブリッジポートが作成されていると、peth0というネットワークの起動に失敗します。こうなると症状は悪いです。

インストールの正常性をkaresansui-checkenvで、環境をチェックしましょう。
#./karesansui-checkenv



LAN内の端末から「https://CenOSアドレス/karesansui/v2/」へアクセスしてみます。デフォルトでインストールしていればHTTPS接続になります。
接続できると認証画面が現れます。インストール時に指定したID(電子メールアドレス)を入力します。


正常にログインできます。

トップページのここには、仮想化ホストを登録します。複数の仮想化ホストを集約して管理できるということでしょう。
表示されたカエルをダブルクリックします。

表示された画面により、なにができるのかすぐにわかります。


ゲストマシンを作成する前に、ストレージプールやネットワークタブの設定を見て置くことをお勧めします。

ゲストマシンの作成
残念ながらvirt-managerで動作している仮想マシンをそのまま取り込むことはできないようです。
新たに仮想マシンを作成するしかありません。
「作成」を選択して、仮想マシンの情報を入力していきます。
「ドメイン」とは、仮想化OSを認識するIDで、一意なものが必要です。


インストールイメージがポイントです。完全に仮想化を目指しているためか、インストールメディアにDVDドライブそのものは指定できません。
DVDドライブの直接接続ができないため、OSインストール時にインストールデータにアクセスする方法が問題です。

この辺りが、ちょっと独特で理解する必要があります。
ブート・インストール方法は2つ。
ISOイメージファイルを指定するか、 インストールメディアの中のLinuxイメージファイルを指定するかです。
ISOイメージを使用したインストールのほうが簡単です。インストールメディアがDVD1枚で済むタイプなら、こちらを選択しましょう。
が、CentOS5.5 64bitのようにインストールメディアが2つ必要な場合ISOイメージファイルは指定できません。
理由は簡単。インストール途中にISOイメージを交換する手段がないからです。

インストールメディアのLinuxのイメージファイルを指定する場合は、フルパスで指定してブートだけさせて、その後はLinuxのインストーラによるネットワークインストールに頼る、というです。
こんな簡単なことができない辺り、他の仮想管理システムとは異なります。

FTPを使え、というわけです。

ISOイメージが使えない場合、実際のメディアへの接続方法

A.インターネット上のインストールメディアデータへHTTP/FTPでアクセスする
 1.DVDかISOイメージをマウントし、その中の「isolinux/vmlinuz」「isolinux/initrd.img」を指定してインストールを開始する。
 2.インストール方式で、FTP/HTTPを指定して、インターネットのURLを指定する。
デメリット 遅い

B.ローカルにFTPを構築し、FTP越しにインストールメディアへアクセスする
 1.FTPサーバをインストールする。
 2.DVDかISOイメージをFTPのpubフォルダ以下へマウントし、その中の「isolinux/vmlinuz」「isolinux/initrd.img」を指定してインストールを開始する。
 3.インストール方式で、FTP/HTTPを指定してKVMホストのIPアドレスを指定して(localhostや127.0.0.1ではダメ)、マウントされているインストールメディアへアクセスする。
デメリット FTPサーバをインストールする

他にバリエーションも考えられますが(ファイルサーバのフォルダをローカルディレクトリへマウント、その中のISOイメージを/var/ftp/pubへマウント等)、基本的にBのローカルにFTPを配置するのが現実的でしょう。
もちろん、LAN内に別のFTPサーバがあれば、そちらを利用してもいいでしょう。

FTPのインストール・起動
#yum install fsftp
#service vsftpd start

DVDをFTP公開フォルダへマウントする場合
#mount -t /dev/hde /var/ftp/pub

ISOイメージをFTP公開フォルダへマウントする場合
#mount -t iso9006 -o loop ISOイメージファイル /var/ftp/pub

マウントしたら、仮想OS作成時にカーネルイメージに「/var/ftp/pub/vmlinuz」、initrdイメージに「/var/ftp/pub/initrd.img」を指定します。

ちなみに、Windows共有をローカルディレクトリへマウントする場合
#mount -t cifs -o ro,username=WINDOWNUSER,password=PASSWD //WindowsIP/Share /windows

作成された仮想マシンアイコンをクリックして、マシンの情報が表示されれば成功です。
適用までに数秒のタイムラグがあります。


この時点で仮想マシンはもうブートを開始しています。コンソールへ切り替えましょう。



コンソールが表示されない
仮想マシンのコンソールを表示するためには、Java版のTightVNCが必要です。VNC自体はKaresansuiの管理画面からダウンロードされるので、コンソールが表示されない場合はブラウザのJavaプラグインをダウンロードしましょう。
Java Download

が、ここで問題です。
大人の事情によりLinuxのFirefox3.6以降の場合、素直にJavaが動作してくれないことが多いです。
Windows版かChromeを使用してみましょう。

どうしてもコンソールが表示できないのなら、直接KaresansuiサーバへVNC5900番へ接続するという手もあります。
コマンドから「netstat -nalt」でVNCのポート番号を確認します。

※仮想マシンのコンソールは管理コンソールを介さずにVNCで直接見えてしまうため、パスワードなどなんなりでセキュリティをかける必要があります。

OSインストール
インストール開始時は、GUIではなくテキストモードでインストーラが開始されます。
※なお日本語でインストールを実施すると、なぜかOpenOffice辺りでエラーが出ます。
 OpenOfficeを除外するか、英語モードでインストールして後で日本語にしましょう。

インストールモードで「FTP」を選択し、アクセス先に「KVMホストのIP」と「/pub」を指定します。

(デフォルトでvsftpはAnonymouseログインできるはずですが、出来ない場合FTPアクセスに失敗します)

後はごく普通にインストールが進みます。
インストール後は、デフォルトコンソールがテキストモードになっています。
デフォルトでGUIが欲しいのなら、/etc/inittabの「id:3」を「id:5」にしましょう。

インストール後、karesansuiのメニューからシャットダウン・再起動などが行えるようにapciをインストールします。
CentOS5.5ならデフォルトで入ってるはずです。

#yum install apcid
#service haldaemon stop
#service acpid restart
#chkconfig acpid on
#service haldaemon start


その他
そしてKaresansuiの特徴とも言える、強烈な印象の公式アイコン
一際目を引くデザイン。こうすると仮想化OS一つ一つに愛着が湧くということなのでしょうか。
本家からダウンロードできます。







prev.gif