大きな仮想マシンの 複数ホストへのマイグレーション

Slides:



Advertisements
Similar presentations
ファイルキャッシュを考慮したディスク監視のオフロード
Advertisements

セキュリティ機構のオフロードを考慮した仮想マシンへの動的メモリ割当
クラウド上の仮想マシンの安全なリモート監視機構
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
Xenを用いたクラウドコンピュー ティングにおける情報漏洩の防止
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
中村孝介(九州工業大学) 光来健一(九州工業大学/JST CREST)
KVMにおけるIDSオフロードのための仮想マシン監視機構
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
クラウドにおけるライブラリOSを用いた インスタンス構成の動的最適化
ファイルシステムキャッシュを 考慮した仮想マシン監視機構
侵入検知システム(IDS) 停止 IDS サーバへの不正アクセスが増加している
クラウドにおけるアプリケーション単位での VM構成の動的最適化
帯域外リモート管理を継続可能な マイグレーション手法
ファイルシステムキャッシュを 考慮したIDSオフロード
ネストした仮想化を用いた VMの安全な帯域外リモート管理
帯域外リモート管理の継続を 実現可能なVMマイグレーション手法
VMマイグレーションを可能にするIDSオフロード機構
クラウドの内部攻撃者に対する安全なリモートVM監視機構
アスペクト指向プログラミングを用いたIDSオフロード
サスペンドした仮想マシンの オフラインアップデート
サーバ負荷分散におけるOpenFlowを用いた省電力法
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
型付きアセンブリ言語を用いた安全なカーネル拡張
MPIを用いた最適な分散処理 情報論理工学研究室 角 仁志
KVMにおける仮想マシンの 内部監視機構の実装と性能評価
分散IDSの実行環境の分離 による安全性の向上
VMのメモリ暗号化によるクラウド管理者への情報漏洩の防止
VMのメモリ暗号化による クラウド管理者への情報漏洩の防止
VM専用仮想メモリとの連携による VMマイグレーションの高速化
IaaS型クラウドにおける インスタンス構成の動的最適化手法
リモートホストの異常を検知するための GPUとの直接通信機構
シャドウデバイスを用いた 帯域外リモート管理を継続可能なVMマイグレーション
実行時情報に基づく OSカーネルのコンフィグ最小化
仮想メモリを用いた VMマイグレーションの高速化
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
ネストしたVMを用いた 仮想化システムの高速なソフトウェア若化
仮想計算機を用いたサーバ統合に おける高速なリブートリカバリ
クラウドにおけるIntel SGXを用いた VMの安全な監視機構
非対称リンクにおける ジャンボフレームの性能評価
IaaS環境におけるVMのメモリ暗号化による情報漏洩の防止
クラウドにおけるVMリダイレクト攻撃を防ぐためのリモート管理機構
クラウドにおけるVM内コンテナを用いた 自動障害復旧システムの開発
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
クラウドにおけるVM内コンテナを用いた 低コストで迅速な自動障害復旧
Intel SGXを利用する 巨大なアプリケーションの マイグレーション機構
Intel SGXを利用するコンテナの マイグレーション機構
Intel SGXを用いた仮想マシンの 安全な監視機構
軽量な仮想マシンを用いたIoT機器の安全な監視
複数ホストにまたがって動作する仮想マシンの障害対策
VMMのソフトウェア若化を考慮した クラスタ性能の比較
信頼できないクラウドにおける仮想化システムの監視機構
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
Virtualizing a Multiprocessor Machine on a Network of Computers
仮想環境を用いた 侵入検知システムの安全な構成法
Cell/B.E.のSPE Isolationモードを用いた監視システム
仮想マシンの監視を継続可能なマイグレーション機構
仮想マシンと物理マシンを一元管理するための仮想AMT
仮想化システムのソフトウェア若化のための軽量なVMマイグレーション
仮想マシンに対する 高いサービス可用性を実現する パケットフィルタリング
VMリダイレクト攻撃を防ぐための 安全なリモート管理機構
ゼロコピー・マイグレーションを 用いた軽量なソフトウェア若化手法
仮想化システムの 軽量なソフトウェア若化のための ゼロコピー・マイグレーション
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
強制パススルー機構を用いた VMの安全な帯域外リモート管理
異種セグメント端末による 分散型仮想LAN構築機構の設計と実装
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
複数ホストにまたがるVMの 高速かつ柔軟な 部分マイグレーション
複数ホストにまたがるVMの メモリ使用状況に着目した高速化
強制パススルー機構を用いた VMの安全な帯域外リモート管理
Presentation transcript:

