WIDE Technical-Report in 2009

NEMO BS を用いた Xen ゲスト計算機のオフリンクライブマイグ
レーション
wide-tr-keiichi-xen-offlink-migration00.pdf

WIDE Project : http://www.wide.ad.jp/If you have any comments on WIDE documents, please contact toad@wide.ad.jp

Title:Author(s):Date:

NEMO BS を用いた Xen ゲスト計算機のオフリンクライブマイグレーション
島 慶一 (keiichi@iijlab.net)
2009-9-1

NEMO BS を用いた Xen ゲスト計算機のオフリンク
ライブマイグレーション
島 慶一∗

1

背景

働中の仮想計算機を異なるネットワーク (オフリンクネットワーク) に移動させる仕組みを提案する。

計算機の処理能力、ネットワークやデータストアなどの技術進歩により、個々の計算機の能力が飛躍的に進歩している。ただ、単体技術の発展速度は今2後鈍化するという見方もあり、複数の計算機をひとライブマイグレーションの課題
現在、多くの仮想計算機技術が実用レベルで提供さつの計算機資源として取り扱うクラウド技術への期れており、その中には仮想計算機を、その親となって待が高まっている [1, 2]。一方、ひとつの計算機資いる計算機 (ホスト計算機) から別のホスト計算機に源を仮想的に分割し、複数の異なる計算機として利移動させる機能を提供しているものもある。VMware用する仮想計算機技術も長年研究されてきた [3]。一の VMotion や、Xen の Live Migration がその代表見異なる方向を目指しているように見えるこの二つ例である。以後、本稿ではホスト計算機から切り出の技術だが、お互いに補い合うことでより効率的な計算機資源の活用を実現できると考えられている。

された仮想計算機をゲスト計算機、ゲスト計算機のGoogle が展開している Google App Engine[4] の仕 ホスト計算機間移動機能をライブマイグレーションと呼称する。ライブマイグレーション機能を利用す組みや、Amazon が提供している EC2[5] などは、複ると、稼働中のゲスト計算機をほぼ無停止で別の機数の計算機資源を組み合わせてひとつのサービスと材に移動できる。ただし、現在提供されている機能するクラウド環境を提供しているが、ひとつひとつの計算機資源は仮想計算機技術を用いられている。
一台の物理的な計算機、という大きな単位での資源は、ホスト計算機の配置に制限があり、移動元のホスト計算機と移動先のホスト計算機が同一のサブネットワークに属している必要がある。

管理をやめ、小さく切り出された仮想計算機をひとこの制限は、ホスト計算機とゲスト計算機のネッつの単位として利用することで、結果的に効率的かトワーク構成に原因がある。仮想計算機環境で稼働つ柔軟な計算機資源の利用を実現しつつ、仮想計算する各計算機は対等な関係ではない。通常はホスト機に分割したことによる負荷を上回る計算能力をク計算機がすべての資源を管轄し、ゲスト計算機に配ラウド環境として提供している。

分する形式となっている。ゲスト計算機をネットワー

このような仮想環境が発展していくためには、仮クに接続する場合、図 1 に示すような構成が用いら想計算機を柔軟に管理する仕組みが重要となる。クれる。図 1 (a) の場合、ゲスト計算機はホスト計算機

ラウド環境からの要求に従って、必要な場所に必要と同じネットワークに、ホスト計算機が提供する仮な量の仮想計算機を配置できることが、全体の性能想ブリッジを経由して接続される。(b) の場合、ホス向上や資源の効率利用に貢献するためである。本論

ト計算機とゲスト計算機の間に仮想的なスイッチが文では、仮想計算機の再配置の仕組みに注目し、稼設けられ、ゲスト計算機はホスト計算機を上流ルー∗ 株式会社 IIJ イノベーションインスティテュート 技術研究所

1

ホスト計算機

ホスト計算機

ホスト計算機の物理インターフェース

NATあるいは経路制御モジュール

仮想イーサネットブリッジ

ホスト計算機およびゲスト計算機の仮想インターフェース

仮想イーサネットブリッジ
ゲスト
計算機

