Xen仮想マシンを使う
Category : サーバ管理日記
Published by M-naka on 2007/6/30
 Xenで動く仮想PC/サーバを弄ってみる。


1.仮想PC

 CentOS5を入れた直後に仮想PCとしてWindowsXP-Homeをインストール済みであるが、これをシンクライアントとして使ってみる。

 WindowsXP-Homeはリモートデスクトップが使えないので、UltraVNC(日本語版)で代用。先ずUltraVNCをサービス動作させ、常駐させる。仮想PC自体の起動は、仮想マシンプロファイルを/etc/xen/autoに入れておくことで物理サーバ(Amatsu)の起動時に自動化できる。また、仮想PC側のWindowsファイアウォールでUltrVNCによる接続を許可しておく。

 ……と、ここまでで一応、仮想PCの起動動作なしにUltraVNCでLAN内から直接、仮想PCにアクセスできるようになる。それまではAmatsuにVNC接続し、AmatsuのVNC画面からコマンドラインを使って仮想PCを起動、としていたから、使い勝手は向上した。が、どういうわけかマウスカーソルがせっかく接続したVNC画面で追従しないので、使い物にならない。

 これは、仮想PCがローカルデバイスとして認識しているマウスへの追従をUltraVNC上で切る設定にすることで解決。仮想PC側でサービス動作しているUltraVNCサーバの設定のうち、「キーボード&マウス」を「サーバでの操作を無効」とすればOK。これでVNC接続時、画面上のマウスカーソルに仮想PCが追従するようになった。


2.仮想サーバ

 Webサーバのセキュリティ向上策として、仮想サーバをリバースプロキシとして動作させ、直接インターネット側からHTTP・HTTPSアクセスをさせないようにしてみようと考えている。

 使用ディストリビューションはVine4.1で、インストールセットは「最小構成」。可能な限りリバースプロキシ用途に特化させ、セキュア化とスリム化を図るためである。導入については概ね仮想PCと同じで、4GBのバーチャルハードディスク(*.img)を作成、別途入手したVine4.1のISOイメージと併用して起動、あとは通常の物理サーバへのインストールと変わらない。割り当てたバーチャルハードディスクの容量は少ないが、Apache2を入れた時点で使用容量は600MBを切っており、またそもそもリバースプロキシという用途自体、ほぼメモリ動作で済むハズ、と判断したためである(※)。

※リバースプロキシでキャッシュ機能をオンにした場合、一定のディスク消費は考えられるものの、ウチではキャッシュ機能は使わないつもり。なので、そうそう大容量の確保は必要なかったりする。

 OpenSSHとApache2をapt-getでインストールし、現在リバースプロキシの構築を準備中。既に内部DNSにはvps01とvps02のホスト名で登録した(vps=Virtual Private Server)。

 今更ながら面白いのはネットワーク上では物理サーバとしか見えないこと。それぞれ固有のIPアドレスを持っているから、pingも返ってくるし、httpアクセスも可能。仮想サーバへはSSHでログインだってできる。当然だがアクセス元としては相手が仮想マシンであることを意識することはない(むしろできない)。これは仮想PCでも同じ。仮想マシンである以上、当然の話なのだが、何となく不思議で面白い。


 また、今使っている仮想マシンは共にバーチャルハードディスクを使用しているので、あるタイミングでDVD-Rにイメージファイルごと焼き付けておけば、そのまんまバックアップとリカバリができることになる。無論メディアの記録容量という制約はあろうが、頻繁に更新が掛かるデータ群については、別途ファイルサーバのマウントなりを行い、そちらはそちらで保存するようにすれば良いのである。これ、シンクライアントとサーバのリカバリという観点では思っているよりも重要な気がする。