仮想化技術の現状と方向性


      須崎有康
   産業技術総合研究所
発表概要

• 仮想マシンとは?
• 仮想化の問題点とその解決法
 – ソフトウェアのみによる解決とハードウェア支援(Intel VT,
   AMD-V)による解決
• 仮想化の応用・方向性
• まとめ
仮想マシンソフトウェアはいくつあるか
• 挙げてみると
  –   VMware
  –   Xen
  –   VirtualPC
  –   KVM
  –   Parallels
  –   VirtualBox
  –    QEMU
  –    Hyper-V
  –   LilyVM
  –   Bochs, Plex86, coLinux, sHype, zVM, UserModeLinux, Solaris
      containers (zones), FreeBSD jail, Linux VServer, Virtuozzo,
      Cygwin, OpenVZ, SoftwarePod, pearPC, Wine, Tango-VP,
      Quick Transitive, FAT-Binary, SimOS, Simics, IBM LPAR, ……
仮想マシンとは

• 仮想機械(かそうきかい)とは、コンピュータのCPU
  や記憶装置等のリソースを仮想化した上で、その仮
  想化したコンピュータを実行するソフトウェアである。
  バーチャルマシン(英:Virtual Machine)とも称され
  る。 (Ja Wikipedia orgより)
     (Ja.Wikipedia.orgより)

• 全命令、全デバイスをソフトウェアでエミュレートす
  る?
• 「できるだけ実ハードウェアを提供し、できるだけ効
  率的に仮想化を実現するか」が鍵。
 – 仮想マシンモニタ(VMM, Hypervisor)
仮想マシンの歴史
                                                                 KVM
                                                                 Xen
                                              仮想化支援              (Full-
                                             (Intel VT, AMD-V)   Virtualization)

                                                Robin,Irvineによる
                                                仮想化のIA32命令要件 2000
                                      IA32    VMware       Xen
                                              Workstation (Para Virtualization)
                                              W k t ti     (Para-Virtualization)
                                              (Dynamic Translation)

            Popek,Goldbergによる
メインフレーム     仮想化の命令要件
 仮想化支援      1974
          IBM     IBM         DEC                     IBM
         CP/67   370/VM     VAX/VMM                   z/VM



  1960       1970         1980        1990           2000
仮想マシンモニタ(VMM)の分類




 Type Ⅰ     Type II          Hybrid
(例:Xen)   (例:QEMU)    (例:VMware Workstation)
IA32での仮想化の問題点

• 仮想化できない命令
 – Sensitiveで且つNon-privileged の命令
   • 状態を保存し、以降の命令実効に影響を与える。
   • 例外で捕捉できない。
• TLBの仮想化
 – TLB flashを制御できない。
 – TLBはハードウェア制御であり、且つ、アドレス空間にID
   タグが付けられない。
   • SPARCでは仮想化可能。
• IOの仮想化
Sensitive&Non-privileged命令の仮想化問題

• Sensitiveな命令
  – CPUの真の姿が見えてしまう命令
    • GDT, LDT, IDTの読出し
  – 以後の実行に影響を与える命令
    • POPF, PUSHF
• Privilegedな命令ならトラップで捕捉することができ
  るが、 IA32ではSensitiveで且つNon-privileged命
  令がある。
Sensitive&Non-privileged命令の解決手法

• ソフトウェアによる解決
 – 静的に命令を置き換える
   • Para-Virtualization (Xen)
 – 動的に命令を置き換える
   • Dynamic Translation (VMWare)
• ハードウェアの補助による解決
 – 仮想化モード対応CPUを使う
   • Intel VT, AMD-V
   • Sensitive、Privileged命令が実行されるとモードが切り替わり、
     処理をVMMが行なう。
TLBの仮想化問題

• TLB flashを制御できない。
• TLBはハードウェア制御であり、且つ、アドレス空間
  にIDタグが付けられない。
 – SPARCでは仮想化可能。
TLB問題の解決法

• ソフトウェアによる解決
 – Shadow Paging
   • ゲストOSが利用するページテーブルに対応するページテーブル
     (Shadow Paging)を用意し、TLBの変換が起こる際にVMMを呼び
     出し、実
     出し、実ページテーブルとのマッピング、更新管理を行なう。
               ジテ ブルとのマッピング、更新管理を行なう。
• ハードウェアの補助による解決
 – TLB切り替え時にフラッシュが起こるのを防ぐ機構。ページ
   テーブルにタグをつけて、ゲストOSの利用を認識できる。
   • RVI: Rapid Virtualization Indexing (AMD)
      – NPT: Nested Page Table (AMD)と呼ばれていた。
   • EPT: Expended Page Table (Intel)
