仮想マシンを自由自在に管理できるXenServerのスナップショット機能を活用する

 XenServerを利用した仮想化を用いるメリットの1つに、環境構築や運用の手間を軽減できることが挙げられる。XenServer上の仮想マシンは簡単な操作で複製や削除が行えるほか、別のXenServer上に転送したり、また実機で稼働している環境を仮想マシンイメージに変換してXenServerに転送する、といった操作も可能だ。本記事では、このような仮想マシンの管理や転送について紹介する。

仮想化を利用した環境構築のすすめ

 仮想化を用いたシステムにおいては、複数台のサーバーを1台に集約することによる管理・運用コストの削減などが注目されがちであるが、仮想化のメリットはそれだけではない。仮想化を用いるもう1つのメリットとして、仮想マシンの追加や削除、複製、移動などが容易に行えるという点が挙げられる。たとえば、XenServerでは以下のような仮想マシンを操作・運用するための機能が搭載されている。

  • 仮想ディスクの高速なバックアップ(スナップショット)と複製
  • 仮想マシンのエクスポート
  • エクスポートされた仮想マシンのインポート
  • VMwareやVirtualPCなどで作成された仮想マシンのインポート
  • 実マシンで稼働しているWindows環境の仮想マシン化とインポート

 これらの機能は、システムの開発や拡張段階において非常に有用である。たとえば複数人でのシステム開発を行っているような場合、各開発者(もしくは開発チーム)ごとに1台の仮想マシンを割り当てて開発作業を進める、といった開発形式を取ることができる。仮想マシンは容易に追加や削除が可能なので、基本となる環境を構築した仮想マシンを用意しておけば、それをコピーするだけで簡単に同じ環境の仮想マシンを用意できる。また、各開発者ごとに異なる仮想マシンを利用させることはセキュリティ面でのメリットもある。たとえば所属の異なる開発者が参加するようなプロジェクトの場合、所属ごとに仮想マシンを分ける、といった運用も容易だ。

 そのほか、一般的なシステム開発においてはテスト用の環境と実運用に使用する環境を別々に用意しておくのが一般的であるが、実運用環境を仮想環境上で運用する、といった場合であれば、テスト用環境を仮想環境上に作成しておくことで、容易にテスト用環境から実運用環境を作成できる。逆に、実運用に使用している環境をコピーし、それをベースに開発環境を整えることも可能だ。XenServerではVMwareなどXenServer以外の仮想化システムで動作している仮想マシンをインポートすることもできるので、ローカルのPC上で開発用の環境を構築し、開発が進んだらその環境を仮想マシン上で動作させてテストする、といったことも可能となる。

 これらの操作を手軽にしているのが、「XenCenter」と呼ばれるWindows環境で動作するGUI管理クライアントである。これを用いることで容易に仮想マシンのバックアップやコピー、転送などを行える(図1)。下記ではこのXenCenterを使用し、仮想マシンの管理や環境構築などを行う作業手順を紹介していく。

図1 仮想マシンの操作はXenServer用の管理クライアント「XenCenter」上で行える
図1 仮想マシンの操作はXenServer用の管理クライアント「XenCenter」上で行える

 なお、XenServerに関する詳細なドキュメントはCitrixのWebサイトで公開されている。「仮想マシンインストールガイド」には仮想マシンの作成やOSのインストールに関する詳細な情報が、「管理者ガイド」にはXenServerの構成や機能、コマンドラインインターフェイス(CLI)に関する詳細な情報がまとめられている。本記事ではさくらインターネットの「専用サーバ」サービス(以下、「さくらの専用サーバ」)での運用を前提に基本的な情報のみをまとめているため、より詳しい情報を確認したい場合や、より大規模な構成を検討している場合はそちらを参照すると良いだろう。

XenServerによる仮想マシンと仮想ディスク管理

 XenServerによる環境構築について説明する前に、XenServerではどのようにして仮想マシンや仮想ディスクを管理しているかについて説明しておこう。

 XenServerが管理している仮想マシンの情報は、XenServerが持つデータベース内に記録されている。このデータベースには仮想マシンごとのユニークなID(uuid)や名前、動作状況、そして接続されている仮想ハードウェアや仮想ディスクといった構成情報が記録されている。これらは原則としてユーザーが直接操作することはできず、XenCenterもしくはXenServerのコンソールから管理コマンドを発行して操作することになる。

 また、それぞれの仮想マシンが使用する仮想ディスクは仮想マシンとは別に管理されている。さくらの専用サーバにインストールされているXenServerの場合、デフォルト設定ではサーバーに接続されているハードディスク内に仮想ディスク用のLVM領域(XenServerでは「ストレージリポジトリ」などと呼ばれる)が用意されており、この領域内に仮想ディスクイメージがLVMボリュームとして作成される(図2)。

図2 さくらの専用サーバにおけるXenServerの仮想ディスク設定
図2 さくらの専用サーバにおけるXenServerの仮想ディスク設定

 なお、XenServerのコントロールドメインがインストールされている領域のサイズは約4GBと小さめである。そのためコントロールドメイン経由で仮想ディスクイメージをやりとりするのは現実的ではなく、原則としてXenServerとの仮想ディスクイメージのやり取りはXenCenterのインポート/エクスポート機能を利用することになる。

コラム 仮想マシンの複製・移動時にはライセンスに注意

 XenServerを用いて仮想マシンの複製や移動を行う場合、仮想マシンで動作させるOSやアプリケーションのライセンスに注意が必要だ。CentOSやDebian GNU/LinuxといったフリーのOSとフリーソフトウェアを組み合わせて使用する場合は問題ないが、Red Hat Enterprise LinuxやWindows Serverといった商用OSや、オラクルのデータベース製品やSQL Serverといった商用アプリケーションを利用する場合、適切なライセンスが必要である。

 さくらの専用サーバではRed Hat Enterprise LinuxやWindows Serverを利用できる追加オプションが用意されているが、XenServerを使用する場合これらのオプションは利用できず、別途ユーザー側でOSのライセンスを用意する必要がある。

 たとえばRed Hat Enterprise Linuxの場合、CPUソケット数と同時に使用する最大仮想マシン数によってサブスクリプション価格が変わってくる。詳しくはRed HatのWebサイトを参照していただきたいが、XenServerを動作させているサーバーのCPUソケット数と仮想マシン数に応じて適切なサブスクリプションを選択する必要がある。

 またWindows Server 2008の場合、Windows Server 2008の「仮想環境とライセンス」ページに詳細が記載されているが、1ライセンスに対しStandardエディションおよびWindows Web Server 2008では1つまで、Enterpriseエディションでは4つまで、Datacenterエディションでは無制限の仮想マシン上で利用が可能だ。