Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
hbstyle 2017-1 仮想化技術のあれこれ
Search
h-otter
PRO
January 12, 2017
Technology
0
190
hbstyle 2017-1 仮想化技術のあれこれ
仮想化とはというところから、サーバー仮想化のCPU周りの技術を中心に話しました。
h-otter
PRO
January 12, 2017
Tweet
Share
More Decks by h-otter
See All by h-otter
CLIに自動更新機能を実装することで、 開発速度を爆上げした話
otter
PRO
0
210
Kubernetesのワーカーノードを自動修復するために必要だったこと
otter
PRO
0
180
透過 L2 BRIDGE NAT
otter
PRO
0
86
Other Decks in Technology
See All in Technology
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
0
280
障害対応訓練、その前に
coconala_engineer
0
200
20251218_AIを活用した開発生産性向上の全社的な取り組みの進め方について / How to proceed with company-wide initiatives to improve development productivity using AI
yayoi_dd
0
710
フィッシュボウルのやり方 / How to do a fishbowl
pauli
2
390
Amazon Quick Suite で始める手軽な AI エージェント
shimy
1
1.9k
投資戦略を量産せよ 2 - マケデコセミナー(2025/12/26)
gamella
0
450
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
120
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
170
ペアーズにおけるAIエージェント 基盤とText to SQLツールの紹介
hisamouna
2
1.7k
Knowledge Work の AI Backend
kworkdev
PRO
0
270
Snowflake Industry Days 2025 Nowcast
takumimukaiyama
0
110
株式会社ビザスク_AI__Engineering_Summit_Tokyo_2025_登壇資料.pdf
eikohashiba
1
120
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
210
Build your cross-platform service in a week with App Engine
jlugia
234
18k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
65
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
29
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
[SF Ruby Conf 2025] Rails X
palkan
0
640
Producing Creativity
orderedlist
PRO
348
40k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
65
35k
First, design no harm
axbom
PRO
1
1.1k
My Coaching Mixtape
mlcsv
0
13
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