Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Etsuji Nakai
7,286 views
#ljstudy KVM勉強会
Technology
◦
Read more
26
Save
Share
Embed
Embed presentation
Download
Downloaded 196 times
1
/ 27
2
/ 27
3
/ 27
4
/ 27
Most read
5
/ 27
6
/ 27
Most read
7
/ 27
8
/ 27
9
/ 27
10
/ 27
11
/ 27
12
/ 27
13
/ 27
14
/ 27
Most read
15
/ 27
16
/ 27
17
/ 27
18
/ 27
19
/ 27
20
/ 27
21
/ 27
22
/ 27
23
/ 27
24
/ 27
25
/ 27
26
/ 27
27
/ 27
More Related Content
PDF
Lxc で始めるケチケチ仮想化生活?!
by
Etsuji Nakai
PDF
Ansible勉強会資料
by
Makoto Oya
PDF
Cephのベンチマークをしました
by
OSSラボ株式会社
PDF
ゼロからはじめるKVM超入門
by
VirtualTech Japan Inc.
PDF
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
by
Amazon Web Services Japan
PDF
LXC入門 - Osc2011 nagoya
by
Masahide Yamamoto
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
by
Takeshi HASEGAWA
PDF
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
Lxc で始めるケチケチ仮想化生活?!
by
Etsuji Nakai
Ansible勉強会資料
by
Makoto Oya
Cephのベンチマークをしました
by
OSSラボ株式会社
ゼロからはじめるKVM超入門
by
VirtualTech Japan Inc.
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
by
Amazon Web Services Japan
LXC入門 - Osc2011 nagoya
by
Masahide Yamamoto
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
by
Takeshi HASEGAWA
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
What's hot
PDF
Ansible 2.8 アップデート情報 -機能追加と注意点-
by
akira6592
PDF
OSC2011 Tokyo/Fall 濃いバナ(virtio)
by
Takeshi HASEGAWA
PDF
Linux KVMではじめるカンタン仮想化入門
by
VirtualTech Japan Inc.
PDF
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
by
NTT DATA Technology & Innovation
PPTX
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
by
慎一 古賀
PDF
これからLDAPを始めるなら 「389-ds」を使ってみよう
by
Nobuyuki Sasaki
PDF
仮想化環境におけるパケットフォワーディング
by
Takuya ASADA
PDF
[AKIBA.AWS] VGWのルーティング仕様
by
Shuji Kikuchi
PPTX
コンテナネットワーキング(CNI)最前線
by
Motonori Shindo
PDF
インフラエンジニアの綺麗で優しい手順書の書き方
by
Shohei Koyama
PDF
Amazon ElastiCacheのはじめ方
by
Amazon Web Services Japan
PPTX
OpenStackで始めるクラウド環境構築入門
by
VirtualTech Japan Inc.
PPTX
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
by
NTT DATA Technology & Innovation
PDF
インフラエンジニアってなんでしたっけ(仮)
by
Akihiro Kuwano
PDF
GPU仮想化最前線 - KVMGTとvirtio-gpu -
by
zgock
PDF
HTTP/2 入門
by
Yahoo!デベロッパーネットワーク
PDF
AWSからのメール送信
by
Amazon Web Services Japan
PDF
ネットワークエンジニア的Ansibleの始め方
by
akira6592
PDF
Linux女子部 systemd徹底入門
by
Etsuji Nakai
PDF
全自動Zabbix
by
真乙 九龍
Ansible 2.8 アップデート情報 -機能追加と注意点-
by
akira6592
OSC2011 Tokyo/Fall 濃いバナ(virtio)
by
Takeshi HASEGAWA
Linux KVMではじめるカンタン仮想化入門
by
VirtualTech Japan Inc.
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
by
NTT DATA Technology & Innovation
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
by
慎一 古賀
これからLDAPを始めるなら 「389-ds」を使ってみよう
by
Nobuyuki Sasaki
仮想化環境におけるパケットフォワーディング
by
Takuya ASADA
[AKIBA.AWS] VGWのルーティング仕様
by
Shuji Kikuchi
コンテナネットワーキング(CNI)最前線
by
Motonori Shindo
インフラエンジニアの綺麗で優しい手順書の書き方
by
Shohei Koyama
Amazon ElastiCacheのはじめ方
by
Amazon Web Services Japan
OpenStackで始めるクラウド環境構築入門
by
VirtualTech Japan Inc.
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
by
NTT DATA Technology & Innovation
インフラエンジニアってなんでしたっけ(仮)
by
Akihiro Kuwano
GPU仮想化最前線 - KVMGTとvirtio-gpu -
by
zgock
HTTP/2 入門
by
Yahoo!デベロッパーネットワーク
AWSからのメール送信
by
Amazon Web Services Japan
ネットワークエンジニア的Ansibleの始め方
by
akira6592
Linux女子部 systemd徹底入門
by
Etsuji Nakai
全自動Zabbix
by
真乙 九龍
Viewers also liked
PDF
姫路ゆるいWeb勉強会のご紹介
by
Yuko Taniguchi
PDF
Xp祭り関西2011 中村lLT
by
takepu
PDF
男女共同ペアプログラミング勉強会関西の紹介
by
takepu
PDF
第1回 一撃サーバー構築シェルスクリプト勉強会
by
Yasutaka Hamada
PDF
R勉強会@東京 - Tokyo.Rの紹介
by
Yohei Sato
PDF
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
by
Masahito Zembutsu
PDF
Unreal engine4ビギナー勉強会
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
クラウドファンディング勉強会(その2)
by
Ryosuke SHIBATO
PPTX
Office365勉強会 の紹介
by
mokudai masayuki
PDF
RHEL7/CentOS7 NetworkManager徹底入門
by
Etsuji Nakai
姫路ゆるいWeb勉強会のご紹介
by
Yuko Taniguchi
Xp祭り関西2011 中村lLT
by
takepu
男女共同ペアプログラミング勉強会関西の紹介
by
takepu
第1回 一撃サーバー構築シェルスクリプト勉強会
by
Yasutaka Hamada
R勉強会@東京 - Tokyo.Rの紹介
by
Yohei Sato
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
by
Masahito Zembutsu
Unreal engine4ビギナー勉強会
by
エピック・ゲームズ・ジャパン Epic Games Japan
クラウドファンディング勉強会(その2)
by
Ryosuke SHIBATO
Office365勉強会 の紹介
by
mokudai masayuki
RHEL7/CentOS7 NetworkManager徹底入門
by
Etsuji Nakai
Similar to #ljstudy KVM勉強会
PDF
Osc2009 Sendai Xen 0124
by
Kazuhisa Hara
KEY
物理マシンをケチる技術
by
Satoshi KOBAYASHI
PDF
BHyVe: The BSD Hypervisor
by
Takuya ASADA
PDF
仮想化技術によるマルウェア対策とその問題点
by
Kuniyasu Suzaki
PDF
17th_ACRi_Webinar_Sadasue-san_Slide_20240724
by
直久 住川
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
by
Takeshi HASEGAWA
PDF
Technology Used in Virtual Machine (Jan 2008)
by
Kuniyasu Suzaki
PPTX
TechEd2008_T1-407_EffectiveHyper-V
by
Kuninobu SaSaki
PPTX
20120822_dstn技術交流会_仮想化について
by
dstn
PDF
Osc2009 Do Xen Hara
by
Kazuhisa Hara
PDF
2008-11-18 セキュアVMワークショップ
by
Takahiro Shinagawa
PDF
Kernel vm#9 powerkvm-dist-20131208
by
Manabu Ori
PDF
BHyVeってなんや
by
Takuya ASADA
PDF
2008-03-19 第2回セキュアVMシンポジウム
by
Takahiro Shinagawa
PDF
OpenIndiana+KVMによる仮想マシン
by
悟 宮崎
PPTX
TechEd2010_T2-401_EffectiveHyper-V
by
Kuninobu SaSaki
ODP
Bhyve code reading
by
Takuya ASADA
PDF
2009-03-24 第3回セキュアVMシンポジウム
by
Takahiro Shinagawa
PDF
2010-11-02 第1回クラウドコンピューティング基盤シンポジウム(品川)
by
Takahiro Shinagawa
PDF
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
by
Kuniyasu Suzaki
Osc2009 Sendai Xen 0124
by
Kazuhisa Hara
物理マシンをケチる技術
by
Satoshi KOBAYASHI
BHyVe: The BSD Hypervisor
by
Takuya ASADA
仮想化技術によるマルウェア対策とその問題点
by
Kuniyasu Suzaki
17th_ACRi_Webinar_Sadasue-san_Slide_20240724
by
直久 住川
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
by
Takeshi HASEGAWA
Technology Used in Virtual Machine (Jan 2008)
by
Kuniyasu Suzaki
TechEd2008_T1-407_EffectiveHyper-V
by
Kuninobu SaSaki
20120822_dstn技術交流会_仮想化について
by
dstn
Osc2009 Do Xen Hara
by
Kazuhisa Hara
2008-11-18 セキュアVMワークショップ
by
Takahiro Shinagawa
Kernel vm#9 powerkvm-dist-20131208
by
Manabu Ori
BHyVeってなんや
by
Takuya ASADA
2008-03-19 第2回セキュアVMシンポジウム
by
Takahiro Shinagawa
OpenIndiana+KVMによる仮想マシン
by
悟 宮崎
TechEd2010_T2-401_EffectiveHyper-V
by
Kuninobu SaSaki
Bhyve code reading
by
Takuya ASADA
2009-03-24 第3回セキュアVMシンポジウム
by
Takahiro Shinagawa
2010-11-02 第1回クラウドコンピューティング基盤シンポジウム(品川)
by
Takahiro Shinagawa
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
by
Kuniyasu Suzaki
More from Etsuji Nakai
PDF
PRML11.2-11.3
by
Etsuji Nakai
PDF
「ITエンジニアリングの本質」を考える
by
Etsuji Nakai
PDF
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
by
Etsuji Nakai
PDF
Introducton to Convolutional Nerural Network with TensorFlow
by
Etsuji Nakai
PDF
Googleにおける機械学習の活用とクラウドサービス
by
Etsuji Nakai
PDF
Spannerに関する技術メモ
by
Etsuji Nakai
PDF
Googleのインフラ技術から考える理想のDevOps
by
Etsuji Nakai
PDF
A Brief History of My English Learning
by
Etsuji Nakai
PDF
TensorFlowプログラミングと分類アルゴリズムの基礎
by
Etsuji Nakai
PDF
TensorFlowによるニューラルネットワーク入門
by
Etsuji Nakai
PDF
Using Kubernetes on Google Container Engine
by
Etsuji Nakai
PDF
Lecture note on PRML 8.2
by
Etsuji Nakai
PDF
Machine Learning Basics for Web Application Developers
by
Etsuji Nakai
PDF
Your first TensorFlow programming with Jupyter
by
Etsuji Nakai
PDF
Deep Q-Network for beginners
by
Etsuji Nakai
PDF
Life with jupyter
by
Etsuji Nakai
PDF
TensorFlowで学ぶDQN
by
Etsuji Nakai
PDF
DevOpsにおける組織に固有の事情を どのように整理するべきか
by
Etsuji Nakai
PDF
PRML7.2
by
Etsuji Nakai
PDF
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
by
Etsuji Nakai
PRML11.2-11.3
by
Etsuji Nakai
「ITエンジニアリングの本質」を考える
by
Etsuji Nakai
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
by
Etsuji Nakai
Introducton to Convolutional Nerural Network with TensorFlow
by
Etsuji Nakai
Googleにおける機械学習の活用とクラウドサービス
by
Etsuji Nakai
Spannerに関する技術メモ
by
Etsuji Nakai
Googleのインフラ技術から考える理想のDevOps
by
Etsuji Nakai
A Brief History of My English Learning
by
Etsuji Nakai
TensorFlowプログラミングと分類アルゴリズムの基礎
by
Etsuji Nakai
TensorFlowによるニューラルネットワーク入門
by
Etsuji Nakai
Using Kubernetes on Google Container Engine
by
Etsuji Nakai
Lecture note on PRML 8.2
by
Etsuji Nakai
Machine Learning Basics for Web Application Developers
by
Etsuji Nakai
Your first TensorFlow programming with Jupyter
by
Etsuji Nakai
Deep Q-Network for beginners
by
Etsuji Nakai
Life with jupyter
by
Etsuji Nakai
TensorFlowで学ぶDQN
by
Etsuji Nakai
DevOpsにおける組織に固有の事情を どのように整理するべきか
by
Etsuji Nakai
PRML7.2
by
Etsuji Nakai
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
by
Etsuji Nakai
#ljstudy KVM勉強会
1.
Linux女子部 KVM勉強会!
オープンクラウド・キャンパス Linux女子部 KVM勉強会! ver1.0 中井悦司 Twitter @enakai00 1
2.
Linux女子部 KVM勉強会!
自己紹介 中井悦司(なかいえつじ) – Twitter @enakai00 日々の仕事 – Senior Solution Architect and Cloud Evangelist at Red Hat K.K. 好評発売中 企業システムでオープンソースの活用を希望される お客様を全力でご支援させていただきます。 昔とった杵柄 – 素粒子論の研究(超弦理論とか) – 予備校講師(物理担当) – インフラエンジニア(Unix/Linux専門) Open Cloud Campus 2
3.
Linux女子部 KVM勉強会!
Contents Linux KVMの基礎知識 仮想化ハイパーバイザの分類とLinux KVMの特徴 Linuxの仮想ネットワーク機能 iptablesによるパケットフィルタリング Open Cloud Campus 3
4.
Linux女子部 KVM勉強会!
Linux KVMの基礎知識 4
5.
Linux女子部 KVM勉強会!
参考書 仮想ネットワークと KVM全般の勉強に iptablesの勉強に Open Cloud Campus 5
6.
Linux女子部 KVM勉強会!
Linux KVMとは Kernel-based Virtual Machine – イスラエルのQumranet (Avi Kivity)が2006年10月に開発をスタート。 – 2ヶ月後にメインラインのカーネルにマージ – 2008年12月にRed HatがQumranetを買収 – 2009年9月公開のRHEL5.4より正式サポート開始 KVMの特徴 – Linuxカーネルにカーネル・モジュールとして仮想化機能を統合 • CPUスケジューリング、メモリ管理などは Linux カーネルの既存機能を拡張 • 仮想デバイスのエミュレーションはQEMUを利用 – CPUの仮想化支援機構を利用した完全仮想化を採用 • Intel VT/AMD-Vが必要 • カーネル開発コミュニティとプロセッサメーカのエンジニアが協力して開発 仮想化, Linux, x86サーバ技術の 一体的な進化を促進したことがKVMの功績! Open Cloud Campus 6
7.
Linux女子部 KVM勉強会!
KVMはLinux Kernelに継ぐコミュティ開発モデルの成功例 $ cd linux-2.6 $ git log -p -M virt/kvm arch/x86/kvm | gitdm -d -u (2011/12/27 の実行結果) 開発者の所属企業別の KVMソースコード変更行数割合 プロセッサメーカの開発者 35% からのコントリビューション 7% 9% 27% Open Cloud Campus 7
8.
Linux女子部 KVM勉強会!
仮想化ハイパーバイザの分類と Linux KVMの特徴 8
9.
Linux女子部 KVM勉強会!
仮想化ハイパーバイザの分類 基本的には「物理マシン」と同等の「仮想マシン」を複数作り出す技術です。 ハードウェアによる仮想化 (物理マシンにハイパーバイザを内蔵) 非仮想化環境 ゲスト ゲスト ゲスト ゲスト OS OS OS OS OS 仮想 仮想 仮想 仮想 マシン マシン マシン マシン 物理マシン ハイパーバイザ(ファームウェア) 物理マシン ソフトウェアによる仮想化 ソフトウェアによる仮想化 (ホストOSにハイパーバイザ機能を追加) (物理マシン上にハイパーバイザを導入) ゲスト ゲスト ゲスト Xen ゲスト ゲスト ゲスト ゲスト OS OS OS Linux KVM OS OS OS OS 仮想 仮想 仮想 仮想 仮想 仮想 仮想 マシン マシン マシン マシン マシン マシン マシン ハイパーバイザ ハイパーバイザ(ソフトウェア) (カーネルモジュール) ホストOS 物理マシン 物理マシン Open Cloud Campus 9
10.
Linux女子部 KVM勉強会! x86サーバ仮想化技術の歴史
仮想化支援機能を持つCPUでは、仮想マシン(ゲストOS)を実行するための特権モードを 提供することで、センシティブ命令の制御をHWレベルで行います。 一方、初期のハイパーバイザでは、仮想化支援機能を前提としないソフトウェア技術が必 要でした。 – VMwareは「Dynamic Binary Translation」を採用しました。センシティブ命令をメモリ上で動的 に書き換える技術です。 – Xenは「準仮想化 (Static Binary Translation)」を提唱しました。センシティブ命令を事前にハイ パーバイザコールに書き換えた「準仮想化カーネル」を使用します。 – 現在のバージョンでは、どちらもCPUの仮想化支援機能を利用可能です。 2000 2003 2007 ハイパーバイザ 準仮想化技術 Linuxカーネルに による仮想化 の提唱 仮想化機能を統合 VMware ESX Xen KVM 1995 2000 2005 2010 (Virtual PC for Macintosh) Intel-VT コンシューマーPC HW レベルでの 初の仮想化(?) 仮想化機能 1996 2005 Open Cloud Campus 10
11.
Linux女子部 KVM勉強会! KVMにおける特権モードの利用方法
KVMでは、仮想マシンはホストLinux上の1プロセスとして実行されます。 – ゲストOSは、VMX non-rootモードで動作 して、デバイスアクセスなどのセンシティ ブ命令が発行されると、KVMモジュールに qemu-kvmプロセス 処理が移行します。 – KVMモジュールの指示により、VMXroot ユーザプロセス ユーザプロセス モードで動作する、qemuデバイスエミュ ゲストの ゲストの 一般のプロセス 一般のプロセス qemuデバイス エミュレータ レータが物理デバイスにアクセスします。 ゲストカーネル VMX rootモード KVMモジュール VMX non-rootモード ホストLinux カーネル 仮想ディスク イメージファイル 物理CPU Open Cloud Campus 11
12.
Linux女子部 KVM勉強会! EPTによるメモリアクセスの高速化
非仮想化環境では、ユーザプロセスが認識する仮想アドレスと物理アドレスの変換はCPU に搭載のMMU(Memory Management Unit)がハードウェアレベルで処理します。 一方、仮想マシン環境では、2 段階のアドレス変換が必要です。 – ユーザプロセスの仮想アドレス ⇒ ゲストOSの「仮想」物理アドレス(GPFN) ⇒ 物理アドレ ス(MPFN) – EPT (Extended Page Tables) を利用すると、2段階のアドレス変換をハードウェアレ ベルで処理します。 • Xeon 5500番台(Nehalem)以降のCPUがEPTに対応しています。EPT未対応のCPUでは、 シャドウページテーブルなどのソフトウェア処理が必要です。 Xen/KVM仮想化環境 非仮想化環境 ゲストOSのプロセスA 論理アドレス空間 プロセスA プロセスB 論理アドレス空間 論理アドレス空間 MMUが変換 EPT対応の qemu-kvmプロセス MMUが変換 GPFN PFN PFN 搭載物理メモリ 搭載物理メモリ Open Cloud Campus 12
13.
Linux女子部 KVM勉強会! virtioドライバによるI/Oの高速化
virtioは、KVM仮想化環境に最適化されたディスク/NICのエミュレーション形 式です。 – QEMUが用意したI/Oバッファ領域にvirtioドライバが直接アクセスするため仮想化の オーバヘッドが削減されます。 一般のドライバを使用する場合 virtioドライバを使用する場合 ゲストOSの ゲストOSの QEMUプロセス メモリ空間 QEMUプロセス メモリ空間 メモリマッピング メモリマッピング IOリクエスト IOリクエスト バッファ バッファ 入出力データ 入出力データ 入出力データ 入出力データ トラップ ホストLinux ホストLinux ゲストドライバのI/O処理をトラップ virtioドライバは、共有メモリ上の 物理I/O 物理I/O バッファを使用(ゲストOSとQEMU して、QEMU経由でIOを実施 間のデータコピーが発生しない) Open Cloud Campus 13
14.
Linux女子部 KVM勉強会! 仮想化APIライブラリ-
libvirt libvirtは、複数のハイパーバイザを統一的に操作するAPIライブラリです。 – C言語、Pythonから使用するためのライブラリを標準で提供します。現在 は、Xen/KVM/LXC(Linuxコンテナ)などが対応しています。 – ゲストOSの起動・停止などの操作以外に、仮想ネットワーク構成、ストレージ管理の ためのAPIを提供します。 – 図は、Python用のライブラリを使用して、KVMのすべての仮想マシンをまとめて起 動/停止するスクリプトの例です。 すべての仮想マシンを起動するスクリプト RHEL6では次のようなツールがlibvirtを利用 #!/usr/bin/python しています。 import libvirt, time Conn = libvirt.open( "qemu:///system" ) – virsh(コマンドライン管理ツール) for name in Conn.listDefinedDomains(): vm = Conn.lookupByName( name ) – virt-manager(GUI管理ツール) print "Starting " + vm.name() vm.create() – virt-install(コマンドラインのゲストOSイン time.sleep( 1 ) ストールツール) すべての仮想マシンを停止するスクリプト #!/usr/bin/python Euclyptus / OpenStackなどのクラウド基盤 import libvirt, time ソフトウェアが内部的にlibvirt経由で仮想化 Conn = libvirt.open( "qemu:///system" ) for id in Conn.listDomainsID(): ハイパーバイザを操作する場合もあります。 vm = Conn.lookupByID( id ) print "Stopping " + vm.name() vm.shutdown() time.sleep( 1 ) Open Cloud Campus 14
15.
Linux女子部 KVM勉強会! virt-managerによる仮想化環境の管理
Virt-managerはRHEL6が標準で提供する仮想化環境の管理ツールです。次のよ うな操作をGUIで行うことができます。 – 仮想マシンの構成、ゲストOSのインストール – 仮想マシンのコンソール表示、起動、停止 – 仮想ネットワークの構成、仮想ディスク用ストレージの管理 – など ネットワーク経由で複数の仮想 化ホストを管理することもでき ます。 Open Cloud Campus 15
16.
Linux女子部 KVM勉強会!
Linuxの仮想ネットワーク機能 16
17.
Linux女子部 KVM勉強会! KVMの仮想ネットワーク
KVMのホストLinuxは「TAPデバイス」を経由して仮想マシンの仮想NICとパケッ トを交換します。TAPデバイスを「仮想ブリッジ」に接続することで、仮想マシ ン間のプライベートネットワークが構成されます。 – TAPデバイスは、ユーザプロセスと仮想的なネットワーク通信を行うLinuxの機能です。 – 仮想ブリッジは、Linux上に仮想的なネットワークスイッチを構成する機能です。 外部ネットワークに接続する方法 仮想マシン 仮想マシン は2種類あります。 eth0 仮想NIC eth0 仮想NIC – ホストLinuxの物理NICを仮想ブ リッジに接続します。 ホストLinux TAPデバイス TAPデバイス – iptablesによるNAT/マスカレード vnet0 vnet1 で仮想ブリッジから外部ネット ② NAT/マスカレード ワークにパケット転送します。 virbr0 / br0 仮想ブリッジ eth0 ① ブリッジ接続 外部ネットワーク Open Cloud Campus 17
18.
Linux女子部 KVM勉強会! 仮想ネットワークの構成パターン
複数の仮想ブリッジを使用することで、複数の仮想ネットワークが構成できます。 仮想ネットワークの構成パターンには次のようなものがあります。 – 物理NICをブリッジ接続して外部ネットワークに同一サブネットとして接続 – NAT/マスカレードを利用して、外部ネットワークとは独立したサブネットとして接続 • マスカレードを利用する場合、外部ネットワークから仮想ネットワークに向けた接続はできま せん。 • 外部ネットワークと相互通信する場合は、外部のIPアドレスと内部のIPアドレスをDNAT/SNAT で1対1にひも付ける必要があります。 – 外部ネットワークには接続しないホストマシン内部のプライベートネットワークを構成 • 仮想ブリッジにIPアドレスを設定することで、ホストLinuxと仮想マシンの通信は可能になりま す。 仮想マシンは外部とは通信しない 仮想マシン 仮想マシン 仮想マシン 仮想マシン eth0 eth0 eth0 eth0 仮想マシンと外部 仮想マシンと外部 ネットワークは同じ ネットワークは異なる サブネットに属する。 ホスト サブネットに属する。 ホスト ホスト vnet0 Linux vnet0 Linux vnet0 vnet1 Linux 仮想ブリッジ 仮想ブリッジ 仮想ブリッジ パケット転送 仮想ブリッジにIPアドレスを設定すると eth0 eth0 ホストLinuxと仮想マシンは通信可能 Open Cloud Campus 18
19.
Linux女子部 KVM勉強会! dnsmasqによるDHCP/DNS機能の提供
物理NICをブリッジ接続しないタイプの仮想ネットワークは、libvirt API (virsh/virt-managerなど)で構成することができます。 – 物理NICのブリッジ接続を行う場合は、手動で設定ファイルを構成します。 – 仮想ブリッジには任意の名称を設定できます。通常は「br0」などを使用します。 libvirtで構成する仮想ネットワークは、簡易的なDHCP/DNS機能を提供します。 – これらの機能は、ホストLinuxの「dnsmasqデーモン」が提供します。不要な場合は無効 化もできます。DNSサーバは、ホストLinuxの「/etc/hosts」の内容と 「/etc/resolv.conf」で指定された外部DNSを参照します。 – libvirtで構成した仮想ブリッジの名称は「virbrX」になります。 仮想マシン 仮想マシン eth0 eth0 ホスト vnet0 vnet1 Linux 仮想ブリッジ (virbr0) パケット転送 DHCPサーバ DNSサーバ eth0 Open Cloud Campus 19
20.
Linux女子部 KVM勉強会! (参考)Bonding
/ VLANデバイスの組み合わせ 仮想マシン 仮想マシン 仮想マシン eth0 仮想NIC eth0 仮想NIC eth0 仮想NIC タグ無しパケット TAPデバイス TAPデバイス vnet0 TAPデバイス vnet0 vnet1 仮想ブリッジ br0 仮想ブリッジ br100 br200 eth0.100 eth0.200 VLANデバイス bond0 bondingデバイス タグ付きパケット eth0 eth1 ホストLinux ホストLinux eth0 タグVLAN ネットワーク・スイッチ VLAN100 VLAN200 Open Cloud Campus 20
21.
Linux女子部 KVM勉強会!
iptablesによるパケットフィルタリング 21
22.
Linux女子部 KVM勉強会! iptablesの機能
iptablesの機能は、大きくは「パケットフィルタリング」と「NAT (Network Address Translation)」に分かれます。 – パケットフィルタリングは、Linux上にファイアウォール機能を提供するもので、IPパ ケットの送信、受信、転送のそれぞれについて、許可条件を設定します。 – NATは、Linuxサーバをルータとして使用する際に利用する機能で、パケットの転送時 に、パケットに含まれる送信元、もしくは宛先IPアドレスを変換します。 • 正確には、DNAT(宛先アドレス変換)、SNAT(送信元アドレス変換)、マスカレード (SNATの特別版)の3種類があります。 インターネットからの 接続パケットをフィルタリング プライベートネットワークから 外部からの接続パケットを インターネットにマスカレード接続 フィルタリング グローバル IPアドレス XX.XX.XX.XX ルータ用 インターネット Linuxサーバ 192.168.100.1 192.168.100.10 192.168.100.11 iptablesの利用例 プライベートネットワーク 192.168.100.0/24 Open Cloud Campus 22
23.
Linux女子部 KVM勉強会! iptablesの設定方法
iptablesの有効化/無効化は、iptablesサービスの起動・停止で行います。 – # service iptables start : 設定ファイル「/etc/sysconfig/iptables」をアクティブ化し ます。 – # service iptables stop : アクティブな設定がすべて無効になります。 iptablesの設定は、設定ファイルを編集して再アクティブ化する方法と、iptables コマンドでアクティブな設定を直接変更する方法があります。 – アクティブな設定を直接変更した場合は、別途、設定ファイルに内容を書き出しておかな いと、再起動後に変更が失われます。 iptablesの2種類の設定方法 設定ファイルを編集 iptablesコマンドで設定 設定ファイルを再アクティブ化 # service iptables restart 設定ファイルに書き出し # service iptables save /etc/sysconfig/iptables アクティブな設定 Open Cloud Campus 23
24.
Linux女子部 KVM勉強会! iptablesにおける処理の流れ
Linuxサーバを通過するパケットは、いくつかの「チェーン」を通過します。 – INPUTチェーン : 受信パケットが通過します。 – OUTPUTチェーン : 送信パケットが通過します。 – PREROUTING、FORWARD、POSTROUTINGチェーン : 転送パケットが通過します。 それぞれのチェーンでは、次のテーブルの設定に従ってパケットの処理が行われ ます。 – filterテーブル : パケットフィルタリングの処理を定義します。 – natテーブル : NATの処理を定義します。 ネットワーク ネットワーク#2 ネットワーク#1 受信パケット 転送パケット OUTPUTチェーン INPUTチェーン POSTROUTINGチェーン PREROUTINGチェーン filterテーブル filterテーブル natテーブル natテーブル 送信パケット SNAT処理 DNAT処理 FORWARDチェーン アプリケーション プログラム filterテーブル Open Cloud Campus 24
25.
Linux女子部 KVM勉強会! パケットフィルタリングの設定例
パケットフィルタリング設定の基本コマンドは次の通りです。 ターゲット 説明 ACCEPT パケットの送受信を許可 – 指定条件にマッチするパケットに対するターゲットの定義 DROP パケットを破棄する • iptables -A <チェーン> <パケット条件> -j <ターゲット> REJECT パケットの拒否をICMPで通知 – デフォルトターゲットの定義 LOG パケット情報をSyslogに出力 • iptables -P <チェーン> <ターゲット> – -Aオプションで設定した順にパケット条件の評価が行われて、最初にマッチした条件に対す るターゲットが実行されます。LOGアクション以外はそこで評価が終了します。 – どの条件にもマッチしなかった場合は、-Pオプションで指定した、デフォルトアクションが実 行されます。 – 現在のアクティブな設定は次のコマンドで表示します。 • iptables [-v][-n] -L <チェーン> • -vオプションは詳細情報を表示します。-nオプションはIPアドレスやTCP/UDPポート番号を数値で表示 します。(指定しない場合は名前解決を行います。) 受信パケットに対するフィルタリング設定手順の例 # service iptables stop 外部からの接続パケットを # iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT フィルタリング # iptables -A INPUT -i lo -j ACCEPT # iptables -A INPUT -d 192.168.100.10 -p tcp -m tcp --dport 22 -j ACCEPT # iptables -A INPUT -j LOG -m limit --log-prefix "[INPUT Dropped] " # iptables -P INPUT DROP # service iptables save 192.168.100.10 # service iptables start Open Cloud Campus 25
26.
Linux女子部 KVM勉強会! QA
Open Cloud Campus 26
27.
Linux女子部 KVM勉強会!
オープンクラウド・キャンパス 日経Linux「クラウド時代のサーバ 構築・運用の基礎」もよろしくね! 中井悦司 Twitter @enakai00 27
Download