知っておくべきcephのioアクセラレーション技術とその活用方法 -...

24
知っておくべきCephIOアクセラレーション技術と その活用方法 2015 Sep 株式会社アルティマ 北島佑樹

Upload: virtualtech-japan-inc

Post on 20-Jan-2017

2.484 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

知っておくべきCephの

IOアクセラレーション技術と

その活用方法

2015 Sep

株式会社アルティマ

北島佑樹

Page 2: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

自己紹介

株式会社アルティマ

プロダクトセールス2部 SE 北島佑樹

経歴

これまでにアルティマFAE/SEとして複数ベンダを担当

(HW)SASコントローラーチップ(FW開発サポート)

(SW)デジカメ向け3Dソフト

(HW)IO仮想化

(HW)ARM高集積サーバ

いま

SE

担当:Mellanox, HGST, Midokura, 6WIND

担当分野

→クラウドインフラ(サーバ、ストレージ、ネットワーク)

2

Page 3: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

トピック

Keyword

「SDSをHWの視点から語ってみる」

Point

ストレージIOの仕組み

ネットワークオーバーヘッド、IO遅延

CephにはXioMessengerという魅力的な機能がある

3

Page 4: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

スケールアウトストレージ システム概要

4

Client / Compute

iSCSI / FC

Storage Cluster

High Bandwidth

Front-end Back-end

専用HW(ブラックボックス)

システム設計はベンダ推奨があるものが主

Back-Endネットワークには広帯域なインターフェースがサポートされているケースが多い (Ex : InfiniBand)

アプライアンス型

InfiniBand(56Gb)

Ethernet(40GE)

Black Box

Page 5: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

スケールアウトストレージ システム概要 con't

5

バックエンドに広帯域インターフェースをサポート

Page 6: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

スケールアウトストレージ システム概要 con't

6

Client / Compute

1/10GE

Commodity Server

for Storage node

High Bandwidth

10GE/40GE

Front-end Back-end

汎用サーバ(X86,ARM)

システム設計はユーザ自身(自由度が高い)

→SWの理解と同時に、HWの理解も必要

Back-Endネットワークは必ずしも必要ではない (Ex : Hyper Converged System)

汎用サーバ型

User-Defined

Page 7: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

ストレージまでの経路が遠くなる

= IOのオーバーヘッド(Latency)が大きくなる

= 性能(IOPS, Throughput)に影響

たまに聞く話し

All Flashにした

or サーバスペックを上げた

or 帯域を太くした

知っておきたいIOの流れ

7

APP

Network

APPLICATION CPU MEMORY ETHERNET / FC / IB SSD/ HDD

SERVER

APP APP APP

NETWORK

ADAPTER

NETWORK STORAGE

が、思ったより性能が改善しない

Page 8: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

Ceph IO(write)の特徴

同期レプリケーション

8

参考:http://docs.ceph.com/docs/master/architecture/

完全同期のため全OSDからのAckを受信しIOが完了

|| トータルのオーバーヘッド

(Latency)は大きくなる

Page 9: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

Ceph Failoverの特徴

9

OSD#1

(P)

Cluster Map

(MON)

OSD#3 OSD#6 OSD#7

Client

P:Primary

x

①OSD down

②Retrieve

③Copy all data

OSDのデータ復旧時、大量のIOが発生する(Throughput多)

帯域が細い

レイテンシーが大きい 全体のIO性能に影響

Page 10: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

ここまでのまとめ

Back-End(クラスタネットワーク)の帯域は十分に確保する

→ 平均トラフィックで設計しない

汎用サーバでストレージを組む際は、システム全体の 最適化が重要

CephのIO特徴

同期レプリケーション

レプリケーション数でIOは倍増

※Erasure Codingはまた違う動作

Failover時の挙動

10

Page 11: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

11

数字で見るボトルネック

Page 12: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

数字で見るIO性能 1

ストレージデバイスとプロトコルの相関

12

※表中のデータは

メラノックス社提供データ

プロトコルのオーバーヘッド (大) SSDの性能効率 (低) iSCSI(TCP)の場合、ユーザー空間で複雑なプロトコル

処理があるため数字以上のオーバーヘッドに

プロトコルのオーバーヘッド (少) SSDの性能効率 (高) Ethernetでも高速なIOが可能 → RoCE Cephでも利用可能

Page 13: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

数字で見るIO性能 2

ストレージデバイスとネットワークスイッチの相関

13

Component Latency(usec)

Mellanox 0.22

Broadcom(TridentII) 8

SSD Read 25

Disk Read 6000

SSD Read

76%

Other(TridentII)

24%

Mellanox

0.8%

SSD Read

99.2%

