24
Sho KAWAHARA, KSL, Kyushu Institute of Technology 帯帯帯帯帯帯帯帯帯帯帯帯帯帯帯帯 帯帯帯帯帯帯帯帯帯帯 川川 川 川川 川川川川川川川

帯域外リモート管理の継続が可能な マイグレーション手法

  • Upload
    thuyet

  • View
    60

  • Download
    0

Embed Size (px)

DESCRIPTION

帯域外リモート管理の継続が可能な マイグレーション手法. 川原 翔  光来 健一 九州 工業大学. IaaS 型クラウドにおける管理. 利用. VM. VM. VM. VM. VM. VM. VM. VM. VM. VM. VNC. 仮想マシン( VM )をネットワーク経由でユーザに提供 負荷に応じて VM 数や性能を変更できる ユーザ VM 内の VNC サーバ等に接続して管理 VM 内のネットワーク障害時に管理が不可能になる ネットワークの設定ミスや OS のクラッシュ時など. 帯域外リモート管理. 管理 VM. ユーザ VM. - PowerPoint PPT Presentation

Citation preview

Page 1: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

帯域外リモート管理の継続が可能な

マイグレーション手法川原 翔 光来 健一

九州工業大学

Page 2: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

仮想マシン( VM )をネットワーク経由でユーザに提供◦ 負荷に応じて VM 数や性能を変更できる

ユーザ VM 内の VNC サーバ等に接続して管理◦ VM 内のネットワーク障害時に管理が不可能になる

ネットワークの設定ミスやOS のクラッシュ時など

IaaS 型クラウドにおける管理

VMVMVMVMVM

VMVMVMVMVM

利用VNC

Page 3: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

管理 VM 経由でユーザ VM をリモート管理◦ 管理 VM でリモート管理サーバを動作させる◦ ユーザ VM の仮想デバイスを直接参照する◦ ユーザ VM のネットワーク障害の影響を受けない

ネットワークの設定ミス時でも操作が可能

帯域外リモート管理

VNCクライアント

管理 VM

VNC サーバ

仮想デバイス

ユーザ VM

ネットワーク障害

Page 4: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

VM のマイグレーション時に VNC 接続が切断される◦ ユーザ VM の移動によって移動元の VNC サーバが終了◦ 移動先の VNC サーバにつなぎ直さなければならない

キーボード等の入力情報が失われる可能性がある◦ ネットワーク上の送信中のデータ◦ VNC サーバからユーザ VM に渡されていないデータ

マイグレーション時の管理中断

管理 VM

VNCクライア

ント

VNCサーバ

ユーザ VM

マイグレーション

管理 VM

VNCサーバ

21?

Page 5: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

VM のマイグレーション時に VNC サーバの IP アドレスとポート番号が変わる◦ 移動先の管理 VM の IP アドレス◦ 管理 VM 上の VNC サーバの数に依存したポート番号

クライアント側のファイアウォールで外向きの通信を広範囲に許可する必要◦ クライアントが踏み台攻撃に使われた時の危険性が増

不定な接続先

VNCクライアン

allow ip xxx.xxx.0.0/16 port 5900-5999

VNCサーバ

100

5900VNC

サーバ

101

VNCサーバ

102

VNCサーバ

103

VNCサーバ

104 590 1

VNCサーバ

590 2

VNCサーバ

590 3

VNCサーバ

Page 6: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

帯域外リモート管理を継続可能なマイグレーションを実現するシステム◦ VNC サーバと仮想入出力デバイスをリモート管理用

VM (ドメイン R )で稼働させる◦ ユーザ VM とともにドメイン R もマイグレーション◦ ドメイン R とユーザ VM 間の接続を維持

提案 : D-MORE

マイグレーション

1 ドメインR

VNCサーバ

仮想デバイス

ユーザVM

2

管理VM

ネットワークレベルで維持される

VNCクライアン

ト本手法により

接続が保たれる

Page 7: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

VNCクライアン

マイグレーション時にユーザ VM に届いていない入力情報が失われない◦ VNC サーバや仮想デバイスで処理中の入力データ

ドメイン R とともにマイグレーションされる◦ VNC クライアントから送信中のネットワーク上のデー

タ 失われてしまった場合には TCP により再送

データロスの防止

ドメイン R

VNCサーバ

仮想デバイス

ユーザVM

ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD

処理中

ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD

処理中

ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD

送信中

Page 8: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

