クラウドにおけるVM内コンテナを用いた 自動障害復旧システムの開発

Slides:



Advertisements
Similar presentations
九州工業大学 塩田裕司 光来健一.  仮想マシンは必要なときだけ動かす使い方が一般 的 ◦ 一台の計算機上に複数の計算機を仮想的に作成できる ◦ デスクトップ  異なる OS を使用するため作成 ◦ サーバ  最大負荷に合わせた数の仮想マシンを作成  長期間使わない仮想マシンも存在する VM.
Advertisements

九州工業大学大学院 情報工学府 情報創成工学専攻 塩田裕司.  仮想マシン( VM )は必要なときだけ動かすこと が多い ◦ クラウドでもデスクトップでも ◦ 長期間使わない VM が存在する  VM の再開時に攻撃を受ける可能性が高くなる ◦ 停止中に OS やアプリケーションの脆弱性が発見されるこ.
IT ソリューション塾 講義資料 © , all rights reserved by NetCommerce & applied marketing アップデート.
ファイルキャッシュを考慮したディスク監視のオフロード
最新ファイルの提供を保証する代理FTPサーバの開発
セキュリティ機構のオフロードを考慮した仮想マシンへの動的メモリ割当
クラウド上の仮想マシンの安全なリモート監視機構
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
中村孝介(九州工業大学) 光来健一(九州工業大学/JST CREST)
KVMにおけるIDSオフロードのための仮想マシン監視機構
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
クラウドにおけるライブラリOSを用いた インスタンス構成の動的最適化
ファイルシステムキャッシュを 考慮した仮想マシン監視機構
OSが乗っ取られた場合にも機能するファイルアクセス制御システム
侵入検知システム(IDS) 停止 IDS サーバへの不正アクセスが増加している
クラウドにおけるアプリケーション単位での VM構成の動的最適化
帯域外リモート管理を継続可能な マイグレーション手法
大きな仮想マシンの 複数ホストへのマイグレーション
ネストした仮想化を用いた VMの安全な帯域外リモート管理
帯域外リモート管理の継続を 実現可能なVMマイグレーション手法
VMマイグレーションを可能にするIDSオフロード機構
IaaS型クラウドにおける キーボード入力情報漏洩の防止
クラウドの内部攻撃者に対する安全なリモートVM監視機構
アスペクト指向プログラミングを用いたIDSオフロード
サスペンドした仮想マシンの オフラインアップデート
型付きアセンブリ言語を用いた安全なカーネル拡張
分散IDSの実行環境の分離 による安全性の向上
VM専用仮想メモリとの連携による VMマイグレーションの高速化
IaaS型クラウドにおける インスタンス構成の動的最適化手法
リモートホストの異常を検知するための GPUとの直接通信機構
ユーザ毎にカスタマイズ可能な Webアプリケーションの 効率の良い実装方法
シャドウデバイスを用いた 帯域外リモート管理を継続可能なVMマイグレーション
実行時情報に基づく OSカーネルのコンフィグ最小化
仮想メモリを用いた VMマイグレーションの高速化
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
ネストしたVMを用いた 仮想化システムの高速なソフトウェア若化
仮想計算機を用いたサーバ統合に おける高速なリブートリカバリ
クラウドにおけるIntel SGXを用いた VMの安全な監視機構
非対称リンクにおける ジャンボフレームの性能評価
クラウドにおけるVMリダイレクト攻撃を防ぐためのリモート管理機構
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
クラウドにおけるVM内コンテナを用いた 低コストで迅速な自動障害復旧
Intel SGXを利用する 巨大なアプリケーションの マイグレーション機構
仮想マシンを用いた 既存IDSのオフロード
Intel SGXを用いた仮想マシンの 安全な監視機構
軽量な仮想マシンを用いたIoT機器の安全な監視
複数ホストにまたがって動作する仮想マシンの障害対策
VMMのソフトウェア若化を考慮した クラスタ性能の比較
信頼できないクラウドにおける仮想化システムの監視機構
VM内コンテナを用いた サービス単位の オートスケール機構
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
仮想環境を用いた 侵入検知システムの安全な構成法
Cell/B.E.のSPE Isolationモードを用いた監視システム
仮想マシンの監視を継続可能なマイグレーション機構
仮想マシンへの CPU 割り当ての変化に応じた最適な並列アプリケーション実行
仮想マシンと物理マシンを一元管理するための仮想AMT
仮想化システムのソフトウェア若化のための軽量なVMマイグレーション
仮想マシンに対する 高いサービス可用性を実現する パケットフィルタリング
Cell/B.E. のSPE上で動作する 安全なOS監視システム
VMリダイレクト攻撃を防ぐための 安全なリモート管理機構
ゼロコピー・マイグレーションを 用いた軽量なソフトウェア若化手法
仮想化システムの 軽量なソフトウェア若化のための ゼロコピー・マイグレーション
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
強制パススルー機構を用いた VMの安全な帯域外リモート管理
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
複数ホストにまたがるVMの 高速かつ柔軟な 部分マイグレーション
複数ホストにまたがるVMの メモリ使用状況に着目した高速化
強制パススルー機構を用いた VMの安全な帯域外リモート管理
管理VMへの キーボード入力情報漏洩の防止
Presentation transcript:

クラウドにおけるVM内コンテナを用いた 自動障害復旧システムの開発 スライドの開始時間を書く 話し方「また」 九州工業大学大学院 情報工学府 情報創成工学専攻 光来研究室 17675042 森川 智紀

クラウドの障害 様々なサービスがクラウドで提供 クラウドで障害が発生するとサービスが中断 仮想マシン(VM)を用いてサービスを提供 管理ミスによりAmazon S3が停止(2017年) 停電によりAmazon EC2が停止(2016年) 運用系と待機系がどのぐらいの遠さか VM VM VM 2019/4/15

クラウドにおける障害対策 クラウドの障害に備える必要がある 障害対策コストと復旧時間がトレードオフとなる 例:VMの障害,VMが動作するホストの障害,データ センタの障害 クラウドでは様々な障害対策が提供されている 障害対策コストと復旧時間がトレードオフとなる コスト:障害に備えるために かかるコスト 復旧時間:障害発生から復旧 完了までの時間 復旧時間 0:45 例として2つ出します 前のスライドの例ではクラウドの障害だったが他にもある 多様な障害に備える必要がある コスト 2019/4/15

障害対策:ウォームスタンバイ 待機系でも同じVMを起動しておき,復旧時に そのVMに切り替える 復旧時間が短い 高コスト 障害発生 1:45 下の図を先に話す 運用系でもコンテナ使えばいいのでは→ユーザの自由,待機系の改善についてなので運用系は考えない、VMの方がセキュリティが強い VM VM VM VM 切り替え ・・・ ・・・ 運用系 待機系 2019/4/15 サービス利用者

障害対策:コールドスタンバイ VMのバックアップを保存しておき,復旧時に バックアップからVMを復元 低コスト 復旧時間が長い 障害発生 VMの バックアップ を保存 2:30 VM VM VM VM 切り替え ・・・ ・・・ 運用系 待機系 2019/4/15 サービス利用者

提案:VCRecovery 待機系のVM内でコンテナを用いて低コストと短い復旧時間を両立する自動障害復旧システム コンテナの活用により復旧時間の短縮が可能 3:15 VM コンテナ コンテナ コンテナ APP APP APP 2019/4/15 待機系

コンテナとは OSが提供する軽量な仮想実行環境 VMはOSを含めた計算機全体を仮想化 コンテナはいくつかのOSのプロセスを隔離するだけ 独立したディスク,ネットワークを提供 例:LXD,Docker 本研究ではLXDを使用 APP APP 4:00 LXDの理由   -(当時)マイグレーションが可能だった APP APP OS OS Hypervisor O S VM コンテナ 2019/4/15

低コストのウォームスタンバイ 待機系では1つのVMの中で複数のコンテナを実行 コストを削減可能 復旧時間が短い 復旧時はアクセス先をコンテナに切り替えるだけ 障害発生 4:30 切り替え VM VM VM VM コンテナ コンテナ ・・・ コンテナ ・・・ 運用系 待機系 2019/4/15 サービス利用者

高速なコールドスタンバイ 待機系に用意された共用VMの中でコンテナを起動 復旧時間を短縮可能 コストを抑えることが可能 コンテナの隔離によりセキュリティを担保 障害発生 5:15 あるコンテナが攻撃を受けた後に他が受けることはある コールドスタンバイはVM1台起動しっぱなしにしておいてコンテナを起動する VMの起動からすると遅い 共用するとコストが抑えられる 誰か一人が占有している形 切り替え VM VM VM VM コンテナ コンテナ ・・・ コンテナ ・・・ 運用系 待機系 2019/4/15 サービス利用者