IOの仮想化の問題点

• 効率的なIOを実現できない。
 – Block Device, Network, Video Cardなど効率を要求さ
   れるデバイスでは仮想化のオーバーヘッドが無視できな
   い。
IO問題の解決法

• ソフトウェアによる解決
 – Para-Virtual ドライバ, Passthrough
   • ゲストOSに新たなドライバを入れ、デバイスをダイレクトにアクセ
     スすることができる。
      – VMGL: トロント大学で公開されているOpenGL (ATI,
        NVIDIA)用のParaVirtualドライバ
        NVIDIA)用のP Vi t lドライバ
• ハードウェアの補助による解決
 – Intel VT-d, AMD-IOMMU
   • ゲスト物理アドレスと実物理アドレスの不一致を解消するDMAの
     リマッピング機能を提供
   • CPUのみではなく、DMAをコントロールするためチップセットの補
     助が必要。デバイス側でもリマッピングを認識する必要があるた
     め、PCI-Expressで仕様強化を行なっている。
CPUの仮想化対応

• Intel VT, AMD-Vが使えない場合はring構造をして
  いた。
CPUの仮想化拡張

• 仮想化モードの追加
よく使われる仮想マシンソフトウェア

•   VMWare
•   Xen
•   KVM
•   QEMU
VMware
• 現在のVM界の巨人
 – Founder: Mendel Rosenblum (Stanford)
 – VMWare workstationの成功
 – Dynamic Translation技術を使った仮想マシンモニタ
   • 異なる特権レベルとセグメントを利用したフォールトハンドラ経由の命
     令変換。想化で問題になる特権命令やセンシティブ命令を置き換え
     る変換は再利用される。効率が良い実装。
     る変換は再利用される 効率が良い実装
      – 米国特許:6,397,242, Virtualization system including a virtual machine
         monitor for a computer with a segmented architecture, (Date of Patent: May
         28, 2002,Filed: Oct 26, 1998)


 – VMotion (ESX)
 – バルーンメモリ
Xen

• Para-Virtualization (準仮想化)の導入
   – Leader: Ian Pratt (Cambridge)
   – ゲストOSのカーネル内でCPUに影響を与える処理を隠し、
     VMMに処理を依頼する。
   – Live Migration


• Full-Virtualization
   – Intel VT/ AMD-SVMを使う。
   – 高速IOにはpara virtual driverを使う。
      • Intel VT-d, AMD-IOMMUにも対応
QEMU

• 汎用プロセッサエミュレータ
 – Main developer: Fabrice Bellard
 – 二つのエミュレーション
    • システムエミュレーション
       –中中間コードを介した動的コンパイルを行うことにより、x86、
               ドを介 た動的    パ  を行う と
         PowerPC、SPARCなどエミュレート可能
    • ユーザエミュレーション
       – 非特権モードのエミュレーションおよび、Lシステムコール命
         令をネイティブのシステムコール
 – アクセラレータ技術(KQEMU)
    • カーネルモードの仮想化モニタとして動作
KVM: Kernel-based Virtual Machine

• Linux カーネルベースの仮想化技術
 – Main developer: Avi Kivity (Qumranet)
 – Linuxのドライバとして実現
    • /dev/kvm
• Intel VT, AMD-SVMを使う。
• QEMUをインターフェースとして使う
仮想化技術を使った応用

• サーバの集約、システムの一元管理
• セキュリティの確保
• 実行環境の移動(マイグレーション)
サーバ集約・一元管理

• 複数のサーバをVMを使うことで1台に集約したり、逆に複数
  のマシンを1台と仮想化することで効率的な運用を目指す。
  – キャパシティプランニングが必要。


• Xen ベ スの開発
      ベースの開発
  – Virtual Iron
      • 負荷に合わせてリソースキャパシティの供給 。
  – Ganeti by google
      • Cluster VM
  – OracleVM
      • 仮想化環境を含めたデータベース、ミドルウェア、アプリケーションの一
        元管理。
セキュリティの強化

•   VMによる隔離(isolataion)
•   2つの意味の隔離
    1. 汚染が他に影響しない、実行の監視
     •   IBMのsHypeはVM間の資源共有、情報の流れをポリシーで制
         御。
    2. VM内は強固なセキュリティ確保
     •   HPのNettop は機密情報扱うたのもOSを隔離。
     •   Intel TXT (trusted Execution Technology)はVM起動を
         TrustedなVMに限定する技術。
組込みへの仮想化技術的用

• セキュリティの確保の観点から組込み分野にも仮想
  化技術が開発されている。
 – ARM9用Xen Samsung
 – ARM11用Xen MontaVista
OSの移動(マイグレーション)

