Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Virtualization Fundamental
Search
HASUNUMA Kenji
April 20, 2016
Programming
1
33
Virtualization Fundamental
HASUNUMA Kenji
April 20, 2016
Tweet
Share
More Decks by HASUNUMA Kenji
See All by HASUNUMA Kenji
Jakarta EE: The First Parts
khasunuma
0
40
Life of our small product
khasunuma
0
28
How to adapt MicroProfile API for generic Web applications
khasunuma
0
29
Overviewing Admin Console
khasunuma
0
28
Introduction to MicroProfile Metrics
khasunuma
0
48
Basic method for Java EE Web Profile
khasunuma
0
23
Introduction to JCA and MDB
khasunuma
0
66
Collections Framework Begineers Guide 2
khasunuma
0
63
JLS myths ~ if-then-else statement ~
khasunuma
0
27
Other Decks in Programming
See All in Programming
🔨 小さなビルドシステムを作る
momeemt
3
650
速いWebフレームワークを作る
yusukebe
5
1.6k
旅行プランAIエージェント開発の裏側
ippo012
2
760
Google I/O recap web編 大分Web祭り2025
kponda
0
2.9k
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
140
AI時代のドメイン駆動設計-DDD実践におけるAI活用のあり方 / ddd-in-ai-era
minodriven
25
9.7k
tool ディレクティブを導入してみた感想
sgash708
1
160
AI時代のUIはどこへ行く?
yusukebe
11
6.9k
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
510
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
380
個人軟體時代
ethanhuang13
0
300
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
210
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
It's Worth the Effort
3n
187
28k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Code Review Best Practice
trishagee
70
19k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Speed Design
sergeychernyshev
32
1.1k
Writing Fast Ruby
sferik
628
62k
Transcript
Virtualization Fundamental HASUNUMA Kenji
[email protected]
@khasunuma
ԾԽͱ What’s virtualization?
ຊԿ
ຊԿ
ԾԽͷຊ࣭ ݟ͍͑ͯΔͷ㱠ཧతͳͷ w ཧઃܭʹറΒΕͳ͍ཧઃܭ w ཧઃܭͷมߋʹڧ͍ཧઃܭ
ओͳԾԽςΫϊϩδʔ w ϋʔυΣΞԾԽ w σεΫτοϓԾԽ w ΞϓϦέʔγϣϯԾԽ w ετϨʔδԾԽ w
ωοτϫʔΫԾԽ
ϋʔυΣΞԾԽ w ͷཧϚγϯʹෳͷԾϚγϯ Λߏங͢Δ w ར༻ऀʹɺෳͷϚγϯ͕ಈ࡞ͯ͠ ͍Δ͔ͷΑ͏ʹݟ͔͚ͤΔ w ͬͱྺ࢙͕ݹ͘ɺීٴ͍ͯ͠Δ
σεΫτοϓԾԽ w ϦϞʔτɾσεΫτοϓͷൃలܗ ӳޠུশVDIΑ͘༻͍ΒΕΔ w ଟͷϢʔβʔʹରͯ͠ҟͳΔσεΫ τοϓΛఏڙ͢Δ w γϯɾΫϥΠΞϯτͷج൫ٕज़
ΞϓϦέʔγϣϯԾԽ w දྫJavaԾϚγϯ(Java VM) w OS͝ͱͷAPIࠩҟΛٵऩ͢Δ w OS͔ΒݟΕ୯ͳΔϓϩηε w ίϯςφԾԽ(Docker,
Solaris Zone, FreeBSD Jail)ൃల
ԾԽͷྺ࢙ History of virtualization
ूதॲཧ `ʙ ݶΒΕͨϦιʔε ʮόονॲཧʯͰޮԽ
ԾԽͷొ bʙ *#.$1$.4ͷొ ෳͷ04Λಉ࣮࣌ߦԾԽͷݩ
͜΅Ε w CP/CMS࣌ͷOS୯ҰϢʔβʔ༻ w Multics = ϚϧνϢʔβʔOS (TSS) ˠݟࣄʹίέΔ w
ݩMultics։ൃऀ͕झຯͰUnixΛ։ൃ ˠେϒϨΠΫ͠ɺޙൃͷOSʹӨڹ
μϯαΠδϯά `ʙ ϗετʹΑΔूதॲཧ͔Βɺ খܕίϯϐϡʔλʹΑΔࢄॲཧ
࠶ͼूதॲཧ `ʙ αʔόʔʹॲཧ͕ूத ʮαʔόʔͷϝΠϯϑϨʔϜԽʯ
ϋʔυΣΞԾԽ Hardware virtualization
ϋʔυΣΞԾԽख๏ w ϗετ04ܕ˞؆қͳݕূڥ͖ w VMware (w/o vSphere), VirtualBox w ϋΠύʔόΠβʔܕ˞࣮ӡ༻Ͱͷओྲྀ
w Xenܕ : Citrix Xen, Microsoft Hyper-V w ESXiܕ : VMware ESXi (vSphere) • KVMܕ : Linux KVM
ϗετOSܕ
ϗετ04ܕͷಛ w طଘͷ04্ʹ7..ΛߏஙͰ͖Δ w ྺ࢙͕ݹ͘ɺଟ͘ͷήετ04ʹରԠ w ϋΠύʔόΠβʔܕʹൺֱͯ͠ޮ͕ ѱ͘ɺ࣮ӡ༻ʹ͔ͳ͍
Xenܕ Dom0VMM Λ੍ޚ͢Δ
9FOܕͷಛ w ϋΠύʔόΠβʔܕͱ࣮ͯ͠๛ɺ Hyper-VجຊઃܭXenϕʔε w ४ԾԽ͕جຊ͕ͩɺશԾԽར༻ Մೳ w ࣮ӡ༻Ͱɺ͍͔ʹDom0ͷফඅϦιʔ εΛখ͘͢͞Δ͔͕伴
શԾԽͱ४ԾԽ ४ԾԽ શԾԽ
શԾԽ w Guest OS͕ఏڙ͢ΔυϥΠόʔΛར༻ w VMMଆϋʔυΣΞͷΤϛϡϨʔ γϣϯʹప͢Δ w ෦ͰখࡉύϑΥʔϚϯεԼ ˠԾԽࢧԉػೳ
Intel VT/AMD-V
४ԾԽ w VMM͕ఏڙ͢ΔυϥΠόʔΛར༻ w VMMଆ࠷খݶͷΤϛϡϨʔγϣϯ ˠߴ͍ύϑΥʔϚϯε w XenHyper-VͰՄೳͳݶΓ४Ծ ԽΛݕ౼͢Δ͜ͱ
ESXiܕ ཧઐ༻04 ඞਢͰͳ͍
&49Jܕͷಛ w VMMຊମΛۃখԽɺήετOSׂ ՄೳͳϦιʔε࠷େ w Intel VT/AMD-VͷԾԽࢧԉػೳ͕ ඞਢ w ϋʔυΣΞͱͷ૬ੑ͕γϏΞ
KVMܕ LinuxΧʔωϧ ࣗମΛVMMʹ͠ ͯ͠·͍ͬͯΔ
,7.ܕͷಛ w LinuxʹࡌʢΧʔωϧʙʣ w LinuxΧʔωϧͦͷͷΛVMMԽ w ݪଇͱͯ͠શԾԽͷΈαϙʔτ વIntel VT/AMD-Vඞਢ
ԾԽʹؔ͢Δߟ Virtualization
ԾԽͷϝϦοτ w Ϧιʔεͷ༗ޮ׆༻ جຊɺίϯϐϡʔλʔՋ͍ͯ͠Δ w ཧతͳαʔόʔͷݮ چ04ͷूɺ։ൃڥͷαʔό౷߹ w
ϋʔυΣΞ04ͷࠩҟΛٵऩ
ԾԽͷσϝϦοτ w ԾԽٕज़ͦͷͷʹཱͬͨσϝ Ϧοτͳ͍ w ʮͦͷҊ݅ɺຊʹʰԾԽʱ ͕ඞཁͰ͔͢ʁʯ w ԾԽܾͯ͠ʮۜͷؙʯͰͳ͍
ԾԽͰҙ͍ͨ͜͠ͱ Ϧιʔεʹཁҙ ʮཧϚγϯͷϦιʔεʯ ɹʼʮىಈதͷԾϚγϯͷϦιʔεʯ ԾԽڥ্Ͱ͞ΒʹԾԽ͠ͳ͍ ɹˠ௨ৗɺԿ͕͓͜Δ͔Θ͔Βͳ͍
ԾԽͷ͜͏ଆ Beyond virtualization
ΫϥυڀۃͷԾԽ w Ϋϥυ㲈σʔληϯλʔͷԾԽ w ΫϥυͰ͕ͯ͢ԾԽ w ඞཁͳͱ͖ɺඞཁͳϦιʔεΛௐୡ w ॴɾ࣌ؒΛΘͣΞΫηεՄೳ
Ϋϥυͷ෭࣍తޮೳ େنΫϥυੈքల։ w ෛՙฏ४Խ ౦ژ͕தൟظͰ/:ؒؓࢄظ ˠ/:ͷ༨ϦιʔεΛ౦ژʹճͤΔ w ࡂରࡦ ͋ΔҬ͕ඃࡂͯ͠ɺଞҬͷσʔλη ϯλʔ͕όοΫΞοϓ
Ϋϥυར༻࣌ͷҙ w ࣄۀऀͱར༻ऀͷ৴པ͕ؔୈҰ w ΫϥυͷαʔϏεଟछଟ༷ IaaS, PaaS, SaaS, etc. w
ʮΫϥυ͋Γ͖ʯͰͳ͘ɺγεςϜ ΛޮΑ࣮͘ݱ͢Δखஈ
Virtualization Fundamental HASUNUMA Kenji
[email protected]
@khasunuma