オープンソースで実現する、 仮想化技術最新情報!! · kvm & qemu xen vs...

36
1 オープンソースで実現する、 オープンソースで実現する、 仮想化技術最新情報!! 仮想化技術最新情報!! Red Hat K.K. Solution Architect: Satoshi Naito <[email protected]> V1.1: 2009.12.11

Upload: others

Post on 10-Sep-2019

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

1

オープンソースで実現する、オープンソースで実現する、仮想化技術最新情報!!仮想化技術最新情報!!

Red Hat K.K. Solution Architect: Satoshi Naito <[email protected]>V1.1: 2009.12.11

Page 2: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

2

アジェンダ

オープンソースのトレンド KVMのモデル&バックエンド KVM & QEMU Xen vs KVM パフォーマンス比較 Red Hat Enterprise Virtualization Manager for Servers

Page 3: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

3

Red Hatの提供するOSSソリューションスタック

Page 4: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

4

KVM Kernel-based Virtual Machine

● 2006 年 10 月から開発がスタート●2 ヶ月後にはアップストリームにマージ

● イスラエルの Qumranet が開発●2008 年 12 月に Red Hat が買収

CPU の仮想化支援機構を前提に設計● Intel VT / AMD-V ● その他の CPU にも同等の機能があれば可能

特徴● 非常に軽量:デバイスのエミュレーションは QEMU● カーネルモジュール: Linux カーネルの様々な機能を利用可能● 管理が容易: Linux のパラダイムそのもの

Page 5: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

5

KVMのゲストOSサポート

サポート● RHEL3 x86、RHEL4 x86(x86_64) 、 RHEL5 x86(x86_64)● Windows Server 2003 R2 32/64 bit● Windows Server 2008 SP2 32/64 bit● Windows XP SP2 32 bit

para-virt ドライバの提供● RHEL4.8 x86(x86_64) 、 RHEL5.4 x86(x86_64)● Windows Server 2003 R2 32/64 bit● Windows Server 2008 32/64 bit● Windows XP 32 bit

●ネットワークドライバのみ

Page 6: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

6

Hardware

Hypervisor

dom0

Device Driver

Back End driver

domU

Frontend driver

domU

Frontend driver

Virtual CPU & Memory

Xen模式図

Page 7: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

7

QEMUQEMU

KVM模式図

KVM

QEMU

VMふつうのプロセス

Linux kernel

Hardware

VMVM

Page 8: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

8

仮想ディスクのモデル

guestからどう見えるかを選択可能 ide

● IDE接続のディスク 最大4台まで(CD/DVDが有効だと3台まで) virtio

● virtioで通信する。専用ドライバで高速化

Page 9: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

9

仮想ディスクのバックエンド

host側で対応するものを選択可能 デバイス(LUN、パーティション、LVM)を直接割り当てる rawファイル

● ファイルをデバイスとして見せる● 最初に全部確保すると速い←フラグメントしない● sparceファイル(必要に応じて確保)にすると遅い

qcow2形式のファイル● スナップショット機能、差分機能を提供

●差分ファイルの作成はvirt-mangerで未対応なのでqemu-imgで作成

● ディスクサイズ<ファイルサイズになりうる●qcow-imgによる作り直しで無駄な領域を捨てる

● RHEL5.4ではTechnology Preview

Page 10: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

10

仮想ネットワークのモデル

実際にあるデバイスのエミュレーション● e1000 -- virtioドライバがない場合e1000が最も軽い● ne2k_pci● pcnet● rtl8139 -- デフォルトのNICはRTL8139

低オーバーヘッドでのネットワーク● virtio -- virtioドライバが必要、最も速い

Page 11: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

11

KVM & QEMUKVM & QEMU

Page 12: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

12

KVM

Kernel-based Virtual Machine● CPUの仮想化支援機能を利用するた

めのカーネルモジュール● Intel VT / AMD-V

ゲストの制限● CPUが直接実行できるアーキテク

チャのみ対応 実行を管理するのはLinuxカーネル 制御はユーザプロセスから行う /dev/kvmを実装(後述) ゲストモードを追加(後述)

仮想マシン割り当て用メモリ

ハードウェア

QEMU

仮想マシン

Linux

KVM

Page 13: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

13

QEMU

KVM以前から開発・利用 多種のOSで動作

● 命令を動的に変換することで多種の環境をエミュレーション

● x86、x86_64、ia64、ARM、SPARC、PPC、MIPS