• Liveマイグレーション
 – 実行途中の状態を他へ移動。
   • VMwareのVMotion, XenのLive Migration などVMのサポートが
     必要。
   • サーバのメンテナンス時退避、ディザスタリカバリなどに役立つ。
   • CMUのISR(Internet Suspend/Resume)、ColumibaのZAPなど
     の研究もあり。
• Coldマイグレーション
 – ソフトウェアの新しい配信方法
 – インストール作業無しに仮想ディスクを取得するだけで
   色々なOSを試すことができる。
 – サーバでOSのセキュリティアップデート、メンテナンスが
   可能。
ソフトウェアの配信

           Requirement          Merit             Size   Flexibility
           (Xen, KVM,                             GB
 Virtual
           QEMU, etc)
 Disk                            eliminate
           Virtual Machine       installation &
                                 maintenance?
Package Package Manager
                                                  ? ?
                                 (human power)
        (yum, apt-get, etc)
                                 eliminate
Source     Tool Chain            compilation
Code       (gcc, make, header    (CPU power)
                                                  KB
           files, etc)
Cold マイグレーションのプロジェクト
• OS Zoo
   – QEMUの仮想ディスクファイル(Linux, Minix, Plan9, OpenSolaris,
     etc.)を配布。
• Collective at Stanford
   – VMwareのCOWファイルで差分更新を配布。
• Moka5のLivePC
   – Stanford のCollectiveグループが設立したベンチャー企業
   – VMWare Playerの仮想ディスクをストリームダウンロード。
      • HTTPベース、マルチコネクション
• OS Circular
   – 産総研 で開発されているOS配信プロジェクト。
   – Xen/QEMU/KVMを対象にしたネットワーク仮想ディスク Trusted
     HTTP-FUSE CLOOPを開発
   – ディスクイメージの必要な部分のみをダウンロード。差分更新も可能。
仮想ディスクの共有(OS Zoo)
  • OS Zoo project ではQEMU用のディスクファイル
    (Linux, Plan9, BSD, etc)を配布。
                                     Virtual
                                     Machine
                                  Virtual Disk
                                      File
                                      Fil
                  Interne                        Debian   Fedora   FeeBSD
                                 downloa
                      t             d
                                                  Real
                                                 Machine

Debian   Fedora FeeBSD   Plan9
仮想ディスクの共有(OS Zoo)
  • このタイプでは更新があった場合、全てのファイルを
    ダウンロードしなおさなければならない。
                                        Virtual
                                        Machine
                                    Virtual Disk
                                        File
                                        Fil
                  Interne                          Debian     Fedora   FeeBSD
                                   downloa                               FeeBSD
                      t                              Debian     Fedora
                                      d
                                 download again
                                                    Real
                                  Security
                                                   Machine
                                  update
Debian   Fedora FeeBSD   Plan9
仮想ディスクの共有(Collective)
  • Collective project ではアップデートのためにCOW
    ファイルを配布。しかし、マッピン数に制限がある。
                                          Virtual
                                          Machine
                                      Virtual Disk
                                          File
                                          Fil
                  Interne                             Debian    Fedora   FeeBSD
                                    download
                      t
                                 COW files are download
                                      and mapped
                                                       Real
                                                      Machine

Debian   Fedora FeeBSD   Plan9
                                          COW (Copy On Write)
                                          files for update
仮想ディスクの共有(OS Circular)
• 細かいブロックファイルから仮      Virtual
  想ディスクを再構成。
                     Machine
  – 必要なブロックファイルのみの
    ダウンロードでよい。    Virtual Disk
• 更新があった場合、変更の        File
 あったブロックファイルのみの                              Debian           Updated Debian
                               HTTP FUSE
 更新でよい。既存のファイルは                  driver
                                        Mapping
 共有可能。                                   Table
            Interne
                t
                    download
 Block
 Files
                                             Cache at local
                                                storage

                                                 Real
            Updated                             Machine
           Block Files
その他の仮想化のメリット

• 手元のPCには無い機能を試す
 – BIOS
   • EFI (Extensible Firmware Interface)
       – 次期BIOS規格。Intel Macで利用。
       – QEMU(IA32) Xen(IA64)用のEFI はTristan Gingold が移植
         QEMU(IA32),                                が移植。
   • LinuxBIOS, OpenFirmware
 – TPMによるTrusted Computing
   • Trusted BootはBIOSに依存する
   • XenではTPM-Emulator を利用した Trusted Boot環境を提供。
       – TCG BIOSはIBMのStefan Berger が作成。
国内の動向