ゲスト
計算機

ゲスト
計算機

ホスト計算機とゲスト計算機がブリッジ接続される場合

ゲスト

ゲスト

ゲスト

計算機

計算機

計算機

ホスト計算機の裏でゲスト計算機が経路制御あるいはNATされる場合

図 1: ゲスト計算機のネットワーク環境
タとしてネットワークに接続する。この構成から明させたいという要求が発生したとしても、前述したらかなように、ホスト計算機がどのようにネットワー理由によりネットワークを越えるゲスト計算機の移クに接続しているかが、ゲスト計算機のネットワーク動ができないのが現状である。

構成に大きく関わることになる。ライブマイグレー
ションが発生するとき、ゲスト計算機が動作環境を3変更することはないため、実質、図 1 (a) の構成でしかライブマイグレーションは実現できない。それ以NEMO BS の概要
NEMO Basic Support (NEMO BS)[6] は IPv6

外の構成の場合、例えば図 1 (b) の構成の場合、ゲルータに移動通信機能を追加する。NEMO BS 環境

スト計算機が他のホスト計算機に移動した瞬間、ゲ

では、NEMO BS をサポートした移動ルータ (MR)スト計算機が接続している仮想イーサネットブリッが不変のネットワークプレフィックス (モバイルネッ

ジで用いられているネットワークアドレスブロック

トワークプレフィックス、MNP) を管理する。MR がが変化するため、ゲスト計算機のネットワーク環境提供するサブネットワークに接続した IPv6 ホストを適切に変更しない限り通信を継続することができは、MNP の範囲からアドレスを取得する。MR はなくなる。また、図 1 (a) の構成であっても、移動インターネット上の様々なサブネットワークに接続元と移動先のホスト計算機が異なるサブネットワーし、接続先のネットワーク環境に応じたネットワー

クに接続している場合は同様の問題が発生する。

ク構成に動的に対応するが、MR が管理する MNPライブマイグレーションによって、仮想計算機がが変化することはない。MR 配下のホストは MR のひとつのホスト計算機に集中することを回避できる

位置に関わらず常に同じネットワーク環境を維持でが、同一サブネットワークに限られてしまい、他のきる。

位置に資源に余裕のあるホスト計算機が配置されて移動透過性は、MR と対をなして動作するホームいても活用ができない。また、計算資源を提供する

エージェント (HA) の助けをかりて実現されている

クラウド環境と計算資源を活用するクライアントの(図 2)。MR は移動先のネットワークで、ネットワー間の通信遅延を抑えるためには、クラウド環境とクライアントがネットワーク的に近いのが理想である。
クラウド環境の一部としてゲスト計算機を利用する
場合、ゲスト計算機をより近いホスト計算機に移動

ク環境に応じたアドレス (気付アドレス) を取得し、HA との間に双方向 IPv6 over IPv6 トンネルを確立する。すべての MNP からのトラフィックは、そのトンネルを使って一旦 HA に転送され、そこから再2

ホームエージェント
MNP

MR/MNPの論理位置
MNP

インターネット

MR/MNPの実際の位置

MR
HA

IPv6 overIPv6トンネル

通信相手

ホスト計算機NEMO BSモジュール

MR配下ホストの通信経路

モバイルルータ

図 2: NEMO BS 動作の概要

仮想イーサネットブリッジ

転送される。逆に、MNP 宛のトラフィックは HA がによる固定一旦受け取り、トンネルを介して MR に配送され、アドレス空間

ゲスト計算機

ゲスト計算機

ゲスト計算機その後最終宛先ホストに転送される。
図 3: Xen を用いたゲスト計算機オフリンクマイグ

4

レーション設計

設計2 章で述べた通り、ライブマイグレーションが同とホスト計算機の NEMO BS 移動ルータとしての移依存しているためである。よって、ゲスト計算機の算機をそのまま利用し続けるというシナリオを前提一サブネットワーク内での移動に限定されるのは、 動が同期しなければらないという制限が発生する。
ゲスト計算機のネットワーク環境がホスト計算機に 今回は、既存のシステムで用いられているゲスト計として、後者の方式を選択した。