各種H/Wのエミュレーションを提供 ユーザプロセスとして動作 ハードウェア

QEMU

仮想マシン

Linux / *BSD / Mac / Win etc.

Page 14: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

14

KVMによるQEMUの高速化

QEMUの戦略● 従来のQEMUでは、実行前に命令をチェック

●特権命令 or センシティブ命令か?●→対応するルーチンで処理

●通常の命令か?●→直接実行

● 「対応するルーチン」?● I/O操作 → 対応するデバイスのエミュレータに渡す●一部のレジスタ操作など → CPUをエミュレートする

KVMの戦略● Intel VT-x/AMD-Vでセンシティブ命令をフックする

●事前の命令チェックが不要 → 高速化● VT-x/AMD-Vで発見したセンシティブ命令はKVMとQEMUで処理

Page 15: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

15

VMX non-rootオペレーションモードVMX rootオペレーションモード

VT-x / AMD-Vとリングプロテクション

従来のリングプロテクションとVMXによる保護は直交する

リング3リング3

リング2リング2

リング1リング1

リング0リング0

プロセスプロセス プロセスプロセスプロセスプロセス プロセスプロセス プロセスプロセスプロセスプロセス

ゲストOSゲストOS

システム・コール システム・コール

LinuxカーネルLinuxカーネル

センシティブ命令の実行

Page 16: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

16

KVMのメモリ・イメージ

ユーザプロセスで確保したメモリを仮想マシンのメモリとして利用

カーネル

ゲストに割り当てられたメモリ

ユーザアドレス空間

確保したメモリ ゲストの物理アドレス空間

QEMUプロセス

仮想マシン

Page 17: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

17

Xen vs KVM Xen vs KVM パフォーマンス比較パフォーマンス比較

Page 18: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

18Red Hat Summit 2009 | D. John Shakshober / Vijay Trehan7

KVM Performance EPT/NPT vs Xen

10U 20U 40U 60U 80U 100U

0.00

20000.00

40000.00

60000.00

80000.00

100000.00

120000.00

140000.00

RHEL5.4 KVM Oracle OLTP Perf

Intel Nehalem 8-cpu, 24 GB mem, 2FC

Base 8 CPU RHEL54 KVMRHEL54 XenPV RHEL5.4 Xen FV-PV

tpm

Page 19: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

19Red Hat Summit 2009 | D. John Shakshober / Vijay Trehan8

KVM Performance – CPU/Disk Effects

Bare Metal

KVM (tuned)

NoDeadline

NoEPT

NoVirtIO

0.00

10.00

20.00

30.00

40.00

50.00

60.00

70.00

80.00

0.0%

10.0%

20.0%

30.0%

40.0%

50.0%

60.0%

9.0%

12.9%

38.3%

56.3%

RHEL5.4 KVM Oralce OLTP Comparison

Intel Nehalem 8cpu, 24GB mem, 2 FC

Oracle OLTP%diff vs Bare Metal

OL

TP

(k)

Page 20: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

20Red Hat Summit 2009 | D. John Shakshober / Vijay Trehan30

Virtualization Efficiency: Consolidation

Bare Metal 2x8-vCPU 4x4-vCPU 8x2-vCPU

0

50,000

100,000

150,000

200,000

250,000

Virtualization Efficiency: Consolidation

Oracle OLTP Load - 160 Users

Configuration

Tra

ns

ac

tio

n

/

Min

ute

Page 21: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

21Red Hat Summit 2009 | D. John Shakshober / Vijay Trehan41

Virtualization Efficiency: Consolidation

Bare Metal 8 x 2-vCPUs 4 x 4-vCPUs 2 x 8-vCPUs0

20,000

40,000

60,000

80,000

100,000

120,000

140,000

160,000

180,000

Virtualiztionation Efficiency: ConsolidationSAP SLCS Workload

Configuration

Cu

mu

lati

ve

Me

mo

ry

Th

rou

gh

pu

t

/

Se

c(L

arg

er

is

be

tte

r)

Page 22: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

22

企業アプリケーションにおけるパフォーマンス

Page 23: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

23

Red Hat Enterprise VirtualizationRed Hat Enterprise VirtualizationManager for ServersManager for Servers

Page 24: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

24

信頼性と柔軟性の高いクラウド基盤

クラウドをワンストップで提供

Page 25: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

25

仮想化製品ポートフォリオ