• SecureVM (科学技術振興調整費 H18-H20)
 – 政府機関(内閣官房情報セキュリティセンターなど)を対象と
   し、現在のシステム環境(Windows)を維持しつつ、高度なセ
   キュリティ機能が確保するVMMの開発。
• セキュアプラットフォームプロジェクト(経済産業省
   キ    プ     プ ジ ク 経済産業省
  H19-H21)
 – VMを使ったサーバ集約による省エネ、セキュリティ向上の
   ための統合アクセス制御機構の開発
抑えておきたい国際会議

• XenSummit
  – 年2回(Spring, Fall)
  – AMD, Intel, IBM, SUNなどがホストを持ち回り
• Linux関連
  –   Kenel S
      K    l Summit (09は日本)
                  it
  –   Linux.Conf.AU (オーストラリア)
  –   Ottawa Linux Symposium (カナダ)
  –   LinuxKonogress (ドイツ)
• ACM/IEEE
  – VEE: International Conference on Virtual Execution Environments
  – OSDI, SOSP
まとめ

• 仮想化技術はハードウェア、ソフトウェア双方から開
  発が進められ、現在ではかなり効率的なものになっ
  ている。
• 仮想化によりサーバの集約、セキュリティの確保、
  実行環境の移動、システムの一元管理などの新し
  い応用が進められている。

More Related Content

PDF
仮想化技術によるマルウェア対策とその問題点
PDF
仮想化技術の基本の基本
PDF
OSC2011 Tokyo/Fall 濃いバナ(virtio)
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
PDF
#ljstudy KVM勉強会
PDF
第4回「クラウドを支えるKVMの現在と未来」(2011/07/07 on しすなま!)
PDF
Osc2009 Sendai Xen 0124
PPTX
TechEd2009_T1-402_EffectiveHyper-V
仮想化技術によるマルウェア対策とその問題点
仮想化技術の基本の基本
OSC2011 Tokyo/Fall 濃いバナ(virtio)
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
#ljstudy KVM勉強会
第4回「クラウドを支えるKVMの現在と未来」(2011/07/07 on しすなま!)
Osc2009 Sendai Xen 0124
TechEd2009_T1-402_EffectiveHyper-V

What's hot (20)

PDF
第21回「Windows Server 2012 DeepDive!! Hyper-V と VDI を徹底解説」(2012/10/18 on しすなま!)...
PPTX
TechEd2008_T1-407_EffectiveHyper-V
PDF
Hyper-V Replica
PDF
仮想化環境におけるパケットフォワーディング
PDF
OpenFlow in IaaS - Wakame
PDF
Wakame Project - 自作クラウド研究会
PDF
IaaSクラウドを支える基礎技術 演習編_v1_0
PDF
The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...
PPTX
20120609 cod ws2012概要
PDF
インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編
PDF
OSC2012Kansai@Kyoto 自宅SAN友の会 - インフラエンジニアなら知っておきたい ストレージのはなし
PDF
Hyper vを理解する
PDF
Kernel vm#9 powerkvm-dist-20131208
PDF
OSC 2011 Hokkaido 自宅SAN友の会(後半)
PDF
IaaSクラウドを支える基礎技術 v1_0
PPTX
「おうちクラウド」が今熱い!
PDF
不揮発メモリ(NVDIMM)とLinuxの対応動向について
PDF
Hyper-V 虎の巻
PDF
Wakame Tech #1
PPTX
CRX: Container Runtime Executive 
第21回「Windows Server 2012 DeepDive!! Hyper-V と VDI を徹底解説」(2012/10/18 on しすなま!)...
TechEd2008_T1-407_EffectiveHyper-V
Hyper-V Replica
仮想化環境におけるパケットフォワーディング
OpenFlow in IaaS - Wakame
Wakame Project - 自作クラウド研究会
IaaSクラウドを支える基礎技術 演習編_v1_0
The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...
20120609 cod ws2012概要
インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編
OSC2012Kansai@Kyoto 自宅SAN友の会 - インフラエンジニアなら知っておきたい ストレージのはなし
Hyper vを理解する
Kernel vm#9 powerkvm-dist-20131208
OSC 2011 Hokkaido 自宅SAN友の会(後半)
IaaSクラウドを支える基礎技術 v1_0
「おうちクラウド」が今熱い!
不揮発メモリ(NVDIMM)とLinuxの対応動向について
Hyper-V 虎の巻
Wakame Tech #1
CRX: Container Runtime Executive 
Ad

Viewers also liked (7)

