2017-12-04 bitvisor summit 6 「bitvisorの現状と今後」
TRANSCRIPT
![Page 1: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/1.jpg)
【主催】(社)情報処理学会
システムソフトウェアとオペレーティングシステム研究会(第29回コンピュータシステム・シンポジウム 併設イベント)
![Page 2: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/2.jpg)
開催趣旨
BitVisor Summit は、BitVisor に興味を持つ幅広い層の方々に交流や情報交換の場を提供することを目的としています。
BitVisor は純国産の仮想マシンモニタですが、BitVisor のように日本国内において研究開発されており、なおかつ高い完成度を持つ低レイヤのシステムソフトウェアはそれほど多くはないのではないかと思われます。
本 Summit では、BitVisor に関する最新の技術的な情報の交換の場を提供するほか,仮想化技術やOSカーネルなど、高度な基盤システムソフトウェア全般に興味を持った研究者・開発者・ユーザが交流する稀少な機会として有益な場となることを期待しています.
2
![Page 3: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/3.jpg)
プログラム
• オープニング BitVisorの現状と今後
• 招待講演(1件) BitVisorをベースとしたカーネル解析プラットフォーム
• 一般セッション(7件) BitVisor 2017年の主な変更点
Implementation and Status of 'mruby in BitVisor‘
BitVisorに「移植」する
BPFを利用したBitVisor内部でのパケットフィルタリング
大学の教育研究用端末上でのベアメタルハイパバイザの運用
Unsafe Nested Virtualization on Intel CPU
Introducing NVMe driver for BitVisor
3
![Page 4: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/4.jpg)
講演者内訳
• 一般講演×7件(昨年度6件)株式会社イーゲル×2件
筑波大学×2件
公立はこだて未来大学×1件
東京農工大学×1件
東京大学×1件
4
![Page 5: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/5.jpg)
参加登録者
0
5
10
15
20
25
30
35
40
1 2 3 4 5 6
参加登録者数の推移
5
![Page 6: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/6.jpg)
BitVisorとは
• 仮想化ソフトウェアの一種仮想マシンモニタ = Virtual Machine Monitor (VMM)
ハイパーバイザ = Hypervisor (Type I VMM)
o ホストOSに頼らずハードウェア上で直接動作
OSとハードウェアの間で動作する仮想マシン = Virtual Machine (VM) を作り出す
Single-VM仮想化ある時点で動作するOSは一つだけ
6
ハードウェア
VMM
VM
OS
A Single-VM Lightweight Hypervisor
![Page 7: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/7.jpg)
Single-VMの利点
• VMMを小さく出来るセキュリティ
Trusted Computing Base (TCB)のサイズ削減
o 一般にプログラムは小さいほど安全とされている
オーバーヘッド仮想化に伴うコストを削減できる
• 仮想化の利点も活用できるセキュリティ
ゲストOSより高い特権レベルで動作する
互換性ゲストOSを修正せずに機能追加を行える
7
ハードウェア
VMM
VM
OS
×
ハードウェア
VMM
VM
OS
I/F互換
VMM
![Page 8: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/8.jpg)
VMM
BitVisor の基本アーキテクチャ
準パススルー型(↔準仮想化)[Shinagawa et al. VEE ‘09]
8
OSデバイスドライバ
DiskVGAHID USB NIC
保護ドメイン
拡張機能1
拡張機能2Disk USB NIC
ハードウェア
完全パススルー 準パススルーコア機能
CPU仮想化
メモリ仮想化
カーネル
![Page 9: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/9.jpg)
BitVisor の歴史
• 2006年:研究開発開始• 2008年 3月:BitVisor 0.2公開• 2009年 3月:BitVisor 1.0公開
VMMコア、ディスク・ネットワーク暗号化、ICカードによる鍵管理
• 2010年 6月:BitVisor 1.1公開保護ドメイン機能、AHCI対応、Realtek NIC対応、...
• 2011年10月:BitVisor 1.2公開 Suspend/Resume対応、ATA Piggyback、TCB BIOS対応、...
• 2012年 9月:BitVisor 1.3公開バックグラウンド暗号化、EPT/NPT、ADvisor機能、…
• 2014年 5月:BitVisor 1.4公開 UEFI(Mac)サポート
9
![Page 10: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/10.jpg)
10
BitVisor 2.0
![Page 11: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/11.jpg)
BitVisor 2.0 の特徴
• PCIデバイスドライバーの改良 config.vmm.driver.pci での柔軟な指定
• ネットワーク機能の改良 netapi の導入
• UEFI対応の改良
• 新規ドライバー Broadcom NetXtreme GbE, xHCI driver, 10GbE X540 for tty
• パフォーマンスとメモリ使用量の改善新しい Thread
• バグfixと機能改善 (Unsafe) Nested Virtualization (AMD), TCP/IP
11
![Page 12: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/12.jpg)
BitVisor の最近の動向
• 東京大学での運用実績vThrii として安定稼働中
iMac 向けプロビジョニングシステム
• 品川研究室での活動査読付き論文2件
現在進行系の研究2件
12
![Page 13: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/13.jpg)
東京大学での運用実績
13
![Page 14: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/14.jpg)
BitVisorBitVisor
ネットブート&インストール
14
ネットブート
インストール
Windows
サーバ
![Page 15: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/15.jpg)
運用状況
• 毎月1回夜間にイメージ配信通常は差分配信
前回イメージとの差分だけを配信する
4ヶ月に1回フル配信イメージ全体を配信する
• 4回ほど通常運用とは異なる事象が発生イメージの切り戻し
全台再インストール
vThrii自体のアップデート
パーティションサイズの変更
15
![Page 16: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/16.jpg)
イメージの切り戻し
• 夜間におこなった配信内容を元に戻すvThrii に標準搭載された機能
配信したイメージに異常があった場合のバックアップ
• macOSが起動時に固まる事象が発生ログインウィンドウの画像ファイルをNFS上に配置したため
⇒vThrii の機能が有効に機能した事象
16
![Page 17: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/17.jpg)
全台再インストール
• 全ての端末のIPアドレスが同じになってしまった配信作業時のオペレーションミス
マスタイメージの固定IPアドレスのままになっていた
• 以下の事象が発生し、切り戻しが不安定だったvThriiのリモートコマンドの応答がない端末があった
vTrhii設定の書き込みが反映されない場合があった
参照するイメージの切り戻しがうまくいかない場合があった
電源が入っていない端末も存在した
⇒全台手動で再インストールの方が確実で早い
17
![Page 18: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/18.jpg)
vThrii自体のアップデート
• vThrii が起動時に固まる事象が発生macOSセキュリティアップデート2016-003の適用に伴う
macOSでVT-d のアドレス変換が有効になった
• vThrii のアップデートで対応1.3 ⇒ 1.6.1
Macの起動スクリプトで vThrii のファイルを差し替え
18
![Page 19: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/19.jpg)
パーティションサイズの変更
• 3つの領域から構成されているWindows領域、macOS領域、TMP領域
TMP領域はフリーズ機能に使うディスクへの書き込みを別領域に書いて再起動時に破棄
• Windows の空き領域が1GB程度になった SSD全体の容量が250GBくらいしかない
• パーティションサイズの再構成をおこなった
19
80
120
49.5
変更前
macOS Windows TMP
85
135
30変更後
macOS Windows TMP
![Page 20: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/20.jpg)
品川研究室での活動
20
![Page 21: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/21.jpg)
BitVisor関連の研究活動
• 査読付き論文2本ベアメタルクラウドにおけるハードウェア保護
IEEE CloudCom 2017
ハイパーバイザによるハードウェア抽象層ACM SAC 2018
• 現在進行系の研究2件軽量な仮想マシンモニタの若化
ベアメタルクラウドにおけるライブマイグレーション
ハイパーバイザ内でのBPFによるパケットフィルタ
21
![Page 22: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/22.jpg)
BMCArmor: A Hardware
Protection Scheme for Bare-
metal CloudsTakaaki Fukai, Satoru Takekoshi, Kohei Azuma, Takahiro Shinagawa and
Kazuhiko Kato. In Proc. 9th IEEE International Conference on Cloud
Computing Technology and Science (CloudCom 2017), Dec. 2017
22
![Page 23: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/23.jpg)
オペレーティングシステム
ベアメタルクラウドへの攻撃
• OSがハードウェアに直接アクセスできるどのような種類のアクセスでも出来る
• 不揮発性メモリを破壊される可能性があるハードウェアが壊れたり、ウィルスに感染させられたりする
23ベアメタルインスタンス
![Page 24: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/24.jpg)
BitVisor
オペレーティングシステム
BitVisorによるハードウェアの保護
• BitVisor で特定の書き込みアクセスを止める通常動作には支障がない
• その他のアクセスは全てパススルーオーバーヘッドを最小限に抑えてベアメタル性能を出す
24
❌
ベアメタルインスタンス
![Page 25: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/25.jpg)
Unified Hardware Abstraction
Layer with Device
MasqueradeIori Yoneji, Takaaki Fukai, Takahiro Shinagawa and Kazuhiko Kato. In
Proc. 33rd ACM/SIGAPP Symposium On Applied Computing (ACM
SAC 2018), Apr 2018.
25
![Page 26: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/26.jpg)
多様なハードウェアへの対応
• デバイスごとにデバイスドライバが必要種類が多くなる
• OSごとにデバイスドライバが必要重複が多くなる
26
OS
physical netphysical disk
Driver1
Driver3
Driver2
Driver4
Library OS
Driver1
Driver3
Driver2
Driver4
New OS
Driver1
Driver3
Driver2
Driver4
![Page 27: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/27.jpg)
BitVisorによるハードウェア抽象化
• virtio で統一したインタフェースを提供するOSごとに異なるデバイスドライバを持たなくても良くなる
• Device Masquerade による軽量I/F変換仮想化のオーバーヘッドを低減する
27
OS
physical netphysical disk
Driver1 Driver2
Library OS
Driver1 Driver2
New OS
Driver1 Driver2
BitVisorvirtio-disk virtio-net
HardwareAbstraction
Layer(HAL)
![Page 28: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/28.jpg)
軽量な仮想マシンモニタの若化
28
![Page 29: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/29.jpg)
VMMの老化
• VMMも年をとるメモリリークなどで性能が低下する
• 定期的な若返りが必要リブート
29
VMM
VM VM
![Page 30: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/30.jpg)
VMMの若化
• Nested virtualization を活用VMMを一時的に2つ動作させる
• 通常利用時のオーバーヘッドをゼロにNested de-virtualization / re-virtualization
30
VMM
VM VM
VMM
TinyVisor
VMM
![Page 31: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/31.jpg)
ベアメタルクラウドにおけるライブマイグレーション
31
![Page 32: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/32.jpg)
VMのライブマイグレーション
• 比較的簡単にできる仮想マシンの状態を送れば良い
• ベアメタルクラウド環境では難しいOSが物理マシンを直接管理している
32
VMM
VM
OS
VM
OS
VMM
VM
OS
OS
![Page 33: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/33.jpg)
OSのライブマイグレーション
• BitVisorでハードウェア状態を移送する様々なテクニックを駆使して状態を取得・設定する
• あとはVMと同様に移送するCPU、メモリの状態
33
BitVisor BitVisor
OS
![Page 34: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/34.jpg)
BitVisor論文のインパクト
34
![Page 35: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/35.jpg)
BitVisor論文(VEE ‘09)の参照数
0
50
100
150
200
250
2010 2011 2012 2013 2014 2015 2016 2017
Citation Count
Citation Count
35
EuroSys ‘10
IEEE S&P 2010
SOSP ‘11
EuroSys ‘10
SOSP ‘11
NDSS ‘11
IEEE S&P ‘12
IEEE S&P ‘13
約199件
![Page 36: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/36.jpg)
BitVisorの今後の課題
• 機能向上デバイス対応
USB 3.0(xHCI),NIC(Marvell, Broadcom),無線LAN, RAIDカード, ...
マシン・OS対応EFI(Mac対応), Nested Virtualization, MMConfig, ...
開発者向け対応依存関係対応Config, API整理,ドキュメンテーション
オーバヘッド削減EPT, スレッド, Preemption Timer
• 商業化セキュアVM, ネットワークブート,…
36
![Page 37: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/37.jpg)
まとめ
• BitVisor とは準パススルー型単一VM軽量ハイパーバイザ
• 東京大学での運用実績 vThrii Seamless Provisioning が稼働中
イメージ切り戻し、全台再インストール、vThriiアップデート、パーティション再構成
• 品川研究室での活動 IEEE CloudCom 2017、ACM SAC 2018に採択 VMMの若化、ライブマイグレーション、BPF
VEE 2009 論文が199件参照
• 今後の課題オープンソースコミュニティの活性化対応デバイスの更なる増加更なる商業化
37
![Page 38: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」](https://reader031.vdocuments.pub/reader031/viewer/2022021923/5a67db6b7f8b9ab9398b53f1/html5/thumbnails/38.jpg)
BitVisor の宣伝
• BitVisor に関する情報ホームページ
https://www.bitvisor.org/
メーリングリスト[email protected], [email protected]
[email protected], [email protected]
ソースコードhttps://bitbucket.org/bitvisor/bitvisor
https://sourceforge.net/projects/bitvisor/
• vThrii Seamless Provisioningに関する情報株式会社イーゲル
https://www.igel.co.jp/solution/
38