Upgrade to Pro — share decks privately, control downloads, hide ads and more …

帯域外リモート管理の継続を可能にするVMマイグレーション

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Sho Kawahara Sho Kawahara
February 26, 2015
14

 帯域外リモート管理の継続を可能にするVMマイグレーション

IaaS 型クラウドにおいて,ユーザは提供された仮想マシン(ユーザ VM)をリモート管理する.ユーザ VM を管理する権限を持つ VM(管理 VM)を経由する帯域外リモート管理を行うことで,ユーザ VMの障害発生時でも管理が可能となる.しかし,ユーザ VM を別のホストにマイグレーションすると,管理VM がユーザ VM にアクセスできなくなり,リモート接続が切断されてしまう.さらに,処理中の入力情報も失われる可能性がある.

この問題を解決するために,本稿では帯域外リモート管理の継続が可能なVM マイグレーションを実現するシステム D-MORE を提案する.D-MORE は,マイグレーションが可能でユーザ VM にアクセスする特権を持つリモート管理専用の VM であるドメイン R を提供し,同期を取りながらドメイン R とユーザ VM を同時にマイグレーションする.D-MORE を Xen に実装し,ユーザVM をマイグレーションしても帯域外リモート管理が継続できることを確認した.また,マイグレーション時に入力情報が失われず,D-MORE のオーバヘッドが許容範囲内であることを確認した.

Avatar for Sho Kawahara

Sho Kawahara

February 26, 2015
Tweet