PDF
ACM SOSP11 & SOCC11 & PLOS11 Report
PDF
Hot sec10 slide-suzaki
PDF
Bitvisorをベースとした既存Windowsのドライバメモリ保護
PDF
EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...
PDF
LinuxCon Japan 2010 suzaki
PDF
Cloud ComputingにおけるVMのセキュリティ(14/Jan/2010)
PDF
EPT と TLB でしくじった話
ACM SOSP11 & SOCC11 & PLOS11 Report
Hot sec10 slide-suzaki
Bitvisorをベースとした既存Windowsのドライバメモリ保護
EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...
LinuxCon Japan 2010 suzaki
Cloud ComputingにおけるVMのセキュリティ(14/Jan/2010)
EPT と TLB でしくじった話
Ad

Similar to Technology Used in Virtual Machine (Jan 2008) (20)

KEY
物理マシンをケチる技術
PPTX
20120822_dstn技術交流会_仮想化について
PDF
Osc2009 Do Xen Hara
PDF
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
PDF
JITA(日本産業技術振興協会)講演会資料:クラウドコンピューティングにおける仮想マシンのセキュリティ
PDF
仮想化技術の今後の動向
PDF
私立大学情報教育協会大学 情報セキュリティ研究講習会
PDF
BHyVeってなんや
PDF
カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ
ODP
Bhyve code reading
PDF
BHyVe: The BSD Hypervisor
PDF
2012-12-04 BitVisor Summit (公開版)「BitVisorの現状と今後」
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
PDF
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
PPTX
クラウド入門
PDF
Cloud VM Security on Cloud Computingi 20090311
PDF
Virtual Machine Security on Cloud Computing 20090311
PDF
InfiniBandで構築する ちょっと高可用なHypver-V VMクラスタ ~Windows Server 2012 対応~
PDF
Intel TXT and vSphere
PDF
qpstudy05 lignhing talk - virtio
物理マシンをケチる技術
20120822_dstn技術交流会_仮想化について
Osc2009 Do Xen Hara
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
JITA(日本産業技術振興協会)講演会資料:クラウドコンピューティングにおける仮想マシンのセキュリティ
仮想化技術の今後の動向
私立大学情報教育協会大学 情報セキュリティ研究講習会
BHyVeってなんや
カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ
Bhyve code reading
BHyVe: The BSD Hypervisor
2012-12-04 BitVisor Summit (公開版)「BitVisorの現状と今後」
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
クラウド入門
Cloud VM Security on Cloud Computingi 20090311
Virtual Machine Security on Cloud Computing 20090311
InfiniBandで構築する ちょっと高可用なHypver-V VMクラスタ ~Windows Server 2012 対応~
Intel TXT and vSphere
qpstudy05 lignhing talk - virtio

More from Kuniyasu Suzaki (20)

PDF
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
PDF
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
PDF
IETF111 RATS: Remote Attestation ProcedureS 報告
PDF
Slide presented at FIT 2021 Top Conference (Reboot Oriented IoT, ACSAC2021)
PDF
ACSAC2020 "Return-Oriented IoT" by Kuniyasu Suzaki
PDF
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
PDF
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
PDF
Hardware-assisted Isolated Execution Environment to run trusted OS and applic...
PDF
RISC-V-Day-Tokyo2018-suzaki
PDF
BMC: Bare Metal Container @Open Source Summit Japan 2017
PDF
USENIX NSDI17 Memory Disaggregation
PDF
Io t security-suzki-20170224
PDF
”Bare-Metal Container" presented at HPCC2016
PDF
Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...
PDF
Report for S4x14 (SCADA Security Scientific Symposium 2014)
PDF
Slide used at ACM-SAC 2014 by Suzaki
PDF
OSセキュリティチュートリアル
PDF
Nested Virtual Machines and Proxies
PDF
Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)
PDF
Linux Symposium 2011 "Analysis of Disk Access Patterns on File Systems for Co...
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
IETF111 RATS: Remote Attestation ProcedureS 報告
Slide presented at FIT 2021 Top Conference (Reboot Oriented IoT, ACSAC2021)
ACSAC2020 "Return-Oriented IoT" by Kuniyasu Suzaki
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Hardware-assisted Isolated Execution Environment to run trusted OS and applic...
RISC-V-Day-Tokyo2018-suzaki
BMC: Bare Metal Container @Open Source Summit Japan 2017
USENIX NSDI17 Memory Disaggregation
Io t security-suzki-20170224
”Bare-Metal Container" presented at HPCC2016
Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...
Report for S4x14 (SCADA Security Scientific Symposium 2014)
Slide used at ACM-SAC 2014 by Suzaki
OSセキュリティチュートリアル
Nested Virtual Machines and Proxies
Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)
Linux Symposium 2011 "Analysis of Disk Access Patterns on File Systems for Co...

Recently uploaded (9)

