実践!仮想化ソフトウェア 2010 Updates

第4回Citrix XenServer5.6を使ってみよう[②ライブマイグレーション編]

前回はCitrix XenServerとCitrix XenCenterを使った仮想化環境の構築までを説明しました。今回はこの環境を使って、ライブマイグレーションを行う方法を紹介します。

仮想マシンの状態を保存(スナップショット)

XenServerでは、仮想マシンのある状態を保存するスナップショット機能を利用することができます。仮想マシン上にて、危険なプログラムの実行等を行うと、システム(仮想ディスクの内容)が破損することがあります。これに対し、スナップショットを定期的に生成することで、システムが破損してもスナップショットから正常に動作できる状態を復元することができます。

XenCenterのSnapshotsタブから、スナップショットに関する操作を行うことができます。⁠Take Snapshot」を選択し、保存するスナップショットの名前付けを行うと、スナップショットを生成できます。

仮想マシンを過去に生成したスナップショットの状態に復元したい場合は、復元したいスナップショットを指定して「Revert to Snapshot」を選択します。選択すると、現在のスナップショットを生成した上で、指定したスナップショットの状態に仮想マシンを戻すかどうかの選択ウィンドウが出てきます。必要であれば、現在のスナップショットを生成してください。選択後、仮想マシンは指定したスナップショットの状態に復元されます。

指定したスナップショットの状態に復元した場合、そのスナップショット以後に作成されたスナップショットは削除されず保持されます。たとえば、仮想マシン生成後にスナップショットdefaultを作成し、その後スナップショットsnapshot1 を作成したとします。この状態で仮想マシンをdefaultの状態に復元したとしても、defaultの後に生成されたsnapshot1は保持されます図1⁠。

不要になったスナップショットは、Deleteから削除することができます。

図1 スナップショットdefaultに復元した状態
図1 スナップショットdefaultに復元した状態

仮想マシンを別のハードウェアに移動(ライブマイグレーション)

最後にXenServerにて利用できるライブマイグレーション機能(XenMotion)をご紹介します。

ライブマイグレーションのための環境構築

ライブマイグレーションを行うためには、以下の環境が必要となります。

  • XenServerインストール済みのサーバ(2台以上)
  • ホスト間で仮想マシンの仮想ディスクを共有するための共有ストレージ用マシン

サーバ間で仮想マシンの移動を行うために、仮想マシンの移動元と移動先となるサーバが必要となります。このため、サーバは2台以上必要となります。XenServerをインストールした2台のマシンを用意してXenCenterに登録してください。

共有ストレージ用マシンには、OpenfilerをインストールしてNFSストレージサーバの設定を行います。

Openfilerのインストール

OpenfilerはLinuxベースで作られたOSであり、NFSやFTP等に対応したオープンソースのストレージ管理ソフトです。Openfilerをインストールしたマシン上にあるファイルの作成や共有等の操作を、Webブラウザから手軽に行えます。

Openfiler
URL:http://www.openfiler.com/

上記のサイトにある「Download Openfiler Free」を選択し、次にISOイメージをダウンロードしてください。VMwareやXenServer用のVirtual Applianceもありますが、今回はISOイメージを利用します。x86かx86_64どちらかのISOイメージをダウンロードしてください。

