Successfully reported this slideshow.
Your SlideShare is downloading. ×

2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
2018-11-28 BitVisor Summit 7
2018-11-28 BitVisor Summit 7
Loading in …3
×

Check these out next

1 of 38 Ad
Advertisement

More Related Content

Similar to 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」 (20)

More from Takahiro Shinagawa (7)

Advertisement

Recently uploaded (20)

2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

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

×