Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
hbstyle 2017-1 仮想化技術のあれこれ
Search
h-otter
January 12, 2017
Technology
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
hbstyle 2017-1 仮想化技術のあれこれ
仮想化とはというところから、サーバー仮想化のCPU周りの技術を中心に話しました。
h-otter
January 12, 2017
More Decks by h-otter
See All by h-otter
CLIに自動更新機能を実装することで、 開発速度を爆上げした話
otter
0
220
Kubernetesのワーカーノードを自動修復するために必要だったこと
otter
0
210
透過 L2 BRIDGE NAT
otter
0
100
Other Decks in Technology
See All in Technology
しろおびから始める!ログ活用の第一歩
shumei_ito
0
960
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.7k
FinOps Agentが生んだ技術負債:コスト自動調査の落とし穴と解消までの道のり
oasis1994liveforever
2
140
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
180
Refining Active Record
shugo
0
160
React改造してみた
tsukina_7mochi
0
120
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
170
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
120
価値について
gree_tech
PRO
0
100
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.2k
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Chasing Engaging Ingredients in Design
codingconduct
0
360
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Fireside Chat
paigeccino
43
4.1k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
600
For a Future-Friendly Web
brad_frost
184
10k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
290
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Facilitating Awesome Meetings
lara
57
7.2k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Transcript
仮想化技術のあれこれ H-OTTER HBSTYLE
自己紹介
自己紹介 Twitter: @_h_otter_ MMA CTF 難しい… Heartbeatsでバイトしてます
資格 セキュリティスペシャリスト ネットワークスペシャリスト → 午後Ⅱで名前を書き忘れたらしい… 点数的には合格のはず (負け惜しみ)
• 競プロ • 自宅サーバ • CTF 高校時代は…
先日、成人しました
None
みんなリア充じゃん…
ICTSC トラコン 運営がわざと起こしたトラブルを直す 馬場さんや門馬さん、伊藤さんも参加 openstackなどの仮想化基盤を使うことも (つらい…)
ここから本題
仮想化ってなに? 『仮想化とは、サーバなどのハードウェアリソース(CPU、メモリ、HDD)を、物理的な構成にとら われずに、論理的に統合や分割することができる技術のこと。』 (ネットワークエンジニアとして, http://www.infraexpert.com/study/virtual.html) HDD: 2TB HDD: 1TB HDD:
5TB 容量を 仮想化 HDD: 2TB HDD: 1TB HDD: 5TB 仮想的なHDD: 8TB
仮想化ってなに? 『仮想化とは、サーバなどのハードウェアリソース(CPU、メモリ、HDD)を、物理的な構成にとら われずに、論理的に統合や分割することができる技術のこと。』 (ネットワークエンジニアとして, http://www.infraexpert.com/study/virtual.html) 帯域、 グローバルIPを 仮想化 仮想的なネットワーク グローバルIP:
/24 + /27 NTTコミュ IIJ RT01 RT03 RT02 100mbps GIP: /28 1gbps GIP: /24 100mbps GIP: /28 internet 1200mbps ※ 通信料がなるべく安価になるように流量を調整したりもする
仮想化ってなに? 『仮想化とは、サーバなどのハードウェアリソース(CPU、メモリ、HDD)を、物理的な構成にとら われずに、論理的に統合や分割することができる技術のこと。』 (ネットワークエンジニアとして, http://www.infraexpert.com/study/virtual.html) CPU, memoryを 仮想化 memory: 32GB
CPU: 3GHz * 8 core SRV01 memory: 32GB CPU: 3GHz * 8 core SRV02 memory: 64GB CPU: 3GHz * 16 core = 48GHz 仮想的なサーバ
今回はサーバ仮想化
今日のために調べたのでガバガバかも… (心が折れない程度に)修正をお願いします :BOW:
user land ring3 最近のOS user modeとkernel modeが分かれている kernelはHDDなど外部I/Oの制御をうけもつ modeによって実行やアクセスできる領域は 決まっており、ring
[0-3]で表される I/O入力があった場合、kernel modeに移って 処理をする 利点は以下の通り アクセス権限を明確に分けることでセキュアに user landのアプリは細かい制御を気にせずに 開発を行える kernel land ring0 I/O 割り込み proc 1 proc2
サーバ仮想化の種類 準仮想化 完全仮想化 Type 1(「ネイティブ」または「ベアメタル」)ハイパーバイザ KVM Xen Hyper-V Type 2(「ホスト」)ハイパーバイザ
QEMU (KVM) Vmware workstation virtualbox
完全仮想化 (Xen) VMのkernelは物理ホスト上にインストールす るものと完全に同じものを使うことが可能 実はこの説明では不完全 (後述) VMM kernel land ring0
user land ring3 命令 VM Kernel Xen 参考: http://www.itmedia.co.jp/enterprise/articles/0701/12/news010.html Xen
準仮想化 (Xen) VMのkernelはXenのためににカスタマイズさ れたものをインストール 命令セットをいい具合に変えたもの Xenはring 1にVMのkernelを置き、その下に ハイパーバイザー(仮想化を管理するもの)を 置くことで実現 スーパーバイザー(kernel)の上位にいるからハ
イパーバイザー VMM kernel land ring0 user land ring3 VM kernel land ring1 命令 参考: http://www.itmedia.co.jp/enterprise/articles/0701/12/news010.html
仮想化の問題点 VMの命令がシステム全体を操作してしまう 例えばメモリはアドレスが同じところを書き換 えてしまったり… 違うOSなのに同じディスクを参照したり… 参考: http://www.fujitsu.com/downloads/JP/archive/imgjp/jmag/vol62-1/paper18.pdf VM1 VM2 memory
0xffff40a1を書き換えて! 0xffff40a1を書き換えて! 同じとこ書き換えるの?
user land ring3 QEMU それらの問題点を何とか潜り抜けて開発さ れたエミュレータ 全体を書き換えるような命令を正しく動くよう な命令に変換する もともと別のアーキテクチャを動かすための エミュレータだからできた技
VMM kernel land ring0 VM kernel QEMU Proc 命令セットの変換 命令 欠点: 遅い!!
VMX root operation mode VMX non-root operation mode VT-x 完全仮想化
(Xen) Intelの変態テクノロジー システム全体に影響がある命令を実行した 場合、VMX root operation mode に自動で切 り替わる ハイパーバイザーをVMX root operation mode に待たせておけば期待通りの処理がで きる VMM kernel land ring0 user land ring3 命令 VM Kernel Xen 参考: http://www.itmedia.co.jp/enterprise/articles/0701/12/news010.html Xen
VMX root operation mode VMX non-root operation mode KVM VT-xを前提に作られたハイパーバイザー
QEMUと一緒に使う 全体に影響を与えない命令はそのまま実行、 与える影響は/dev/kvmに書き込み、kvm module がいい感じに実行 構造がシンプルで、開発するのがkvm module のみなので神 kernelがハイパーバイザーになる VMM kernel land ring0 user land ring3 /dev/kvm kvm module 参考: http://www.fujitsu.com/downloads/JP/archive/imgjp/jmag/vol62-1/paper18.pdf QEMU linux kernel
ネイティブ型とホスト型 ネイティブ型 ハイパーバイザーがring 0にいる (Ex. Xen) ホスト型 ハイパーバイザーがring 3にいる (Ex.
QEMU) user land ring3 VMM kernel land ring0 VM kernel QEMU Proc 命令セットの変換 命令 VMM kernel land ring0 user land ring3 命令 VM Kernel Xen Xen
仮想化技術的なあれ H-OTTER MMA TECH:TALK 2017 #1