ISOイメージからインストールメディアを作成し、共有ストレージ用マシンにOpenfilerをインストールします。インストールはほとんどLinuxと同様の手順で行えますが、1点だけ難しいところがあります。ディスクに共有ストレージ用の領域を作成する必要があり、パーティションの設定を手動で行わなければなりません。手順は以下の通りです。

  1. パーティションの設定を行うDisk Partitioning Setupまでインストールを進めます。
  2. Disk Partitioning Setupでは「Automatically partition」を選択します。
  3. ホストの全てのパーティションを使用するなら、⁠Remove all partitions on this system」を選択します。
  4. パーティションの初期設定から、マウントポイント'/' のパーティションを選択した状態でEditを選択し、Sizeをシステムが必要とする分だけ割り当ててください(図2では例として10Gバイト割り当てています⁠⁠。この時、⁠Additional Size Options」にて「Fixed Size」をチェックすることに注意してください。最終的にはFreeという領域が作成され、図2のような設定になります。このFree領域を後に共有ストレージの領域として利用します。

後はネットワーク、タイムゾーン、パスワードの設定を行えば設定は終了です。再起動後、Webブラウザから共有ストレージの設定を行います。

図2 システム用パーティションの設定
図2 システム用パーティションの設定

上記の領域を作成すると、Freeという領域が残ります。このFree領域を後に共有ストレージの領域として利用します。

後はネットワーク、タイムゾーン、パスワードの設定を行えば設定は終了です。再起動後、Webブラウザから共有ストレージの設定を行います。

Openfilerにおける共有ストレージの作成・設定

Webブラウザから以下のURLにアクセスしてください。

  • https://(設定したストレージサーバのIPアドレス):446/

アクセスすると、ログイン画面が表示されます。Usernameに「openfiler⁠⁠、Passwordに「password」と入力すればログインできます。ログイン先では共有ストレージの設定を行うことができます。

その後、以下の手順で共有ストレージ用のボリュームを作成します。

①ボリューム作成用のパーティション作成

Volumesタブを選択し、⁠create new physical volumes」を選択します。なお、この時選択しても反応がないことがあります。これはフロッピードライブが有効になっていることが原因です。BIOSでフロッピードライブを無効にしてマシンを起動してください。

「create new physical volumes」を選択すると、インストール時設定したパーティションが表示されます。この領域を選択すると、システム用に設定したパーティションの情報が表示されます。一番下にあるCreate a partitionから、インストール時設定していなかったFree領域を使ってボリューム用のパーティションを作成できます。表1の設定でCreateを選択し、新しいパーティションを作成してください図3⁠。なお、初期設定ではTypeはPhysical volumeに設定されていないことに注意してください。

表1 共有ストレージ用パーティションの設定
ModePrimary Partition
TypePhysical volume Starting
cylinder/Ending cylinder使用したいサイズに設定

図3 ボリューム作成用のパーティション設定

図3 ボリューム作成用のパーティション設定

Create選択後、新しいパーティションが表示されます。

②ボリューム作成

Volumesタブを選択し、新しいボリュームグループを作成します。作成するボリュームグループの名前を入力し、ボリュームグループを追加する領域をチェックして「Add Volume group」を選択してください。新しいボリュームグループが追加されます。

作成したボリュームグループにて、新しいボリュームを作成します。Volumeタブを選択すると、右側にVolumes sectionというメニューがあります。この中の「Add Volume」を選択すると、作成したボリュームグループに新しいボリュームを作成することができます。表3のように設定してCreateを選択すれば、ボリュームが作成されます。

表3 新しいボリュームの設定
Volume Name作成するボリュームの名前
Volume Descriptionボリュームに関する情報
Required Space使用したいディスクサイズ
Filesystemext3を選択

容量によっては作成に少し時間がかかります。ボリューム作成後、新しいパーティションが表示されます。

③ボリュームの設定

ボリュームへアクセスするためのサービスや、アクセスを許可するサーバの設定を行います。

  • NFSサービスの有効化

    Servicesタブを選択すると、現在有効になっているサービスが表示されます。デフォルトでは全てのサービスが使用不可となっています。今回はNFSを使用するので、NFSv3のEnableを選択してサービスを有効化してください。

  • 共有フォルダの作成

    Sharesタブを選択すると、作成したボリュームグループとボリュームが表示されるはずです。ボリュームを選択すると、フォルダの作成を要求されるので、作成するフォルダの名前を入力してください図3⁠。作成されたフォルダを選択すると、サブフォルダの作成を要求されますが、ここではMake Shareを選択してください。ここまで設定すれば、ボリュームグループの下にボリューム、その下にフォルダが存在する構成になっているはずです図4⁠。

  • 図4 フォルダまで設定して作成する構成
    図4 フォルダまで設定して作成する構成
  • 共有ストレージへのアクセスを許可するサーバの設定

    作成したフォルダの設定を行います。Shared Access Controlにて「Public guest access」をチェックし、Update を選択してください。これがチェックされていないと、XenServerホストから共有ストレージにアクセスできません。その後Host access configurationにある「Local Networks」を選択すると、ネットワークの設定に移ります。下にあるNetwork Access Configurationにて、共有ストレージにアクセス可能なサーバを設定できます。表4のように設定してUpdateを選択すれば、サーバを追加することができます。

表4 共有ストレージアクセス許可サーバの設定
Nameサーバ名
Network/HostサーバのIPアドレス
Netmaskネットマスク
TypeShare

ここではライブマイグレーションに利用する複数のサーバの情報を入力してください。

④サーバに許可するサービスの設定

Sharesタブから、先ほど作成したフォルダを選択します。Host access configurationに設定したサーバが表示されているはずです。ここではサービスに応じて、サーバの共有ストレージに対して行える動作を制限できます。今回はNFS を利用するため、個々のサーバのNFSのRWにチェックを入れて、共有ストレージに対して読み書きできるようにします。最後にUpdateを選択すれば、設定が反映されます。

以上で共有ストレージの設定は完了です。

XenCenterからライブマイグレーション

XenCenterにおけるライブマイグレーションの準備

実際にXenCenterから仮想マシンのライブマイグレーションを行います。XenCenterにおけるライブマイグレーションの準備として、プールとXenServer Toolsのインストールされた仮想マシンを用意します。

①プールの作成

XenCenterのメニューにあるNew Poolを選択し、新しく作成するプールの名前を設定します。次に、プールのマスターとなるサーバと、プールに追加するサーバを選択します。Finishを選択すれば、新しいプールが作成されます。

②共有ストレージの設定

先ほど設定したストレージを、サーバ間で共有するように設定します。メニューからNew Storageを選択し、NFS VHDを選択します。次に共有ストレージ名とストレージサーバ上のパスを指定します。パスはOpenfilerの設定にて生成したフォルダのパスを指定します。

例
(ストレージサーバのIP アドレス):/mnt/volg1/xenserver_vol/folder1

最後にFinishを選択すれば、プール内のサーバ間にてストレージが共有されます。

③ライブマイグレーション用仮想マシンの準備

移動する仮想マシンを生成します。仮想マシンにインストールするOSはXenServer Tools対応のものにしてください。また、仮想マシンの仮想ディスクは、XenServerを実行しているホスト上ではなく、作成した共有ストレージ上に生成するようにしてください。作成したプールを選択した状態でNew VMを選択すれば、仮想ディスクの設定にてローカルストレージではなく共有ストレージが初期指定されます。

なお、NFS以外にもiSCSI等を用いて複数の共有ストレージを用意している場合、ここでPropertiesを選択することで共有ストレージを指定することができます。

ライブマイグレーションの実行

ライブマイグレーションの準備は整いました。実際に仮想マシンを実行しているサーバから、別のプール内のサーバに移動させてみましょう!

仮想マシンの移動自体は非常に簡単です。仮想マシンの移動元と移動先となるプール内のサーバと、移動する仮想マシンを起動します。この状態で仮想マシンをメニューから右クリックすると、⁠Migrate to Server」という選択が出てきます。移動先のサーバを選択すると、仮想マシンは実行されたまま、指定したサーバに移動されます。

今回は単に仮想マシンを移動しただけなので、ライブマイグレーションの利点を実感できなかったかもしれません。ライブマイグレーションは、ハードウェアの点検で一時的にハードウェアを利用できない場合や、仮想マシンを移動させることによる負荷分散を行う場合に非常に有用です。

まとめ

XenServer5.6とXenCenterを使った仮想マシンの生成と操作についてご紹介しました。XenServerにはLinux Supplemental Packsがあるため、簡単にLinuxの仮想マシンを使いたい場合はXenServerは使いやすいと思われます。ただし、インストールの項目にて説明した通り、プールを利用する場合はLinux Supplemental Packsの扱いに注意が必要です。

紹介した内容の中では、ライブマイグレーションのための環境構築が骨の折れる作業であったかもしれません。しかし、一度環境を構築してしまえば、後は容易に仮想マシンを移動できます。ぜひ挑戦してその機能を確かめてみてください。

おすすめ記事

記事・ニュース一覧