仮想サーバを用いた規模適応性に優れたサーバシステム構築技術

仮想計算機の複製に基づく
規模適応性に優れた
サーバ構築システムの設計と実装
九州産業大学 大学院 情報科学研究科
神屋 郁子
九州産業大学 情報科学部
下川 俊彦
Outline







背景
研究目的・解決手法
仮想計算機制御プロトコルVMCPの設計
仮想計算機転送・実行システムPIYOの実装
評価
関連研究
まとめ・今後の課題
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
2
背景


近年インターネットは広く普及
サーバシステムの問題点
 サーバの処理能力不足
 ネットワーク帯域不足
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
3
現状の解決方法


サーバの処理能力不足
 計算機を増やしたり処理性能の高い計算機を利用
 コストがかかる
 時間がかかるので急な要求の増加に対応できない
ネットワーク帯域不足
 ネットワーク帯域を増やして対応
 局所的に増やすと対外接続が溢れる
 予め広域分散配置
 動的に広域分散配置するのは困難
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
4
研究目的

処理能力不足と帯域不足の解決
 処理能力不足の解決
 動的にサーバの処理能力を向上
 帯域不足の解決
 動的にサーバの帯域を増加
 動的にサーバを広域分散配置
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
5
解決手法:サーバ増殖


仮想計算機技術の利用
 仮想計算機の複製や転送は容易
処理能力とネットワーク帯域の動的な増加
 動的なサーバの増加及び広域分散配置
サーバ増殖
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
6
サーバ増殖の手法


仮想計算機モニタを導入した物理計算機を共有
計算機として予め広域分散配置
仮想計算機上にサーバを構築
 処理能力が必要
 仮想計算機を複製
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
7
仮想計算機の複製

処理能力の増加とネットワーク帯域の増加



計算機の増加より処理能力が増える
広域分散配置により帯域を増加・トラフィックの
集中を防ぐ
ユーザを誘導することで負荷を分散
仮想計算機
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
8
仮想計算機制御プロトコルVMCP


VMCP:Virtual Machine Control Protocol
機能
①
認証
② 転送先の物理計算機に関する情報取得
③
転送先のネットワークに関する情報取得
④
仮想計算機の転送
⑤ 仮想計算機の制御
⑥
その他
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
9
VMCPの機能説明
①認証
 VMCPクライアントをVMCPサーバが認証
②転送先の物理計算機に関する情報取得
 CPUスペック、メモリサイズ、HDD空き容量、
ネットワーク帯域
③転送先のネットワークに関する情報取得
IPアドレス、ネットマスク、デフォルトルータ、
ネームサーバ
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
10
VMCPの機能説明
④仮想計算機の転送
転送元から転送先へ仮想計算機を送信
転送先から転送元へ仮想計算機を受信
⑤仮想計算機の制御
仮想計算機の起動・停止・一時停止・一時停止の解
除・強制終了・再起動
⑥その他
 起動中の仮想計算機の一覧表示
 VMCPサーバとVMCPクライアントの接続の終了
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
11
仮想計算機転送・実行システムPIYO


PIYO:ProlIferate and Yield Objects
サーバクライアント方式を採用
サーバ側:PIYOサーバ、クライアント側:PIYOクライアント
手順
①
転送元で仮想計算機構成ファイルをコピー
②
VMCPを用いて転送先の情報を入手
③
必要な情報の書き換え
④
書き換えた仮想計算機をVMCPを用いて転送
⑤
転送先で仮想計算機の起動や終了の操作


2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
12
仮想計算機の構成

仮想計算機構成ファイル
 仮想HDDファイル
 仮想計算機構成情報ファイル
 仮想計算機のハードウェア情報
 仮想HDDファイルのPATH
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
13
仮想計算機転送・実行システムPIYO