ネットワーク環境がホスト計算機によらず一定になシステムの設計はホスト計算機の資源管理の方法るように設計すれば、異なるサブネットワークに接に依存する。そのため、システム構成に使用する仮続しているホスト計算機間でもゲスト計算機を移動想計算機環境毎に異なる可能性がある。本論文では、することができるようになる。一定のネットワーク

Xen[9] が提供する仮想計算機環境を用いた設計を提示するが、他のシステムでも大きな変更は必要な環境を提供する手段として、本論文では IP モビリ
ティ技術を用いる。IP モビリティ技術を使ってゲスいと考えている。図 3 に概要を示す。構成的には図ト計算機のネットワーク環境を一定に保つ方法とし1 (b) を拡張したものとなっている。ホスト計算機て、ゲスト計算機自体が Mobile IP など [7, 8] のホが MR としての機能を有し、インターネット接続用スト移動通信機能を備える方式と、ホスト計算機がNEMO BS などを活用して透過的なネットワークをと、MNP 提供用のふたつのインターフェースを持必要になる代わりに、ゲスト計算機単体での移動が供するゲスト計算機用仮想ブリッジに接続された仮まま継続利用できる代わりに、ゲスト計算機の移動は、MR が管理する MNP 空間のアドレスが割り当ゲスト計算機に提供する方法が考えられる。前者は、 つ。MNP 接続用インターフェースは、実際には物理ゲスト計算機の改変 (IP モビリティ機能の導入) が 的なインターフェースではなく、ホスト計算機が提可能になり、計算機移動の細かい制御が期待できる。 想インターフェースとして構成する。仮想インター
後者は、これまで利用してきたゲスト計算機がその フェースおよび仮想ブリッジに接続されたホストに3てられる。NEMO BS の機能により、ホスト計算機ストリーム受信ホストが物理的にどこに接続されていても、MNP 内のア

ホームエージェント

ドレスが変更されることはない。
ゲスト計算機のライブマイグレーションのために、複数のホスト計算機がネットワーク上に配置される。
これらのホスト計算機は、NEMO BS の MR として同じ設定 (ホームアドレス、MNP) を保持するが、稼働中のゲスト計算機を有していない場合は MR としては動作しない。ゲスト計算機がマイグレーションする場合、通常のライブマイグレーションの手順を用いて、各ゲスト計算機がマイグレーション先のNEMO機能搭載Xenホスト計算機ホスト計算機に移動する。この時点では、まだゲスト計算機はネットワークから切り離された状態にある。その後、マイグレーション元のホスト計算機が

図 4: 実験環境概要

マイグレーション先のホスト計算機に移動完了通知を送り、自身の NEMO BS 機能を停止する。移動完

トウェアが導入されている。表 1 にソフトウェア情了通知を受けたホスト計算機は、HA に対して現在報を示す。

位置を登録し、NEMO BS の MR として動作を開始

実験環境をより現実の環境に近づけるため、上述のする。HA への登録が完了した段階で、ゲスト計算機材は実際のインターネット環境上に構築した。ホー機が接続している仮想ブリッジの MNP が有効となムエージェント、およびホームエージェントが管理すり、マイグレーションが完了する。

るモバイルネットワークは Interop Tokyo 2009[10]のために構築された運用ネットワークの一部に設置実験による検証

5NEMO機能搭載
Xenホスト計算機

し、Xen ホスト計算機とストリーム受信ホストは IIJのネットワーク上に配置された。それぞれの機材は提案した設計が実現可能であることを確認するたInternet を介して相互接続されている。図 5 にトポめ、プロトタイプを実装して稼働実験を実施した。

ロジを示す。
ストリーム送信ホスト (ゲスト計算機) からは、

15M バイト、520K ビット/秒の MPEG4 ストリー
ムデータを UDP を使って継続的に送信した。ゲス
実験環境は、ホームエージェント、NEMO ルータ ト計算機のライブマイグレーション、およびホスト機能を備えた 2 台の Xen ホスト計算機、テスト用 計算機の NEMO 移動ルータ機能の停止作業および5.1

