Virtualization
Fundamental
HASUNUMA Kenji
k.hasunuma@coppermine.jp
@khasunuma
Slide 2
Slide 2 text
ԾԽͱ
What’s virtualization?
Slide 3
Slide 3 text
ຊԿ
Slide 4
Slide 4 text
ຊԿ
Slide 5
Slide 5 text
ԾԽͷຊ࣭
ݟ͍͑ͯΔͷ㱠ཧతͳͷ
w ཧઃܭʹറΒΕͳ͍ཧઃܭ
w ཧઃܭͷมߋʹڧ͍ཧઃܭ
Slide 6
Slide 6 text
ओͳԾԽςΫϊϩδʔ
w ϋʔυΣΞԾԽ
w σεΫτοϓԾԽ
w ΞϓϦέʔγϣϯԾԽ
w ετϨʔδԾԽ
w ωοτϫʔΫԾԽ
Slide 7
Slide 7 text
ϋʔυΣΞԾԽ
w ͷཧϚγϯʹෳͷԾϚγϯ
Λߏங͢Δ
w ར༻ऀʹɺෳͷϚγϯ͕ಈ࡞ͯ͠
͍Δ͔ͷΑ͏ʹݟ͔͚ͤΔ
w ͬͱྺ࢙͕ݹ͘ɺීٴ͍ͯ͠Δ
Slide 8
Slide 8 text
σεΫτοϓԾԽ
w ϦϞʔτɾσεΫτοϓͷൃలܗ
ӳޠུশVDIΑ͘༻͍ΒΕΔ
w ଟͷϢʔβʔʹରͯ͠ҟͳΔσεΫ
τοϓΛఏڙ͢Δ
w γϯɾΫϥΠΞϯτͷج൫ٕज़
Slide 9
Slide 9 text
ΞϓϦέʔγϣϯԾԽ
w දྫJavaԾϚγϯ(Java VM)
w OS͝ͱͷAPIࠩҟΛٵऩ͢Δ
w OS͔ΒݟΕ୯ͳΔϓϩηε
w ίϯςφԾԽ(Docker, Solaris Zone,
FreeBSD Jail)ൃల
Slide 10
Slide 10 text
ԾԽͷྺ࢙
History of virtualization
Slide 11
Slide 11 text
ूதॲཧ `ʙ
ݶΒΕͨϦιʔε
ʮόονॲཧʯͰޮԽ
Slide 12
Slide 12 text
ԾԽͷొ bʙ
*#.$1$.4ͷొ
ෳͷ04Λಉ࣮࣌ߦԾԽͷݩ
Slide 13
Slide 13 text
͜΅Ε
w CP/CMS࣌ͷOS୯ҰϢʔβʔ༻
w Multics = ϚϧνϢʔβʔOS (TSS)
ˠݟࣄʹίέΔ
w ݩMultics։ൃऀ͕झຯͰUnixΛ։ൃ
ˠେϒϨΠΫ͠ɺޙൃͷOSʹӨڹ
Slide 14
Slide 14 text
μϯαΠδϯά `ʙ
ϗετʹΑΔूதॲཧ͔Βɺ
খܕίϯϐϡʔλʹΑΔࢄॲཧ
Slide 15
Slide 15 text
࠶ͼूதॲཧ `ʙ
αʔόʔʹॲཧ͕ूத
ʮαʔόʔͷϝΠϯϑϨʔϜԽʯ
Slide 16
Slide 16 text
ϋʔυΣΞԾԽ
Hardware virtualization
Slide 17
Slide 17 text
ϋʔυΣΞԾԽख๏
w ϗετ04ܕ˞؆қͳݕূڥ͖
w VMware (w/o vSphere), VirtualBox
w ϋΠύʔόΠβʔܕ˞࣮ӡ༻Ͱͷओྲྀ
w Xenܕ : Citrix Xen, Microsoft Hyper-V
w ESXiܕ : VMware ESXi (vSphere)
• KVMܕ : Linux KVM
Slide 18
Slide 18 text
ϗετOSܕ
Slide 19
Slide 19 text
ϗετ04ܕͷಛ
w طଘͷ04্ʹ7..ΛߏஙͰ͖Δ
w ྺ࢙͕ݹ͘ɺଟ͘ͷήετ04ʹରԠ
w ϋΠύʔόΠβʔܕʹൺֱͯ͠ޮ͕
ѱ͘ɺ࣮ӡ༻ʹ͔ͳ͍
Slide 20
Slide 20 text
Xenܕ
Dom0VMM
Λ੍ޚ͢Δ
Slide 21
Slide 21 text
9FOܕͷಛ
w ϋΠύʔόΠβʔܕͱ࣮ͯ͠๛ɺ
Hyper-VجຊઃܭXenϕʔε
w ४ԾԽ͕جຊ͕ͩɺશԾԽར༻
Մೳ
w ࣮ӡ༻Ͱɺ͍͔ʹDom0ͷফඅϦιʔ
εΛখ͘͢͞Δ͔͕伴
Slide 22
Slide 22 text
શԾԽͱ४ԾԽ
४ԾԽ
શԾԽ
Slide 23
Slide 23 text
શԾԽ
w Guest OS͕ఏڙ͢ΔυϥΠόʔΛར༻
w VMMଆϋʔυΣΞͷΤϛϡϨʔ
γϣϯʹప͢Δ
w ෦ͰখࡉύϑΥʔϚϯεԼ
ˠԾԽࢧԉػೳ Intel VT/AMD-V
Slide 24
Slide 24 text
४ԾԽ
w VMM͕ఏڙ͢ΔυϥΠόʔΛར༻
w VMMଆ࠷খݶͷΤϛϡϨʔγϣϯ
ˠߴ͍ύϑΥʔϚϯε
w XenHyper-VͰՄೳͳݶΓ४Ծ
ԽΛݕ౼͢Δ͜ͱ
Slide 25
Slide 25 text
ESXiܕ
ཧઐ༻04
ඞਢͰͳ͍
Slide 26
Slide 26 text
&49Jܕͷಛ
w VMMຊମΛۃখԽɺήετOSׂ
ՄೳͳϦιʔε࠷େ
w Intel VT/AMD-VͷԾԽࢧԉػೳ͕
ඞਢ
w ϋʔυΣΞͱͷ૬ੑ͕γϏΞ
Slide 27
Slide 27 text
KVMܕ
LinuxΧʔωϧ
ࣗମΛVMMʹ͠
ͯ͠·͍ͬͯΔ
Slide 28
Slide 28 text
,7.ܕͷಛ
w LinuxʹࡌʢΧʔωϧʙʣ
w LinuxΧʔωϧͦͷͷΛVMMԽ
w ݪଇͱͯ͠શԾԽͷΈαϙʔτ
વIntel VT/AMD-Vඞਢ
Slide 29
Slide 29 text
ԾԽʹؔ͢Δߟ
Virtualization
Slide 30
Slide 30 text
ԾԽͷϝϦοτ
w Ϧιʔεͷ༗ޮ׆༻
جຊɺίϯϐϡʔλʔՋ͍ͯ͠Δ
w ཧతͳαʔόʔͷݮ
چ04ͷूɺ։ൃڥͷαʔό౷߹
w ϋʔυΣΞ04ͷࠩҟΛٵऩ
Slide 31
Slide 31 text
ԾԽͷσϝϦοτ
w ԾԽٕज़ͦͷͷʹཱͬͨσϝ
Ϧοτͳ͍
w ʮͦͷҊ݅ɺຊʹʰԾԽʱ
͕ඞཁͰ͔͢ʁʯ
w ԾԽܾͯ͠ʮۜͷؙʯͰͳ͍