大きな仮想マシンの 複数ホストへのマイグレーション 九州工業大学 情報工学部 機械情報工学科 光来研究室 11237025 木津巴都希 大きな仮想マシンの複数ホストへのマイグレーション、と題しまして光来研B4の木津が発表いたします。

仮想マシンの普及 仮想マシン(VM)が様々な用途に用いられるよう になっている VMを用いたサーバ集約 クラウドコンピューティング ハードウェアの余剰リソースを有効活用 クラウドコンピューティング ユーザにネットワーク経由でVMを提供 必要な時に必要なだけ利用できる 近年仮想マシンが様々な用途に用いられるようになっています。 例えば、VMを用いたサーバ集約により一台の計算機上で多くのVMを動作させたり、ハードウェアの余剰リソースを有効活用したり出来ます。 また、仮想マシンを用いたサービスとしてクラウドコンピューティングが挙げられます。 これはユーザにネットワーク経由でVMを提供し、ユーザが必要な時に必要なだけVMを利用する事が出来ます。このようなサービスはコスト削減のため広まりを見せています。 ----- 会議メモ (2015/02/18 18:31) ----- 集約のところふやす KVMについて説明

VMマイグレーション VMを停止させずに別のホストに移動させる技術 マイグレーションの手順 ホストのメンテナンス時などに行われる ここで仮想マシンを利用するにあたって不可欠となるマイグレーションについて説明をします。 マイグレーションとは他のホスト上に仮想マシンを停止させることなく移動させる手法で、ホストのメンテナンス時等に用いられます。 マイグレーションが行われる手順としては、まず移送先のホストにCPUやデバイスの情報等のVMの核となる部分を送信し、空のVMを作成します。 ホスト1 ホスト2 VM VM メモリ

VMマイグレーション VMを停止させずに別のホストに移動させる技術 マイグレーションの手順 ホストのメンテナンス時などに行われる ホスト1 ホスト2 VM VM メモリ メモリ

VMマイグレーション VMを停止させずに別のホストに移動させる技術 マイグレーションの手順 ホストのメンテナンス時などに行われる メモリの転送が終了したらマイグレーションされたメモリをもとにしてVMを復元し、移送元のVMは停止され、移送先のVMが起動します。 以上の流れでマイグレーションは行われます。 ホスト1 ホスト2 VM VM メモリ

巨大なメモリを持つVM 巨大なVMも使われるようになってきた マイグレーション時に移送先を見つけるのが困難 例:Amazon EC2は244GBのメモリを持つVMを提供 ビッグデータを解析する際などに用いられる マイグレーション時に移送先を見つけるのが困難 大きな空きメモリ容量を持ったホストを確保し続けてお くのはコスト面で難しい 近年、ハードウェアの飛躍的な性能の向上が進んでいます。 例えばAmazonEC2という仮想化サーバでは32個のCPUと244GiBのメモリを持つVMが提供出来るようになりました。。 このような巨大なメモリを持つVMは例えば、ビッグデータの解析等のように巨大なデータを扱う場合に利用されます。 このような巨大なメモリを持つVMは、一方でマイグレーションが困難になるという問題があります。 マイグレーションを行う際、移行先の物理マシンには十分な空きメモリ容量が必要となります。 しかしコストの面からマイグレーション先の確保のために巨大なメモリ容量を備えたVMを多数確保し続ける事は難しいです。 空きメモリの十分なホストが準備出来なかった場合、マイグレーションは行えず、メンテナンスを行うにはVMを停止させなければならなくなります。 ホスト1 ホスト2 VM (244GB) 64GB

仮想メモリの利用 仮想メモリを使うことでメモリ容量の小さなホストで も大きなVMを動かせる スワップを繰り返すと性能が著しく低下 メモリに入りきらないデータはディスクに格納 データが必要になったらメモリとディスク間でスワップ スワップを繰り返すと性能が著しく低下 ディスクはメモリと比べて非常に遅い メモリが不足していた際には仮想メモリを用いることでメモリ不足を解決することが出来ます。 これは、ハードディスク上にスワップ領域とよばれる領域を作成し、メモリに入りきらないデータをこのディスク上のスワップ領域に格納します。 ディスク上のデータが必要になった際は、メモリ内で使われていないデータとディスク上のデータを交換するスワップを行います。 しかしながら、ハードディスクへのアクセスはメモリと比べて非常に遅いため、スワップを繰り返すと性能が著しく低下してしまうという問題があります。 VM ディスク メモリ スワップ データ ディスク