実験環境のストリーミングデータを受信する計算機の合計 4

開始作業は別途用意した制御用計算機から ssh を用台の計算機で構成される。それぞれの計算機はインいた遠隔コマンド実行によって操作した。ホスト計ターネットに接続され、相互に通信が可能な状態と算機が接続しているネットワークの IPv6 ルータ広なっている (図 4)。Xen ホスト計算機には 1 台のゲ

告の間隔は、IPv6 で定義されている最小間隔 (3 かスト計算機が構築され、ストリーミングサーバとしら 4 秒) に設定されている。て動作する。

制御用計算機からは、ゲスト計算機のライブマイオペレーティングシステムは Debian Linux 5.0、 グレーションを実行し、ライブマイグレーションがCentOS 5.2 が用いられ、必要な拡張機能およびソフ完了した直後にホスト計算機の移動処理を開始する

4

計算機

導入ソフトウェア

ホームエージェント

NEMO 機能搭載 Xen ホスト計算機

Debian Linux 5.0、NEPL
Debian Linux 5.0、NEPL、Xen 3.2Xen ゲスト計算機
ストリーム受信ホスト

Debian Linux 5.0、Video Lan Server
CentOS 5.2、Video Lan Client
表 1: 利用したソフトウェア













図 6: ストリームトラフィックのの推移

図 5: 実験ネットワークトポロジ

作し続けるため、切り換え時に瞬間的に停止 (数百スクリプトを準備し、5 分間隔で二つの計算機間のの構成ではホスト計算機をネットワーク層の技術をミリ秒) するだけで動作を継続できる。しかし、今回用いて移動させているため、ゲスト計算機のマイグ移動を繰り返した。

6

レーションの後のホスト計算機の移動処理が開始される。観測したトラフィックデータから、片方のホ評価と課題

スト計算機がストリームデータの配信を停止し、移動先のホスト計算機がストリームデータを送信し始ストリームトラフィックをホスト計算機の外足 (イめるまでに 6 秒程度の時間がかかる事が判明した。

ンターネット側インターフェース) でモニタした結ホスト計算機が接続したネットワークの IPv6 ルー果を図 6 に示す。5 分毎にゲスト計算機がライブマ

タ広告の間隔は 3 から 4 秒となっているので、ホスイグレーションされ、同時にホスト計算機が NEMO

ト計算機は平均すれば 1.75 秒でルータ広告を受信で移動ルータとして移動しているため、トラフィックきる環境にある。NEMO BS の処理の一部である、グラフが 5 分毎にふたつのホスト計算機の間を移動

気付アドレスの重複確認に 1 秒かかることを考慮すしているのが確認できる。

ると、この環境では通常 3 秒程度で移動検出が可能

ライブマイグレーションでは、仮想計算機のデーとなる。今回、それ以上に時間がかかっているのはタを複製している段階でも複製元の仮想計算機が動以下の 2 つの理由によると考えられる。

5

1. 制御計算機からの遠隔操作スクリプトの実行

ネットワークストレージへの到達性、応答性などがオーバヘッド問題になる可能性がある。ひとつの解決策としては、
外部ストレージを用いずに、すべてのメモリ上で処2. 移動の手順が通常の移動と異なるため理するゲスト計算機環境を構築する方法が考えられ

NEMO 移動ルータ機能の停止および開始が ssh によ るが、この方式ではメモリ上に保持するデータ量がる遠隔スクリプト実行によって実現されているため、 増えるに従って、マイグレーション完了までの時間TCP 接続のための時間、ホスト計算機でのプロセ が増加する。ライブマイグレーションを使うことで、
ス生成時間、遠隔コマンドによる NEMO 機能デー ほぼ無停止でのマイグレーションができるものの、移動を指示してから実際に移動が完了するまでの時モンプログラムの制御などの時間が通常の運用と比間は長くなる。別の方法は、インターネット上複数較して余分に必要となる。また、今回移動処理が単地点から効率的かつ透過的に扱えるストレージを提一の移動ノードで実行されるのではなく、二つの異供する方法である。簡単なものでは、ストレージのなる移動ノードで実行されている。すなわち、一方ミラーリング技術を発展させ、複数拠点から同一のの移動ルータからホームエージェントへの登録解除