PDF
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
PPTX
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
PDF
20250823_IoTLT_vol126_kitazaki_v1___.pdf
PPTX
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
PDF
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
PDF
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
PPTX
Vibe Codingを触って感じた現実について.pptx .
PDF
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
PDF
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
20250823_IoTLT_vol126_kitazaki_v1___.pdf
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
Vibe Codingを触って感じた現実について.pptx .
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回

Technology Used in Virtual Machine (Jan 2008)

  • 1. 仮想化技術の現状と方向性 須崎有康 産業技術総合研究所
  • 2. 発表概要 • 仮想マシンとは? • 仮想化の問題点とその解決法 – ソフトウェアのみによる解決とハードウェア支援(Intel VT, AMD-V)による解決 • 仮想化の応用・方向性 • まとめ
  • 3. 仮想マシンソフトウェアはいくつあるか • 挙げてみると – VMware – Xen – VirtualPC – KVM – Parallels – VirtualBox – QEMU – Hyper-V – LilyVM – Bochs, Plex86, coLinux, sHype, zVM, UserModeLinux, Solaris containers (zones), FreeBSD jail, Linux VServer, Virtuozzo, Cygwin, OpenVZ, SoftwarePod, pearPC, Wine, Tango-VP, Quick Transitive, FAT-Binary, SimOS, Simics, IBM LPAR, ……
  • 4. 仮想マシンとは • 仮想機械(かそうきかい)とは、コンピュータのCPU や記憶装置等のリソースを仮想化した上で、その仮 想化したコンピュータを実行するソフトウェアである。 バーチャルマシン(英:Virtual Machine)とも称され る。 (Ja Wikipedia orgより) (Ja.Wikipedia.orgより) • 全命令、全デバイスをソフトウェアでエミュレートす る? • 「できるだけ実ハードウェアを提供し、できるだけ効 率的に仮想化を実現するか」が鍵。 – 仮想マシンモニタ(VMM, Hypervisor)
  • 5. 仮想マシンの歴史 KVM Xen 仮想化支援 (Full- (Intel VT, AMD-V) Virtualization) Robin,Irvineによる 仮想化のIA32命令要件 2000 IA32 VMware Xen Workstation (Para Virtualization) W k t ti (Para-Virtualization) (Dynamic Translation) Popek,Goldbergによる メインフレーム 仮想化の命令要件 仮想化支援 1974 IBM IBM DEC IBM CP/67 370/VM VAX/VMM z/VM 1960 1970 1980 1990 2000
  • 6. 仮想マシンモニタ(VMM)の分類 Type Ⅰ Type II Hybrid (例:Xen) (例:QEMU) (例:VMware Workstation)
  • 7. IA32での仮想化の問題点 • 仮想化できない命令 – Sensitiveで且つNon-privileged の命令 • 状態を保存し、以降の命令実効に影響を与える。 • 例外で捕捉できない。 • TLBの仮想化 – TLB flashを制御できない。 – TLBはハードウェア制御であり、且つ、アドレス空間にID タグが付けられない。 • SPARCでは仮想化可能。 • IOの仮想化
  • 8. Sensitive&Non-privileged命令の仮想化問題 • Sensitiveな命令 – CPUの真の姿が見えてしまう命令 • GDT, LDT, IDTの読出し – 以後の実行に影響を与える命令 • POPF, PUSHF • Privilegedな命令ならトラップで捕捉することができ るが、 IA32ではSensitiveで且つNon-privileged命 令がある。
  • 9. Sensitive&Non-privileged命令の解決手法 • ソフトウェアによる解決 – 静的に命令を置き換える • Para-Virtualization (Xen) – 動的に命令を置き換える • Dynamic Translation (VMWare) • ハードウェアの補助による解決 – 仮想化モード対応CPUを使う • Intel VT, AMD-V • Sensitive、Privileged命令が実行されるとモードが切り替わり、 処理をVMMが行なう。
  • 10. TLBの仮想化問題 • TLB flashを制御できない。 • TLBはハードウェア制御であり、且つ、アドレス空間 にIDタグが付けられない。 – SPARCでは仮想化可能。
  • 11. TLB問題の解決法 • ソフトウェアによる解決 – Shadow Paging • ゲストOSが利用するページテーブルに対応するページテーブル (Shadow Paging)を用意し、TLBの変換が起こる際にVMMを呼び 出し、実 出し、実ページテーブルとのマッピング、更新管理を行なう。 ジテ ブルとのマッピング、更新管理を行なう。 • ハードウェアの補助による解決 – TLB切り替え時にフラッシュが起こるのを防ぐ機構。ページ テーブルにタグをつけて、ゲストOSの利用を認識できる。 • RVI: Rapid Virtualization Indexing (AMD) – NPT: Nested Page Table (AMD)と呼ばれていた。 • EPT: Expended Page Table (Intel)
  • 12. IOの仮想化の問題点 • 効率的なIOを実現できない。 – Block Device, Network, Video Cardなど効率を要求さ れるデバイスでは仮想化のオーバーヘッドが無視できな い。
  • 13. IO問題の解決法 • ソフトウェアによる解決 – Para-Virtual ドライバ, Passthrough • ゲストOSに新たなドライバを入れ、デバイスをダイレクトにアクセ スすることができる。 – VMGL: トロント大学で公開されているOpenGL (ATI, NVIDIA)用のParaVirtualドライバ NVIDIA)用のP Vi t lドライバ • ハードウェアの補助による解決 – Intel VT-d, AMD-IOMMU • ゲスト物理アドレスと実物理アドレスの不一致を解消するDMAの リマッピング機能を提供 • CPUのみではなく、DMAをコントロールするためチップセットの補 助が必要。デバイス側でもリマッピングを認識する必要があるた め、PCI-Expressで仕様強化を行なっている。
  • 14. CPUの仮想化対応 • Intel VT, AMD-Vが使えない場合はring構造をして いた。
  • 17. VMware • 現在のVM界の巨人 – Founder: Mendel Rosenblum (Stanford) – VMWare workstationの成功 – Dynamic Translation技術を使った仮想マシンモニタ • 異なる特権レベルとセグメントを利用したフォールトハンドラ経由の命 令変換。想化で問題になる特権命令やセンシティブ命令を置き換え る変換は再利用される。効率が良い実装。 る変換は再利用される 効率が良い実装 – 米国特許:6,397,242, Virtualization system including a virtual machine monitor for a computer with a segmented architecture, (Date of Patent: May 28, 2002,Filed: Oct 26, 1998) – VMotion (ESX) – バルーンメモリ
  • 18. Xen • Para-Virtualization (準仮想化)の導入 – Leader: Ian Pratt (Cambridge) – ゲストOSのカーネル内でCPUに影響を与える処理を隠し、 VMMに処理を依頼する。 – Live Migration • Full-Virtualization – Intel VT/ AMD-SVMを使う。 – 高速IOにはpara virtual driverを使う。 • Intel VT-d, AMD-IOMMUにも対応
  • 19. QEMU • 汎用プロセッサエミュレータ – Main developer: Fabrice Bellard – 二つのエミュレーション • システムエミュレーション –中中間コードを介した動的コンパイルを行うことにより、x86、 ドを介 た動的 パ を行う と PowerPC、SPARCなどエミュレート可能 • ユーザエミュレーション – 非特権モードのエミュレーションおよび、Lシステムコール命 令をネイティブのシステムコール – アクセラレータ技術(KQEMU) • カーネルモードの仮想化モニタとして動作
  • 20. KVM: Kernel-based Virtual Machine • Linux カーネルベースの仮想化技術 – Main developer: Avi Kivity (Qumranet) – Linuxのドライバとして実現 • /dev/kvm • Intel VT, AMD-SVMを使う。 • QEMUをインターフェースとして使う
  • 22. サーバ集約・一元管理 • 複数のサーバをVMを使うことで1台に集約したり、逆に複数 のマシンを1台と仮想化することで効率的な運用を目指す。 – キャパシティプランニングが必要。 • Xen ベ スの開発 ベースの開発 – Virtual Iron • 負荷に合わせてリソースキャパシティの供給 。 – Ganeti by google • Cluster VM – OracleVM • 仮想化環境を含めたデータベース、ミドルウェア、アプリケーションの一 元管理。
  • 23. セキュリティの強化 • VMによる隔離(isolataion) • 2つの意味の隔離 1. 汚染が他に影響しない、実行の監視 • IBMのsHypeはVM間の資源共有、情報の流れをポリシーで制 御。 2. VM内は強固なセキュリティ確保 • HPのNettop は機密情報扱うたのもOSを隔離。 • Intel TXT (trusted Execution Technology)はVM起動を TrustedなVMに限定する技術。
  • 24. 組込みへの仮想化技術的用 • セキュリティの確保の観点から組込み分野にも仮想 化技術が開発されている。 – ARM9用Xen Samsung – ARM11用Xen MontaVista
  • 25. OSの移動(マイグレーション) • Liveマイグレーション – 実行途中の状態を他へ移動。 • VMwareのVMotion, XenのLive Migration などVMのサポートが 必要。 • サーバのメンテナンス時退避、ディザスタリカバリなどに役立つ。 • CMUのISR(Internet Suspend/Resume)、ColumibaのZAPなど の研究もあり。 • Coldマイグレーション – ソフトウェアの新しい配信方法 – インストール作業無しに仮想ディスクを取得するだけで 色々なOSを試すことができる。 – サーバでOSのセキュリティアップデート、メンテナンスが 可能。
  • 26. ソフトウェアの配信 Requirement Merit Size Flexibility (Xen, KVM, GB Virtual QEMU, etc) Disk eliminate Virtual Machine installation & maintenance? Package Package Manager ? ? (human power) (yum, apt-get, etc) eliminate Source Tool Chain compilation Code (gcc, make, header (CPU power) KB files, etc)
  • 27. Cold マイグレーションのプロジェクト • OS Zoo – QEMUの仮想ディスクファイル(Linux, Minix, Plan9, OpenSolaris, etc.)を配布。 • Collective at Stanford – VMwareのCOWファイルで差分更新を配布。 • Moka5のLivePC – Stanford のCollectiveグループが設立したベンチャー企業 – VMWare Playerの仮想ディスクをストリームダウンロード。 • HTTPベース、マルチコネクション • OS Circular – 産総研 で開発されているOS配信プロジェクト。 – Xen/QEMU/KVMを対象にしたネットワーク仮想ディスク Trusted HTTP-FUSE CLOOPを開発 – ディスクイメージの必要な部分のみをダウンロード。差分更新も可能。
  • 28. 仮想ディスクの共有(OS Zoo) • OS Zoo project ではQEMU用のディスクファイル (Linux, Plan9, BSD, etc)を配布。 Virtual Machine Virtual Disk File Fil Interne Debian Fedora FeeBSD downloa t d Real Machine Debian Fedora FeeBSD Plan9
  • 29. 仮想ディスクの共有(OS Zoo) • このタイプでは更新があった場合、全てのファイルを ダウンロードしなおさなければならない。 Virtual Machine Virtual Disk File Fil Interne Debian Fedora FeeBSD downloa FeeBSD t Debian Fedora d download again Real Security Machine update Debian Fedora FeeBSD Plan9
  • 30. 仮想ディスクの共有(Collective) • Collective project ではアップデートのためにCOW ファイルを配布。しかし、マッピン数に制限がある。 Virtual Machine Virtual Disk File Fil Interne Debian Fedora FeeBSD download t COW files are download and mapped Real Machine Debian Fedora FeeBSD Plan9 COW (Copy On Write) files for update
  • 31. 仮想ディスクの共有(OS Circular) • 細かいブロックファイルから仮 Virtual 想ディスクを再構成。 Machine – 必要なブロックファイルのみの ダウンロードでよい。 Virtual Disk • 更新があった場合、変更の File あったブロックファイルのみの Debian Updated Debian HTTP FUSE 更新でよい。既存のファイルは driver Mapping 共有可能。 Table Interne t download Block Files Cache at local storage Real Updated Machine Block Files
  • 32. その他の仮想化のメリット • 手元のPCには無い機能を試す – BIOS • EFI (Extensible Firmware Interface) – 次期BIOS規格。Intel Macで利用。 – QEMU(IA32) Xen(IA64)用のEFI はTristan Gingold が移植 QEMU(IA32), が移植。 • LinuxBIOS, OpenFirmware – TPMによるTrusted Computing • Trusted BootはBIOSに依存する • XenではTPM-Emulator を利用した Trusted Boot環境を提供。 – TCG BIOSはIBMのStefan Berger が作成。
  • 33. 国内の動向 • SecureVM (科学技術振興調整費 H18-H20) – 政府機関(内閣官房情報セキュリティセンターなど)を対象と し、現在のシステム環境(Windows)を維持しつつ、高度なセ キュリティ機能が確保するVMMの開発。 • セキュアプラットフォームプロジェクト(経済産業省 キ プ プ ジ ク 経済産業省 H19-H21) – VMを使ったサーバ集約による省エネ、セキュリティ向上の ための統合アクセス制御機構の開発
  • 34. 抑えておきたい国際会議 • XenSummit – 年2回(Spring, Fall) – AMD, Intel, IBM, SUNなどがホストを持ち回り • Linux関連 – Kenel S K l Summit (09は日本) it – Linux.Conf.AU (オーストラリア) – Ottawa Linux Symposium (カナダ) – LinuxKonogress (ドイツ) • ACM/IEEE – VEE: International Conference on Virtual Execution Environments – OSDI, SOSP
  • 35. まとめ • 仮想化技術はハードウェア、ソフトウェア双方から開 発が進められ、現在ではかなり効率的なものになっ ている。 • 仮想化によりサーバの集約、セキュリティの確保、 実行環境の移動、システムの一元管理などの新し い応用が進められている。