提案:S-memV 巨大なメモリを持つVMを複数のホストにマイグ レーション 1つのメインホストと複数のサブホストで構成されるホス ト群を移送先にできる メインホスト上のVMはサブホストの メモリも使って動作 そこで、本研究では巨大なメモリを持つVMを複数のホストにマイグレーションすることを可能とするS-memVを提案します。 S-memVはこちらの図のようにマイグレーション先をひとつのホストに限らず、ひとつのメインホストと複数のサブホストで構成されたホスト群をマイグレーション先にすることが出来ます。 マイグレーション後、メインホスト上のVMはサブホストのメモリを用いて動作します。

S-memVによるマイグレーション VMのメモリを分割して複数のホストに転送 マイグレーション後はメインホストでVMを実行 メインホストに入りきらないメモリはサブホストへ マイグレーション後はメインホストでVMを実行 メインホストに存在しないメモリにアクセスしたらサブホス トのメモリとスワップ S-memVではひとつのホストで稼働しているVMをメインホストとサブホストからなるホスト群へとVMのメモリを分割してマイグレーションします。 このとき、CPU状態やデバイスの情報等のVMの核となる部分と、VMが頻繁にアクセスするメモリはメインホストへと転送し、メインホストに入りきらなかったメモリをサブホストへと転送します。 マイグレーション後はメインホストでVMを実行し、VMがメインホストに存在しないメモリにアクセスをした場合はサブホストのメモリとスワップさせます。 サブホスト1 メモリ転送 メモリ ホスト メインホスト マイグレーション VM スワップ サブホスト2 メモリ メモリ転送

様々なマイグレーション 複数のホストを使って動作しているVMをマイグ レーションする 1つのホストへ 別の複数のホストへ メンテナンス終了時、空きホストが見つかった時 別の複数のホストへ VMが使っているホストのメンテナンス時 また、S-memVでは複数のホストを使って動作しているVMをマイグレーションする事も提案します。 例えば、S-memVを用いて複数のホストにマイグレーションした後にメンテナンスが終了し、1つのホストにVMを戻したい場合や、複数のホストで稼働しているVMを更に別の複数のVMへマイグレーションさせたい場合に利用出来ます。

S-memVの実装 KVMに実装を行った Linuxに標準で搭載されている仮想化ソフトウェアの1つ マイグレーション機能を拡張 サブホスト上で動作するmemserverを開発 本研究ではS-memVをKVMにて実装を行いました。 KVMとはLinuxが備える仮想化機能で、1台のパソコンで複数のOSを動かすために必要な制御を行います。また、KVMではマイグレーションを行う機能も備えています。

マイグレーション機構の拡張 KVMがVMの各メモリページをメインホストとサブ ホストのいずれかに転送 現在の実装 各サブホストのmemserverとネットワーク接続 メモリページのアドレスと4KBのデータを送信 どのホストに送ったかを記録 現在の実装 サブホストは1台を想定 メモリアドレスによって転送先を決定 VM KVMが複数のホストを利用してマイグレーションを行えるようにするため、KVMのマイグレーション機能の拡張を行いました。 マイグレーション時、KVMがVMの各メモリページをメインホストとサブホストのいずれかに転送出来るようにしました。 各サブホストのmemserverとネットワークで接続し、メモリページのアドレスとページデータを送信します。 このとき、どのホストにどのメモリページを送ったかを記録します。 現在の実装ではサブホストを1台と想定しており、また送信するメモリのアドレスによって転送先を決定しています。 ページ1 ページ2 ページ3 ページ4 メモリ

memserver サブホストでVMのメモリの一部を管理するサーバ 基数木を用いて管理 登録要求 探索要求 メモリアドレスをキーとしてメモリページを管理 メモリ効率のよいデータ構造 登録要求 受信したメモリアドレスと メモリページの組を登録 探索要求 受信したメモリアドレスに対応 するメモリページを返す 000000 01 02 2B 次にmemserverについて説明します。 memserverとはVMのメモリの一部を管理するサーバであり、サブホスト上で動作します。 基数木を用いて移送元ホストから受け取ったVMのアドレスをキーとし、ページデータを保存・管理します。この基数木による管理はメモリの利用効率のよいデータ構造であり、Linuxカーネルでも用いられているものです。 マイグレーション時は受信したメモリアドレスとメモリページの組を登録する事で管理を行います。 また、マイグレーション後はVMのアドレスからなる探索要求を受信した時に基数木を探索し、VMのメモリページが見つかった場合にはそのデータを要求元のVMへと送信します。 ... ... 3F 1000 2000 ... メモリページ