ストレージデータにアクセスさせることで、ゲスト処理を完了した後に、もう一方の移動ルータの登録計算機に対する変化を抑えるとともに、ストレージ処理を実行している。同一移動ルータで移動処理をの耐障害性の向上も計ることができると思われる。

実行する場合は、登録解除処理は不要で、連続的に登録処理が可能であるため、その分余分な時間がかかっている。

7.2

今回ルータ移動技術として NEMO BS を用いた

考察

7が、この方式には二つほど問題点がある。まず一つ目は、NEMO BS を含む Mobile IPv6 系の移動通信本実験は、二つの技術 (NEMO BS と Xen 仮想化)技術一般に言える事であるが、ホームエージェントをの組み合わせ検証といえる。本節では検証の過程で介したトンネル通信が前提となってしまう点が挙げ得た知見を述べる。

7.1

利便性の問題られる。ホームエージェントが一点障害になるため、ホームエージェントの多重化技術を導入しなければネットワークストレージの問題ならないなど、別途考慮する点が発生する。二つ目

は、NEMO BS を利用したことにより、すべてのゲXen のような仮想計算機環境を提供する仕組みでスト計算機が同一の移動ネットワークのノードとしは、ゲスト計算機のストレージを提供する方法として管理されるため、ホスト計算機が移動する場合は、て、ホスト計算機のストレージの一部を提供する方関連するすべてのゲスト計算機群も同時に移動しな式と、ネットワークストレージを提供する方式の二ければならない点である。これは、ゲスト計算機が種類が考えられる。ライブマイグレーションを利用ホスト単位の移動通信技術、例えば Mobile IPv6 をする場合、ゲスト計算機が稼働するホスト計算機が採用することでも解決できるが、この場合すべての変わるので、ストレージはネットワーク上に配置すゲスト計算機で対応が必要となり、導入の敷居が高る必要がある。現在想定されている利用方法では、
い。NEMO BS を利用すると、ゲスト計算機変更がゲスト計算機は同一リンクを越えて移動することが不要になり、Xen で利用する標準のゲスト計算機をないため、ネットワークストレージを利用しても移そのまま利用できるという利点もある。
動前後に大きな環境変化は発生しない。しかし、今一つ目の問題はトンネルを用いない移動通信技術
回の実験のように、リンクを越えて移動する場合、を採用することで解決できる可能性がある。例えば、

6

HIP[11] や LIN6[12]、MAT などを基礎とした移動テムが提供している、NFS ルートパーティションかルータを用いる事が考えられる。仮想計算機のオフ

らの OS 起動の仕組みを利用したが、Linux 用 NFS

リンクライブマイグレーションを実現するための条はまだ IPv6 をサポートしていない。逆に、NEMO件は、仮想計算機が接続する仮想ブリッジのネット

BS の実装として利用した NEPL は IPv6 通信しかサポートしていない。NFS の IPv6 化、NEMO BSの DSMIPv6[13] 対応などで、IP バージョン非依存ワーク環境の維持であるため、それを実現する方法が NEMO BS である必然性はない。
二つ目の問題は、以下のいずれかの方法で対応可の環境へ移行していく必要がある。

能と考えられる。まず、すでに述べたようにゲスト計算機自体が Mobile IPv6 などの移動通信プロトコ

8ルを実装すること、もうひとつは、ゲスト計算機毎に NEMO BS 環境を提供することである。後者の案

まとめ
今後到来するクラウド環境において、計算機資源は、一種の Mobile IPv6 プロキシのような運用になの流動性確保が重要な技術となる。仮想計算機のラる。現在の実装では後者を実現することはできない

イブマイグレーション技術は、そのような技術の候が、独立したモバイルネットワークプレフィックス補である。現在のライブマイグレーション技術では、をひとつの計算機で独立して運用することは理論上移動先が同一ネットワーク内の別のホスト計算機に可能である。ゲスト計算機の変更を避けつつ、ゲス限定されている。これを別リンク、遠隔のネットワート計算機単位でのマイグレーションができる利点がクに移動できれば、計算機資源をより流動的に管理ある。