負荷上昇への対応 復旧後にVMの負荷が高まったら一部のコンテナを 新たに用意したVMにマイグレーション コンテナが利用可能なリソースを増やすことができる コンテナを使わずに直接サービスを動かすVMを 起動し,サービス提供元を切り替える VM内コンテナのオーバヘッドを削減 切り替え 6:00 コンテナをたくさん立ち上げるとリソースが制限 運用系のVMと同じ大きさ さらにオーバヘッドを減らす CPU使用率上昇 VM VM VM コンテナ コンテナ APP 2019/4/15 復旧後の運用系

VM とコンテナ間でのディスクの同期 コンテナで必要なパッケージのみを同期 コンテナのディスクはコンテナの外で同期 例:カーネルに関するパッケージは不要 同期しないパッケージの情報から除外リストを作成 できるだけディレクトリ単位で除外できるように最適化 コンテナのディスクはコンテナの外で同期 同期時にファイル・ディレクトリのUID/GIDを補正 必要に応じてコンテナを再起動 除外リスト(最適化前)  /boot/abi-4.15.0-22-generic  /boot/config-4.15.0-22-generic  /boot/grub/    ・・・  /boot/vmlinuz-4.15.0-22-generic 6:45 カーネルに含まれるソフトウェアパッケージ サーバ等の状態を同期するため 除外リスト(最適化後)  /boot/ 2019/4/15

実験 VCRecoveryの有用性を確認 復旧時間の測定とコストの見積もり 除外リストの生成時間と同期時間の測定 VM内コンテナの実行性能の測定 運用系・待機系 CPU Intel Xeon E3-1226 v3 Memory 8GB Network ギガビットイーサネット OS Ubuntu 16.04.2 LTS Hypervisor KVM 2.5.0 Container LXD 2.21 1で用いたVM 2と3で用いたVM CPU 2 Memory 2GB OS Ubuntu 16.04.2 LTS Ubuntu 18.04.1 LTS Container LXD 2.21 LXD 3.7 8:00 2019/4/15

復旧時間・コスト 障害を発生させたVM 4台を待機系に切り替え ウォームスタンバイ コールドスタンバイ 復旧時間はコンテナを用いても従来と同じ 障害対策のコストはVM 1台分に削減 コールドスタンバイ 復旧時間は従来の約半分に削減 障害対策コストは共用VMの分だけ上昇 8:30 1.9秒 15秒と7秒 復旧時間の数値を言う 共用した際のコストを例を出す 従来では0だったのが2人共用なら1/2台分に上昇 2019/4/15

VMとコンテナ間の同期性能 除外リストの生成時間を測定 rsyncを用いた同期にかかる時間を測定 除外対象ファイル数が約3万の時 除外リストを最適化するほうが生成時間が減少 rsyncを用いた同期にかかる時間を測定 差分がほぼ0の時と約600MBの時 除外リストの最適化により同期時間が17秒短縮 9:15 約3万行と約80行 84.4と42.6 17.2と0.7 34.6と17.3 2019/4/15

VM内コンテナの実行性能 UnixBenchを用いてVM内コンテナの性能を測定 httperfを用いてWebサーバの性能を測定 4種類のストレージバックエンド,コンテナなしを比較 ストレージに応じて8~27%の性能低下 httperfを用いてWebサーバの性能を測定 コンテナを用いることでリクエスト処理性能が48%低下 10:45 10918Byteのhtmlファイルに対して3000req/sで1接続あたり5回のリクエストを15000回になるまで送信 ファイルディスクリプタの値の制限がかかっていると思われる UnixBenchの結果からわかるようにコンテナのオーバヘッドではなく何らかの制限だと思われる 2019/4/15

関連研究 Picocenter [Zhang et al.'16] FlexCapsule [Kourai et al.'16] VM内でコンテナを用いてサービスを実行 非アクティブなコンテナをディスクにスワップアウト 本研究ではコンテナのマイグレーションを活用 FlexCapsule [Kourai et al.'16] VM内で動作する軽量なVMを用いてサービスを実行 ネストした仮想化のオーバヘッドが大きい Swift Birth/Quick Death [Nitu et al.'17] 複数のVMの同時起動を高速化 VMの作成を高速化するだけ 12:30 2019/4/15

まとめ 待機系のVM内でコンテナを用いる自動障害復旧 システムVCRecoveryを提案 今後の課題 コンテナのみを起動することで復旧時間の短縮が可能 VMとコンテナ間でのディスクの同期を最適化 VM内コンテナによる性能低下を確認 今後の課題 VM内コンテナの実行性能の改善 障害規模に応じた障害対策の実現 13:15 2019/4/15