マイグレーション時に VNC サーバの IP アドレスとポート番号が変わらない◦ VNC サーバはドメイン R とともにマイグレーションさ

れるため◦ クライアント側のファイアウォールでピンポイントに許

可できる ドメイン R にグローバル IP アドレスを割り当て

ないことも可能◦ ドメイン R にプライベート IP アドレスを割り当てる◦ ユーザ VM の IP アドレスとの間で NAPT を行う

接続先の固定

VNCサーバ

VNCクライアン

ユーザ VMxxx.xxx.xxx.10

0

ドメイン R192.168.0.131

xxx.xxx.xxx.100 :15900

192.168.0.131:5900

Page 9: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

マイグレーション後にユーザ VM が仮想入出力デバイスを使い続けられるようにする◦ 共有メモリ

入出力情報を格納するためのバッファが置かれる メモリの共有状態を自動的に復元することによって維持

◦ 仮想割り込みチャネル ユーザ VM に入力情報がある

ことを通知 チャネルを自動的に再確立

することで維持

ドメイン R とユーザ VM 間の接続維持

D-MORE仮想デバイス

ドメイン RユーザVM

共有メモリ

仮想割り込みチャネル

Page 10: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

ユーザ VM とドメイン R の同期を取りながらマイグレーションを行う◦ タイミングによっては入力情報が失われる可能性があ

る ユーザ VM が停止状態になった後で,ドメイン R が共有メ

モリにデータを書き込んだ場合◦ ドメイン R の稼働中はユーザ VM を常に稼働させてお

く ただし,ユーザ VM の稼働中はできるだけドメイン R を止

めない

同時マイグレーション

停止 再開

ドメインR

ユーザVM

Page 11: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

ドメイン R

Xen 4.1.3 に実装◦ 準仮想化 Linux を動かすユーザ VM を対象

ドメイン R で動作する VNC サーバを開発◦ キーボードとマウスの入力要求に対応◦ RFBProxy を拡張して実装

実装

管理 VM

D-MOREVNCサーバ

ユーザVM

QEMU

 既存のVNCサーバ

VNCクライアント

画面更新要求

要求

D-MORE仮想デバイス

Page 12: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

ドメイン R で動作する仮想入力デバイスを開発◦ 仮想キーボード,仮想マウス

処理の流れ◦ VNC サーバから入力情報を受け取る◦ 入力情報をユーザ VM の

I/O リングに書き込む メモリマップにより共有

◦ イベントチャネルを用いてユーザ VM に入力を通知

仮想入力デバイス

D-MORE仮想デバイス

D-MOREVNC サーバ

ドメイン R ユーザVM

イベントチャネル

I/Oリング

Page 13: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

ドメイン R

管理対象のユーザ VM のメモリにアクセスする特権を持つ VM を開発◦ ドメイン M

[ 宇都宮ら‘ 11] を拡張して実装

◦ ユーザ VM のメモリページをマップして読み書きできる 本来は管理 VM のみが有する特権である OS と仮想マシンモニタ( VMM )のアクセス制限を変更

◦指定したユーザ VMへのアクセスのみ許可 ドメイン R とユーザ VM の対応づけは管理 VM で行う

ドメイン R (1/2)

ユーザ VMページ

テーブルメモリページ

Page 14: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

ドメイン Rユーザ VM

マイグレーション時にユーザ VM のメモリマップ状態を維持◦ マイグレーション元

ユーザ VM のメモリがマップされていれば,ページテーブルエントリに監視ビットをセット

ページテーブルと一緒にマイグレーション先に転送◦ マイグレーション先

監視ビットがセットされたメモリページを再マップして復元

ドメイン R (2/2)

監視ビット

Page 15: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

ユーザ VM との間でイベントチャネルを確立◦ ユーザ VM のデバイスドライバは管理 VM を指定して

バインド◦ VMM を修正し,ドメイン R からでも確立できるように

した マイグレーション時のイベントチャネルの維持

◦ ユーザ VM は新たにイベントチャネルを確立しようとする ドメイン R にはマイグレーションを意識させたくない

◦ VMM 内で自動的に再確立する必要 この機能は現在未実装

イベントチャネルのサポート

D-MORE仮想デバイス

ドメイン R ユーザVM

イベントチャネル

Page 16: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

ドメイン R とユーザ VM の両方がライブマイグレーションの最終段階に到達するまで待つ◦ ドメイン R ,ユーザ VM の順に停止