できる。本論文では、仮想化技術と IP 移動通信技術を用いて、リンクを共有していない複数のホスト計7.3算機間でゲスト計算機を移動させる手法を提案した。

実装上の問題

ゲスト計算機の移動が同一ネットワークに限定され今回の実験では実装上の制限に起因すると思われるのは、ホスト計算機が提供するネットワーク環境る問題にも遭遇した。

が、ホスト計算機が接続している物理ネットワークまず、仮想化環境のために利用した Xen 3.2 では、 に依存するためである。IP 移動通信技術を使い、ホ仮想計算機識別子 (VMID) の上限問題が発生した。 スト計算機の接続ネットワークに関わらず、常に固VMID は、仮想計算機が生成されたときに割り当て 定のネットワーク環境をゲスト計算機に提供するこられる、ホスト計算機上でのユニークな数値である。 とで、リンクを越えたマイグレーションを可能にし新しく生成された仮想計算機には、過去に利用された た。提案技術は実際のネットワーク環境を用いて運最大の VMID+1 の値が割り当てられるので、VMID用され、手法が実現可能であることを示した。

は単調に増加する。ライブマイグレーションが実行されると、移動先のホスト計算機では、移動してきた仮想計算機に対して新しい VMID を割り当てる。 謝辞
しかし、Xen では VMID の上限が 128 となってお本 研 究 を 進 め る に あ た り、中 村 雅 英 氏 、Jeanり、これを越えるとライブマイグレーションに失敗

Lorchat 氏、Martin André 氏から Linux およびMIPL/NEPL の構成について多くの助言をいただきする。
ライブマイグレーションを利用するためには、ゲました。また、実験環境の準備に尽力していただいた

スト計算機のストレージ (起動パーティションを含三宅喬氏、織学氏および Interop Tokyo 2009 NOCむ) をすべてネットワークストレージとして運用しなチームのみなさまに感謝いたします。

ければならない。今回 Linux オペレーティングシス

7

参考文献

Teraoka. LIN6: A New Approach to Mobility
Support in IPv6. In Wireless Personal Multimedia Communication (WPMC), November[1] Aaron Weiss. Computing in the clouds. netWorker, 11(4):16–25, December 2007.

2000.

[2] Brian Hayes. Cloud computing. Communica- [13] Hesham Soliman. Mobile IPv6 Support fortions of the ACM, 51(7):9–11, July 2008.
Dual Stack Hosts and Routers. IETF, June
2009. RFC5555.

[3] Paul Barham, Boris Dragovic, Keir Fraser,
Steven Hand, et al. Xen and the art of virtualization. In SOSP ’03: Proceedings of thenineteenth ACM symposium on Operating systems principles, pages 164–177. ACM, 2003.
[4] Google. Google App Engine, August 2009.
http://appengine.google.com/.
[5] Amazon.

AmazonElastic

ComputeCloud (Amazon EC2),
Augusthttp://aws.amazon.com/ec2/.

2009.

[6] Vijay Devarapalli, Ryuji Wakikawa, Alexandru Petrescu, and Pascal Thubert.
Network Mobility (NEMO) Basic Support Protocol. IETF, January 2005. RFC3963.
[7] Basavaraj Patil, Phil Roberts, and Charles E.
Perkins. IP Mobility Support for IPv4. IETF,August 2002. RFC3344.
[8] David B. Johnson, Charles E. Perkins, andJari Arkko. Mobility Support in IPv6. IETF,June 2004. RFC3775.
[9] Citrix, August 2009. http://www.xen.org/.
[10] InteropTokyo2009,
http://www.interop.jp/.

June2009.

[11] Robert Moskowitz, Pekka Nikander, PetriJokela, and Thomas R. Henderson. Host Identity Protocol. IETF, April 2008. RFC5201.
[12] Mitsunobu Kunishi, Masahiro Ishiyama,Keisuke Uehara, Hiroshi Esaki, and Fumio
8