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
25
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
31
Life of our small product
khasunuma
0
17
How to adapt MicroProfile API for generic Web applications
khasunuma
0
16
Overviewing Admin Console
khasunuma
0
15
Introduction to MicroProfile Metrics
khasunuma
0
39
Basic method for Java EE Web Profile
khasunuma
0
13
Introduction to JCA and MDB
khasunuma
0
46
Collections Framework Begineers Guide 2
khasunuma
0
44
JLS myths ~ if-then-else statement ~
khasunuma
0
18
Other Decks in Programming
See All in Programming
スクラムガイドのスプリントレトロスペクティブを改めて読みかえしてみた / Re-reading the Sprint Retrospective Section in the Scrum Guide
mackey0225
3
480
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
6
1.1k
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
220
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
1.3k
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.4k
Code Reviews
bkuhlmann
4
890
Going beyond Apache Parquet's default settings
xhochy
0
120
Node.js v22 で変わること
yosuke_furukawa
PRO
11
3.9k
ゆるい個人開発のススメ
kuroppe1819
10
1k
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
160
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
1k
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
690
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Code Review Best Practice
trishagee
56
15k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
33
6k
A Modern Web Designer's Workflow
chriscoyier
689
190k
The MySQL Ecosystem @ GitHub 2015
samlambert
244
12k
Writing Fast Ruby
sferik
622
60k
Being A Developer After 40
akosma
66
580k
Teambox: Starting and Learning
jrom
128
8.4k
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