参考:http://www.mellanox.com/related-docs/products/Tolly-215111-Mellanox-SwitchX-2_Performance.pdf

ネットワークが占めるレイテンシー割合(vs ストレージデバイス)

フレームサイズごとのパケットロスの割合

※Jamboフレーム = MTU9000

ショートパケットでパケットロスが発生

64byteパケットで約20%

Mellanoxはゼロパケットロス &低レイテンシー

Page 14: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

数字で見るIO性能 2 con't

14

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

64 128 256 512 1,024 1,280 1,518 9,198

nsec

Frame Size

Mellanox SX1710

他社製スイッチ - Cut Throughモード

他社製スイッチ - Store and Forwardモード (Default) Ixia BreakingPoint

※Ixiaのスペック制限で10GbEの評価結果です

RFC2544テスト結果(Latency)

(Trident II)

Page 15: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

RDMAによるIO高速化

RDMAとは?

利点

ゼロコピー

ネットワークレイヤ間のバッファコピーが発生しない

カーネルバイパス

コンテキストスイッチが発生しない

ロスレス

message based transaction

対応プロトコル

Ethernet(RoCE), InfiniBand(iSER, SRP), iWARP

15

RDMA (Remote DMA)は、CPUが関与することなくネットワーク越しにメモリへアクセスする(すなわち、リモートのRead/WriteをCPUを介さずにノード間で 処理できる)機能である。

参考:http://rdma.hatenablog.com/entry/2014/04/06/161737#fn1

Page 16: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

CephのRDMAサポート

16

「v0.94 Hammer released」

参考:https://ceph.com/releases/v0-94-hammer-released/ http://tracker.ceph.com/projects/ceph/wiki/Accelio_RDMA_Messenger

機能 :XioMessenger 使用ライブラリ :Accelio

Page 17: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

補足

Accelioとは?

17

RPCライブラリのHWアクセラレーションに対応したモジュール RDMAベースのロスレス通信を実現

Page 18: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

参考データ

Ceph RDMA vs withoutRDMA

18

RDMA

TCP

RDMA

TCP

RDMA

TCP

Over 60% Performance Improvement (4K 100% Read)

※Beta Driver as of 2015 Apr

K

※表中のデータはメラノックス社提供データ

Page 19: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

HWの紹介 1

Mellanox社製 10/40GbE アダプタカード

19

型番 MCX311A-XCCT

MCX312B-XCCT MCX313A-BCCT MCX314A-BCCT

ポート Single 10GbE

Dual 10GbE

Single /10/40/56GbE

Dual /10/40/56GbE

コネクタ SFP+ SFP+ QSFP QSFP

ケーブル ダイレクトアタッチカッパー、光ファイバ

ホストバス PCIe 3.0 x 8

特長 VXLAN/NVGRE オフロード, RDMA, SR-IOV, 各種オフロード(CheckSUM offload, TCP Segmentation offload, Stateless offload)

対応OS RHEL, SLES, Microsoft Windows Sever, FreeBSD, Ubuntu, VMWare ESXi

Page 20: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

HWの紹介 2

Mellanox社製 10/40GbE L2/L3スイッチ

20

SX1710 (x86)/1036 (PPC) The Ideal 40/56GbE ToR/Aggregation

SX1400 (x86)/1024 (PPC) Non-blocking 10GbE 40/56GbE ToR

SX1012 Ideal storage/Database 10/40/56GbE Switch

Classic storage/DB switch

Low LATENCY

220ns

Low POWER

SX1710 – 92W

SX1024 – 75W

SX1012 – 50W

Zero Packet Loss

Page 21: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

Ready for 25 / 50 / 100GbE !!

HWの紹介 3

21

Copper (Passive, Active) Optical Cables (VCSEL) Silicon Photonics

Entering the Era of 25, 50 and 100GbE

100GbE Adapter

(10 / 25 / 40 / 50 / 100GbE)

Multi Host Solution

32 100GbE Ports, 64 25/50GbE Ports

(10 / 25 / 40 / 50 / 100GbE)

Throughput of 6.4Tb/s

Erasure Coding offload対応

Page 22: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

まとめ

SDS + 汎用サーバを組む際は、システム全体の最適化を考慮する

HWはコモディティ化 != HWはなんでもいい

= 用途に応じて選定

CephにはXioMessenger(RDMA)がサポートされている(まだExperimental Versionです) [version Hammer as of 2015 sep]

スケールアウトにはMellanoxのNIC, Switchがとても相性がいい (宣伝…)

22

Page 23: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

23

Ceph xio messenger設定方法

…TBD

参考手順:https://community.mellanox.com/docs/DOC-2141

Search!!

Page 24: 知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月

Thank You

問い合わせ先:

株式会社アルティマ メラノックス担当

[email protected]

24