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
32
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
37
Life of our small product
khasunuma
0
19
How to adapt MicroProfile API for generic Web applications
khasunuma
0
25
Overviewing Admin Console
khasunuma
0
22
Introduction to MicroProfile Metrics
khasunuma
0
46
Basic method for Java EE Web Profile
khasunuma
0
22
Introduction to JCA and MDB
khasunuma
0
59
Collections Framework Begineers Guide 2
khasunuma
0
59
JLS myths ~ if-then-else statement ~
khasunuma
0
23
Other Decks in Programming
See All in Programming
eBPF超入門「o11yに使える」とは (20250424_eBPF_o11y)
thousanda
1
120
ビカム・ア・コパイロット
ymd65536
1
170
ASP.NETアプリケーションのモダナイゼーションについて
tomokusaba
0
280
“技術カンファレンスで何か変わる?” ──RubyKaigi後の自分とチームを振り返る
ssagara00
0
170
AIコーディングの本質は“コード“ではなく“構造“だった / The essence of AI coding is not “code” but "structure
seike460
2
570
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
150
「MCPを使ってる人」が より詳しくなるための解説
yamaguchidesu
0
260
Digging into the Matrix: Practicing Code Archaeology
arthurdoler
PRO
0
120
rbs-traceを使ってWEARで型生成を試してみた After RubyKaigi 2025〜ZOZO、ファインディ、ピクシブ〜 / tried rbs-trace on WEAR
oyamakei
0
200
オープンソースコントリビュート入門
_katsuma
0
150
note の Elasticsearch 更新系を支える技術
tchov
9
3.7k
AIコーディングエージェントを 「使いこなす」ための実践知と現在地 in ログラス / How to Use AI Coding Agent in Loglass
rkaga
4
1.5k
Featured
See All Featured
Fireside Chat
paigeccino
37
3.4k
A Tale of Four Properties
chriscoyier
159
23k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Pragmatic Product Professional
lauravandoore
33
6.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
How to train your dragon (web standard)
notwaldorf
91
6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Into the Great Unknown - MozCon
thekraken
38
1.8k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Typedesign – Prime Four
hannesfritz
41
2.6k
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