Transcript

  1. © Sho KAWAHARA, KSL, Kyushu Institute of Technology  仮想マシン(VM)をネットワーク経由でユーザに提供

    ◦ ユーザがVM内のシステムを自由に管理できる  ユーザVM内のリモート管理システム(RMS)サーバ に接続して管理 ◦ VM内のネットワーク障害時に管理が不可能になる  ネットワークの設定ミス SSH IaaS型クラウドにおけるリモート管理 VM VM VM VM 管理 VNC RMS クライアント RMS サーバ RMS
  2. © Sho KAWAHARA, KSL, Kyushu Institute of Technology 帯域外リモート管理 

    管理VM経由でユーザVMをリモート管理 ◦ 管理VMでRMSサーバを動作させる ◦ ユーザVMの仮想デバイスを直接参照する ◦ ユーザVMのネットワーク障害の影響を受けない  ネットワークの設定ミス時でも操作が可能 RMS クライアント 管理VM RMSサーバ 仮想デバイス ユーザVM ネットワーク障害 帯域内リモート管理 帯域外 リモート管理
  3. © Sho KAWAHARA, KSL, Kyushu Institute of Technology マイグレーション時の管理中断 

    VMのマイグレーション時にリモート接続が切断される ◦ ユーザVMの移送によって移送元のRMSサーバが終了  削除された仮想デバイスにアクセスできなくなるため  移送先のRMSサーバにつなぎ直さなければならない ◦ 切断された原因を調べ,移送先を調べる必要がある 管理 VM RMS クライアント RMS サーバ ユーザ VM マイグレーション 管理 VM ? 仮想 デバイス RMS サーバ 仮想 デバイス
  4. © Sho KAWAHARA, KSL, Kyushu Institute of Technology マイグレーション時の入出力情報の損失 

    リモート管理の入出力情報が失われる可能性がある ◦ ネットワーク上の送信中のデータ  リモート接続が切断されるため ◦ RMSサーバや仮想デバイスで処理中のデータ  RMSサーバが終了するため  仮想デバイスが削除されるため 管理 VM RMS クライアント ユーザ VM マイグレーション 管理 VM RMS サーバ RMS サーバ 仮想 デバイス 仮想 デバイス C B A D E F G H I J K L M N O 処理中 処理中 送信中
  5. © Sho KAWAHARA, KSL, Kyushu Institute of Technology 提案: D-MORE

     帯域外リモート管理を継続可能なマイグレーションを 実現するシステム ◦ マイグレーション可能なリモート管理用VM(ドメインR)を提供  RMSサーバと仮想デバイスを動かす ◦ 同期を取りながらドメインRとユーザVMを同時マイグレーション ◦ RMSクライアント,ドメインR,ユーザVM間の接続を維持 VNC Server マイグレーション ドメインR RMS サーバ 仮想 デバイス ユーザ VM 管理 VM RMS クライアント D-MOREにより接続を保つ ネットワークレベルで 維持される
  6. © Sho KAWAHARA, KSL, Kyushu Institute of Technology RMS クライアント

    データロスの防止  D-MOREではマイグレーション時に入出力情報が失 われない ◦ RMSサーバや仮想デバイスで処理中の入出力データ  ドメインRとともにマイグレーションされる ◦ RMSクライアントが送受信中のネットワーク上のデータ  失われてしまった場合にはTCPにより再送 ドメインR RMS サーバ 仮想 デバイス ユーザ VM C B A D E F G H I 処理中 処理中 送信中
  7. © Sho KAWAHARA, KSL, Kyushu Institute of Technology ドメインR 

    仮想デバイスを動作させるのに必要な権限を持つ ◦ ユーザVMとの間に共有メモリを確立できる  入出力情報を受け渡すために使用 ◦ 仮想割り込みチャネルを確立できる  入出力情報を送信したことを通知  指定したユーザVMへの アクセスのみ許可 ◦ 管理VMで関連づけ 仮想デバイス RMS サーバ ドメインR ユーザ VM 仮想割り込み チャネル 共有 メモリ 割り込み C B A
  8. © Sho KAWAHARA, KSL, Kyushu Institute of Technology 単一VMのマイグレーション 

    VMを動作させたままメモリを移送先に転送 ◦ 変更されたメモリページを再送  変更されたページが十分に少なくなるまで繰り返す  VMを停止させ,残りの状態を転送 ◦ 変更されたページとCPUの状態 ◦ この時間はダウンタイムになる  移送先でVMを再開 停止 移送元 移送先 作成 再開 終了 移送元 VM 移送先 VM メモリ転送
  9. © Sho KAWAHARA, KSL, Kyushu Institute of Technology  ドメインRとユーザVMの同期を取りながら同時にマイグ

    レーション ◦ ダウンタイムを削減するため2つのVMを同時に停止 ◦ 移送先でユーザVMのメモリが再構築された後で共有メモリを 復元 ◦ VMが停止している間に仮想割り込みチャネルの保存および復 元を行う 同時マイグレーション 停止 ドメインR ユーザVM 移送元 移送先 作成 終了 ドメインR ユーザVM 共有メモリ の復元 再開 仮想割り込みチャネル の保存 仮想割り込み チャネル の復元
  10. © Sho KAWAHARA, KSL, Kyushu Institute of Technology 共有メモリの復元 

    移送元:ユーザVMのメモリ共有状態を保存 ◦ ドメインRのページテーブルを検査 ◦ ユーザVMのメモリページを共有中なら監視ビットをセット  移送先:ユーザVMのメモリを再共有 ◦ ドメインRが受け取ったページテーブルを検査 ◦ 監視ビットがセットされていれば対応するメモリページを共有 ドメインR ユーザ VM 共有 再共有 ページテーブル 移送元 移送先
  11. © Sho KAWAHARA, KSL, Kyushu Institute of Technology 仮想割り込みチャネルの復元 

    移送元:仮想割り込みチャネルの状態を保存 ◦ 仮想割り込みチャネルの一覧を取得 ◦ 使われているポートの組を送信  移送先:仮想割り込みチャネルを再確立 ◦ 移送元と同じポートの組を用いることを保証 ◦ OSによるレジューム時の初期化処理を無効化 ドメインR ユーザVM 仮想割り込みチャネル 仮想割り込みチャネル port:2 port:10 port:2 port:10 移送元 移送先
  12. © Sho KAWAHARA, KSL, Kyushu Institute of Technology 共有メモリ上のデータ転送 

    ドメインRによって共有メモリに書き込まれた入力情報は 再送されない可能性がある ◦ 通常、転送中に書き込みが行われたページは再送される  VMをlog dirtyモードにして書き込みを検出  対象VMが所有するページへの書き込みのみ検出可能  ドメインRによる共有メモリへの書き込みは検出されない  共有メモリはユーザVMのメモリ ドメインR ユーザVM 共有 ? 検出
  13. © Sho KAWAHARA, KSL, Kyushu Institute of Technology log dirtyモードの拡張

     D-MOREでは共有メモリを常にダーティとみなす ◦ ドメインRに共有されているユーザVMのページを記録 ◦ マイグレーション中はそのページもダーティと判断 ◦ ドメインRによる書き込みも必ず転送される  共有メモリの転送は最終段階での1回のみ ◦ 頻繁に更新されているページは転送されないため ドメインR ユーザVM 共有 ダーティ
  14. © Sho KAWAHARA, KSL, Kyushu Institute of Technology  VNCによるリモート管理

    ◦ VNCサーバ ◦ 仮想キーボード・マウス・フレームバッファ(準仮想化)  SSHによるリモート管理 ◦ SSHサーバ ◦ 仮想コンソール(準仮想化) 対応しているRMS VMM Dom0 DomR DomU XenStore map I/O ring QEMU read/write event channel QEMU backend driver RMS server frontend driver
  15. © Sho KAWAHARA, KSL, Kyushu Institute of Technology 実験 

    リモート管理の性能およびマイグレーション性能を調 べた ◦ データロス防止の確認 ◦ ドメインRのオーバヘッド ◦ 同時マイグレーション時間 ◦ VMのダウンタイム ◦ ユーザが感じるダウンタイム ◦ 同時マイグレーション中の 性能低下 サーバ側 実験環境 CPU Intel Xeon E3-1270 3.40GHz メモリ ドメインR 128MB ユーザVM 2GB VMM Xen 4.3.2 OS Linux 3.7.10 クライアント側 実験環境 CPU Intel Xeon E5-1620 3.60GHz メモリ 8GB クライアント TigerVNC 2.0.95 OpenSSH 6.0
  16. © Sho KAWAHARA, KSL, Kyushu Institute of Technology 実験1: データロス防止の確認

     マイグレーション時にデータロスが発生するか調べた ◦ VNCクライアントで 50 ms ごとに 1キーを送信 ◦ 失われるキーの数を計測  従来システム ◦ 平均 1.4 キーが失われた  D-MORE ◦ キーは全く失われなかった ◦ TCP による再送は 平均 8.5 回行われていた 1.4 0 0 0.5 1 1.5 number of lost keys original D-MORE
  17. © Sho KAWAHARA, KSL, Kyushu Institute of Technology 実験2: ドメインRのオーバヘッド

     キーボード入力の応答時間を測定 ◦ VNCまたはSSHでリモート接続 ◦ キー入力を送信して出力が送られてくるまでの時間を測定  実験結果 ◦ いずれの場合もオーバヘッド はほとんど発生しなかった  VNC 221μsec 増加  SSH 5μsec 増加 0 5 10 15 20 25 30 35 40 keyboard response time (msec) original D-MORE VNC SSH 0.0 0.2 0.4 0.6 0.8 1.0 1.2 response time (msec) original D-MORE
  18. © Sho KAWAHARA, KSL, Kyushu Institute of Technology  同期の影響を調べるために同時マイグレーションに要す

    る時間を測定 ◦ VNCまたはSSHでリモート接続 ◦ D-MORE:入力あり,なしの場合 ◦ 比較対象:同期をせずに2つのVMをマイグレーション  実験結果 ◦ 同期の影響は小さい  VNC 最大 1.6 sec  SSH 最大 0.4 sec ◦ 入力を行っていると増加  書き換えられるメモリ量が 多くなるため 0 5 10 15 20 25 30 0 512 1024 1536 2048 co-migration time (sec) memory size of user VM (MB) D-MORE 入力あり D-MORE 入力なし 同期なし 実験3: 同時マイグレーション時間 VNC
  19. © Sho KAWAHARA, KSL, Kyushu Institute of Technology 実験4: VMのダウンタイム

     同時マイグレーション時のVMのダウンタイムを測定 ◦ VNCでリモート接続 ◦ D-MORE: 入力あり,なしの場合 ◦ 比較対象: 同期をせずに2つのVMをマイグレーション  実験結果 ◦ ドメインRへの 影響は大きい  同期待ちの影響 ◦ ユーザVMは短くなった  先に処理されるため ◦ 入力の影響は小さい 0 50 100 150 200 250 0 512 1024 1536 2048 downtime (msec) memory size of user VM (MB) ドメインR 入力あり ドメインU 入力あり ドメインR 入力なし ドメインU 入力なし 同期なし
  20. © Sho KAWAHARA, KSL, Kyushu Institute of Technology 実験5: ユーザが感じるダウンタイム

     同時マイグレーション時にユーザが感じるダウンタイム を測定 ◦ VNCまたはSSHでリモート接続 ◦ 50 ms ごとに 1キーを送信 ◦ マイグレーションの最終段階での最長の応答時間  実験結果 ◦ VNC 最大 827 ms ◦ SSH 最大 667 ms  小さくはないが 許容範囲内 0 200 400 600 800 1000 0 512 1024 1536 2048 downtime (msec) memory size of user VM (MB) VNC SSH
  21. © Sho KAWAHARA, KSL, Kyushu Institute of Technology 実験6: 同時マイグレーション中の性能低下

     同時マイグレーション中の応答時間の変化を測定 ◦ VNCでリモート接続 ◦ 50 ms ごとに 1キーを送信  実験結果 ◦ 平均 5.4 ms の増加  最終段階での応答時間は 744 ms フレームレートは平均 0.4 fps の低下 最終段階でのフレームレートは 6.7 fps 0 10 20 30 40 50 60 0 20 40 60 80 100 response time (msec) elapsed time (sec)
  22. © Sho KAWAHARA, KSL, Kyushu Institute of Technology 関連研究 

    VNC プロキシ ◦ プロキシが透過的にマイグレーション先に再接続 ◦ マイグレーション時に管理VM上の入出力情報が失われる  SPICE [Red Hat, Inc. ‘09] ◦ クライアントが自動的にマイグレーション先に再接続 ◦ VMの管理が特定のRMSに依存する  VMCoupler [Kourai et al. ‘13] ◦ ユーザVMの監視専用VM(ドメインM)を提供 ◦ ドメインMとユーザVMを同時にマイグレーション  同期のタイミングはD-MOREと大きく異なる
  23. © Sho KAWAHARA, KSL, Kyushu Institute of Technology まとめ 

    D-MORE:帯域外リモート管理の継続が可能なマイグ レーションを実現するシステム ◦ ドメインRでRMSサーバと仮想デバイスを動作させる ◦ ドメインRとユーザVMを同時にマイグレーション  ドメインRとユーザVM間の接続を維持 ◦ D-MORE の有効性を確かめた  入力情報が失われないことを確認  オーバーヘッドが許容範囲であることを確認  今後の課題 ◦ 完全仮想化に対応 ◦ ドメインRのリソース消費量の削減