ドメイン R とユーザ VM の両方が再開できるようになるまで待つ◦ ユーザ VM ,ドメイン R の順に再開

同時マイグレーションの実現

マイグレーション元ホスト

マイグレーション先ホスト

ドメイン R

ユーザVM

ドメイン R

ユーザVM

マイグレーション

開始

待機

停止 終了

待機

作成 再開

待機

Page 17: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

キーボード入力1回あたりの応答時間を測定◦ 入力を行ってから画面に文字が表示されるまでの時間

◦従来の帯域外リモート管理と比較

実験 実験環境

CPU Intel Xeon E3-1270 3.40GHz

メモリ

ドメインR

256MB

ユーザVM

256MB

VMM Xen 4.1.3

VNCクライアン

トTigerVNC

OS Linux 3.2.45

キーボード入力画面の更新情報

ドメイン R管理 VM

D-MOREVNC サーバ

ユーザVM

QEMU

既存のVNC サーバ

VNCクライア

ント

画面処理

D-MORE仮想デバイス

デバイスドライバ

App

Page 18: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

従来より約 1.6ms の応答遅延が発生◦画面更新要求を管理 VM の VNC サーバに転送して処理

しているためと考えられる◦ ドメイン R を用いることによるオーバーヘッドはほと

んど発生しないと考えられる

実験結果

Original D-MORE0

20

40

60

80

100

120

100.40 101.99

Re

sp

on

se

tim

e (

mse

c)

Page 19: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

VNC プロキシを経由して管理 VM の VNC サーバに接続◦ マイグレーション時に帯域外リモート管理を継続できる

VNC プロキシが自動的に接続先 VNC サーバを切り替える VNC クライアントの接続先 IP アドレス・ポート番号も変わ

らない◦ ユーザ VM に届いていない入力情報は全て失われる

関連研究 : VNC プロキシ

ユーザVM

管理 VM

ホスト ホスト

ユーザVM

管理 VM

ホスト

VNCクライア

ント

VNCプロキシ

VNCサーバ

VNCサーバ

Page 20: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

KVM 用に開発されているリモート管理ソフトウェア◦ マイグレーション時に帯域外リモート管理を維持でき

る SPICE クライアントがサーバから通知されたマイグレー

ション先に自動的に再接続する SPICE クライアント経由でサーバの状態を転送する

◦ マイグレーション時に接続先 SPICE サーバの IP アドレス・ポート番号が変更される

◦普及率が VNC などに対して大きく劣る

関連研究 : SPICE [Red Hat, Inc. ‘09]

ユーザVM

管理 VM

ホスト

ユーザVM

管理 VM

ホスト

SPICEサーバ

SPICEクライアント

SPICEサーバ

Page 21: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

従来手法との比較

D-MORE

既存手法 VNCプロキシ SPICE

マイグレーション時のリモート管理の継続

○ × ○ ○

マイグレーション時のIP アドレスとポート番号の維持

○ △NAPT 変換を用いれば可能

○ ×

マイグレーション時のデータの保持

○ × × ○seamless migrationでサポート

Page 22: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

VMware vSphere Hypervisor [VMware, Inc.]◦VNCサーバを VMM 内で動かす◦ ユーザ VM のマイグレーション時にリモート接続は切断

される

Stub Domain [Nakajima et al. ‘06]Xoar [Colp et al. ’11]◦ VNC サーバを専用 VM に分離◦ マイグレーションはできない

FBCrypt [Egawa et al. ‘12]◦ クラウドにおける帯域外リモート管理のセキュリティ向

上◦ D-MORE との併用を計画

関連研究

Page 23: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

帯域外リモート管理の継続が可能なマイグレーションを実現するシステム D-MORE を提案◦ ドメイン R で VNC サーバと仮想デバイスを動作させる◦ ドメイン R とユーザ VM を同時にマイグレーション

ドメイン R とユーザ VM 間の接続を維持 マイグレーション中に入力情報が失われない VNC クライアントの接続先が変わらない

◦ D-MORE のオーバーヘッドが現状では十分小さいことを確認

まとめ

Page 24: 帯域外リモート管理の継続が可能な マイグレーション手法

© Sho KAWAHARA, KSL, Kyushu Institute of Technology

画面更新処理への対応◦ 現在は,キーボード・マウスの入力処理のみ対応

マイグレーション時のイベントチャネルの維持の実装

同時マイグレーションの実装

完全仮想化への対応◦ 現在は準仮想化のみ対応

今後の課題