Red Hat Enterprise Virtualization for Servers

Red Hat Enterprise VirtualizationManager for Servers(管理ソフトウェア)

Red Hat Enterprise VirtualizationHypervisor(スタンドアローンハイパーバイザ)

NEW!

Red Hat Enterprise Linux 5.4 (with KVM) 9月発表

Red Hat Enterprise VirtualizationManager for Desktops(仮想デスクトップ基盤) 2010年

Page 26: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

26

Red Hat Enterprise Virtualization Hypervisor

スケーラビリティ● 高いコンソリデーション率

●ホスト: 96コア、1TBメモリ●ゲスト: 16VCPU、64GBメモリ

業界標準● 信頼性の高いRHELのカーネルと

KVMの組み合わせ●高性能なvirtioドライバ● libvirt / CIM管理インターフェース●カーネルとKVMはRHEL5.4と同一

小さいフットプリント(128MB)と容易な導入/構成と高度な機能● メモリページ共有● SELinuxによるセキュリティ

Page 27: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

27

Red Hat Enterprise VirtualizationManager for Servers

仮想化環境の全てのオブジェクトを集中管理 サーチ指向のインターフェースによる高いスケーラビリティ 高度な管理機能

● イメージ管理● 高可用性● ライブマイグレーション● システムスケジューラ● パワーセイバー● アップデート/ ブートマネージャ

● システムモニタリング● 監査

Page 28: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

28

高可用性

エンタープライズの高可用なインフラを構築● ホストと仮想マシンを継続的にモニタ● 問題発生時に自動再起動

● クラスタの他のノードで仮想マシンを再起動

●優先度付きポリシーによる再起動

ユーザの介入は不要● 復旧時に仮想マシンを元のノードに戻

すためにライブ・マイグレーションを利用

Page 29: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

29

ライブ・マイグレーション

ホスト間で動的に仮想マシンを移動● サービス中断は非常に短い

アプリケーションは継続実行● データベースのようなI/Oの重た

い処理ですら移動可能● サービスを中断せずにハードウェ

アをメンテナンス● ホストシステム間で動的に負荷

分散

Page 30: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

30

システム・スケジューラ

データセンタの負荷を自動的に平均化● リソースに基づいて仮想マシンを自動的にマイグレーション● 仮想マシンの配置ポリシーをカスタマイズ

Page 31: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

31

パワー・セイバー

非ピーク時に少ないサーバで負荷を最適化するポリシーを定義 非ピーク時にデータセンタ全体の消費電力を節約するするため、自動的にサーバの電源をオフ

Page 32: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

32

Red Hat Enterprise Virtualization

Page 33: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

33

購入ガイドライン

管理対象とするCPUソケット単位での購入 仮想化基盤は以下より選択

● RHEL 5.4●ゲストOSの利用ポリシーは従来通り

● RHEV Hypervisor(RHEV-Sに付属)●別途ゲストOSのサブスクリプションを必要数購入

製品 期間 価格(税別)RHEV for Servers, standard 1 year 68,000RHEV for Servers, Premium 1 year 98,000RHEV for Servers, standard 3 year 198,000RHEV for Servers, Premium 3 year 278,000

Page 34: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

34

サブスクリプション 数 単価 計

RHEV for Servers, Standard 6 68,000 408,000

RHEL AP, Standard 3 195,000 585,000

RHELゲスト無制限

サブスクリプション 数 単価 計

RHEV for Servers, Standard 6 68,000 408,000

ゲストOSのサブスクリプション別途購入

Page 35: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

35

InternetInternet

クラウド型サービスとして、お客さまはロケーションを意識することなく、サーバーリソースをネットワーク経由で利用可能

リソース補完収容変更

VPNVPN

社内LAN

■オンデマンド ・必要な時に必要な量の  サーバーリソースを利用可 ・柔軟なリソース変更も可能 ■ディザスターリカバリー

 (オプションサービス) ・災害時のBCP対策も可能

■複数ロケーションによるクラウド型サービス提供・NWバックボーンに直結したクラウド基盤

KVMKVM KVMKVM

KVMKVM

NTTコミュニケーションズ様 クラウドコンピューティングサービス

Bizホスティング ベーシック

Page 36: オープンソースで実現する、 仮想化技術最新情報!! · KVM & QEMU Xen vs KVM ... 多種の環境をエミュレーション x86、x86_64 ... 管理対象とするCPU

36

OPEN SOURCE