PIYO:ProlIferate and Yield Objects
サーバクライアント方式を採用
サーバ側:PIYOサーバ、クライアント側:PIYOクライアント
手順
①
転送元で仮想計算機構成ファイルをコピー
②
VMCPを用いて転送先の情報を入手
③
仮想計算機の書き換え
④
書き換えた仮想計算機をVMCPを用いて転送
⑤
転送先で仮想計算機の起動や終了の操作


2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
14
実装環境




実装言語:Ruby
仮想計算機モニタ:Xen3.0.3
Domain0:CentOS5
DomainU:CentOS5
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
15
PIYOサーバ

VMCPの処理と仮想計算機の制御
 サーバはクライアントからの接続を待ち受ける
 クライアントがサーバに認証情報を送る
 認証終了後サーバ上でコマンドを実行
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
16
PIYOクライアント

VMCPの処理と仮想計算機の複製
 MACアドレスの書き換え
 計算機には固有のMACアドレスが必要→
生成


上位24ビットはXen固有のコード、下位24
ビットは乱数を発生
ネットワーク情報の書き換え
 IPアドレス、ネットマスク、デフォルトルータ、
ネームサーバ
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
17
実験と評価


広域での仮想計算機複製転送実験
転送速度に関する評価
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
18
広域での仮想計算機複製転送実験
①
②
仮想計算機複製時間の計測
仮想計算機転送時間の計測
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
19
①仮想計算機複製時間の計測

手順
 PIYOクライアント側で仮想計算機構成ファイ
ル(2GB)のコピー時間を計測
 コピーした仮想計算機HDDファイルの中にあ
るゲストOSの設定ファイルと仮想計算機構成
情報の書き換え時間を計測
 計測回数:5回
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
20
複製時間計測結果
コピー
書き換え
合計
1回目
237
1
238
2回目
189
6
195
3回目
210
3
213
4回目
208
4
212
5回目
233
4
237
平均
215.4
3.6
219.0
単位:秒
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
21
結果と考察

複製にかかる時間は平均219.0秒
その時間のほとんどが仮想計算機構成ファイル
のコピー

コピーにかかる時間の短縮が必要

2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
22
②仮想計算機転送時間の計測

手順
 九州産業大学下川研究室ノードとQGPOP九
州産業大学ノード間の転送時間の計測
 QGPOP九州産業大学ノードとQGPOP九州大
学ノード間の転送時間の計測
 転送する仮想計算機のサイズ:2GB
 計測回数:各5回
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
23
実験環境
QGPOP九州産業大学
ノード
133.69.154.4
九州産業大学
下川研究室ノード
1Gbps
QGPOP
Internet
133.17.160.216
KSU
1Gbps
1Gbps
133.69.128.7
QGPOP九州大学
ノード
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
24
転送時間計測結果
QGPOP九州大学ノードから
QGPOP九州産業大学ノードへの
転送時間
九州産業大学下川研究室ノードから
QGPOP九州大学ノードへの
転送時間
転送時間
1回目
59秒
転送時間
1回目 1時間08分18秒
2回目
57秒
2回目 1時間13分55秒
3回目
59秒
3回目 1時間14分37秒
4回目
58秒
4回目 1時間15分40秒
5回目
57秒
5回目 1時間16分30秒
平均
58秒
平均 1時間13分48秒
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
25
結果と考察




QGPOPノード間の転送時間は短い
 ネットワーク的な距離が近いため
九州産業大学下川研究室ノードとQGPOP九州
大学ノード間の転送時間は長い
 ネットワーク的な距離が遠いため
転送する際にかかる時間は大きな問題
仮想計算機の転送時間の改善が必要
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
26
転送時間に関する評価






PIYOでの仮想計算機転送には時間がかかる
原因の究明
PIYOの転送時間と既存のシステムの転送時間の比
較
 既存のシステム
 SCP(OpenSSH)
 FTP
転送する仮想計算機のサイズ:2GB
計測回数:5回
実験環境:ローカル
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
27
転送時間比較実験
SCP
FTP PIYO
1回目
136
56
59
2回目
140
54
58
3回目
146
56
60
4回目
131
62
61
5回目
132
56
60
平均
137.0 56.8 59.6
単位:秒
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
28
結果と考察