実験 大きなVMのマイグレーション性能を比較 実験環境 移送先のメモリが不足している場合(2GB) 移送先のメモリが十分な場合(4GB) S-memV スワップを用いた従来システム 移送先のメモリが十分な場合(4GB) 従来システム 実験環境 VM:メモリ 2GB ギガビットイーサで接続 移送元 CPU:Intel Xeon E3-1270v2 3.5GHz メモリ:16GB メインホスト CPU:Intel Xeon E5640 2.67GHz メモリ:2GBまたは4GB サブホスト メモリ:2GB 既存のシステムとS-memVを用いたマイグレーションを行うことで、KVM及びS-memVによるマイグレーションの性能評価を行いました。 本実験ではマイグレーション前後での移送先ホストおよびVMのメモリとディスクスワップ領域の変化とマイグレーションに要した時間を測定しました。 実験環境はご覧の通りです。

マイグレーション時間 VM内でアプリケーションを動かさない状態でマイ グレーションに要する時間を計測 S-memVはメモリが十分な場合とほぼ同等の時間 性能低下は4% スワップを行った従来シス テムはS-memVの1.5倍 本実験ではマイグレーションに要した時間について計測を行いました。 VMはいずれも2GB分のメモリを使用している状態です。 S-memVはメモリが十分な場合の従来システムと比べて性能低下は4%程度となっており、ほぼ同等の時間となっています。 また、グラフ内で一番右が移送先ホストのメモリが不足している場合になっていますが、こちらはスワップ領域を用いてマイグレーションをしているため時間がかかってしまっています。

メモリ負荷下の性能 VM内でメモリに負荷をかけた状態でマイグレー ションに要する時間を計測 memcachedサーバを動作させ、外部からアクセス S-memVはメモリが十分な 場合より若干遅い 性能低下は10% スワップを行った従来シス テムはS-memVの7倍 次にmemcachedというメモリを用いた このmemcachedのベンチマークによりメモリアクセスを頻発させた状態でマイグレーションを行い、かかった時間を測定しました。 S-memVは空きメモリが十分な従来システムよりも13%程度の性能低下が見られました。 しかし、空きメモリ不足によってスワップ領域を用いている従来システムではメモリが十分であった場合よりも8倍以上もの時間がかかっており、S-memVによる分散マイグレーションの有用性が分かりました。

関連研究 ポストコピー・マイグレーション [Hine et al.'09] MemX [Deshpande et al.'10] メモリを転送する前に移送先のVMに切り替える 必要になったメモリを移送元からオンデマンドで転送 MemX [Deshpande et al.'10] VMが複数のホストのメモリを利用できる マイグレーションには未対応 ネットワーク・スワップ [Markatos et al.'96] 他のホストのメモリとの間で高速にスワップを行う マイグレーション時のネットワーク転送量が多い 関連研究です。 ポストコピーマイグレーションです。 通常のマイグレーションはメモリを全て転送しきってから移動先の仮想マシンに切り替えるのですが、ポストコピーマイグレーションではメモリを転送する前に移動先の仮想マシンに切り替え、必要になったメモリをオンデマンドで転送するというものです。 次がMemXです。これはVMが複数のホストのメモリを利用出来るというものですが、こちらはマイグレーションには未対応となっています。 ネットワーク・スワップでは他のホストのメモリとで高速にスワップを行うというものですが、このネットワークスワップを用いてマイグレーションを行うとマイグレーション時のネットワーク転送量が増大してしまうという問題があります。

まとめ 巨大なメモリを持つVMを複数のホストへマイグ レーションできるS-memVを提案 今後の課題 メインホストに入りきらないメモリはサブホストに転送 KVMに実装し、従来システムよりマイグレーション性能 が高いことを示した 今後の課題 メインホストとサブホスト間でメモリをスワップできるよう にする 複数のホストを使って動作するVMをマイグレーションで きるようにする 最後にまとめです。 本研究では巨大なメモリを持つVMを複数のホストへマイグレーション出来るS-memVを提案しました。これはメインホストに入りきらないメモリをサブホストへ転送するというものです。 これをKVMに実装し、従来システムよりマイグレーション性能が高いことを示すことが出来ました。 今後の課題としてはメインホストとサブホスト間でメモリをスワップ出来るようにすること、複数のホストを使って動作しているVMをマイグレーションで切るようにすることです。 以上で発表を終わります。ご清聴ありがとうございました。