PIYOはSCPよりも転送時間が短くFTPと同等の
転送時間
PIYOでのファイル転送時間は他のシステムと比
べて遜色がない
PIYOの実装上の問題ではない
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
29
関連研究①:Live Migration・VMotion



仮想計算機をローカルで移動
別の物理計算機上で仮想計算機の実行を継続
 計算機の故障やメンテナンスの対応
本研究との相違点
 仮想計算機をローカルで複製、広域で移動・
複製
 共有ファイルシステムが不要
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
30
関連研究②:Quasar(東京大学大学院情報理
工学系研究科 尾上浩一、大山恵弘、米澤明)

実行中の状態を保持したままで仮想計算機を別の
物理計算機へと移動
 仮想ネットワークの機能が備えられている
 仮想計算機の移動を意識せず通信を継続

本研究との相違点
 仮想計算機の複製
 CPUエミュレーションを行わないため処理が速い
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
31
まとめ




処理能力不足と帯域不足を解決するための
サーバ構築システムの設計と実装
 仮想計算機を利用
 動的にサーバの処理能力を向上
 動的にサーバを分散配置
仮想計算機制御プロトコルVMCPの設計
VMCPを実現させるためのPIYOの実装
PIYOの評価
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
32
今後の課題




VMCPの機能全ての実装
セキュリティ面での改善
リクエスト誘導システムとの連携
複製時間や転送時間の短縮
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
33
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
34
仮想計算機の移動

処理中あるいは接続中の利用者に対する処
理能力の向上


動的な処理能力の向上を実現
Mobile IPやSCTPの利用により通信の継続が
可能
仮想計算機
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
35
仮想計算機の種類


ホストOS型
仮想計算機モニタ型
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
36
ホストOS型
アプリケーション
アプリケーション
ゲストOS
仮想計算機
ホストOS
物理計算機


物理計算機上でホストOSが動作
アプリケーションとして仮想計算機が動作


VMware Workstation
Virtual PC
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
37
仮想計算機モニタ型
アプリケーション
アプリケーション
OS
OS
仮想計算機
仮想計算機
仮想計算機モニタ
物理計算機


物理計算機上で仮想計算機モニタが動作
仮想計算機モニタ上で仮想計算機が動作


Xen
VMware ESX Server
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
38
VMCPのコマンド一覧






USER
SEND
RECV
START
STOP
PAUSE
2016/7/9





UNPAUSE
DESTROY
REBOOT
QUIT
LIST
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
39
VMCPのコマンド説明



USER(認証)
 ユーザ名、パスワードを伝達し利用者を認証
SEND(仮想計算機の転送)
 仮想計算機の送信
RECV(仮想計算機の転送)
 仮想計算機の受信
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
40
VMCPのコマンド説明



START
 仮想計算機の起動
STOP
 仮想計算機の停止
PAUSE
 仮想計算機を一時停止
2016/7/9



UNPAUSE
 仮想計算機の一時停止
の解除
DESTROY
 仮想計算機の強制終了
REBOOT
 仮想計算機の再起動
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
41
VMCPのコマンド説明


QUIT(その他)
 サーバとクライアントの接続の終了
LIST(その他)
 起動中の仮想計算機の一覧を表示
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
42
実装環境




実装言語:Ruby
仮想計算機モニタ:Xen3.0.3
Domain0:CentOS5
DomainU:CentOS5
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
43
Xen
アプリケーション
アプリケーション
Domain0
DomainU
仮想計算機
仮想計算機
仮想計算機モニタ
物理計算機


Domain0
 管理用OS
 物理計算機上に一つ
DomainU
 ゲストOS
 物理計算機上に複数
2016/7/9
仮想計算機の複製に基づく規模適応性に優れた
サーバ構築システムの設計と実装
44