知っておくべきCephの
IOアクセラレーション技術と
その活用方法
2015 Sep
株式会社アルティマ
北島佑樹
自己紹介
株式会社アルティマ
プロダクトセールス2部 SE 北島佑樹
経歴
これまでにアルティマFAE/SEとして複数ベンダを担当
(HW)SASコントローラーチップ(FW開発サポート)
(SW)デジカメ向け3Dソフト
(HW)IO仮想化
(HW)ARM高集積サーバ
いま
SE
担当:Mellanox, HGST, Midokura, 6WIND
担当分野
→クラウドインフラ(サーバ、ストレージ、ネットワーク)
2
トピック
Keyword
「SDSをHWの視点から語ってみる」
Point
ストレージIOの仕組み
ネットワークオーバーヘッド、IO遅延
CephにはXioMessengerという魅力的な機能がある
3
スケールアウトストレージ システム概要
4
Client / Compute
iSCSI / FC
Storage Cluster
High Bandwidth
Front-end Back-end
専用HW(ブラックボックス)
システム設計はベンダ推奨があるものが主
Back-Endネットワークには広帯域なインターフェースがサポートされているケースが多い (Ex : InfiniBand)
アプライアンス型
InfiniBand(56Gb)
Ethernet(40GE)
Black Box
スケールアウトストレージ システム概要 con't
5
バックエンドに広帯域インターフェースをサポート
スケールアウトストレージ システム概要 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
ストレージまでの経路が遠くなる
= 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
が、思ったより性能が改善しない
Ceph IO(write)の特徴
同期レプリケーション
8
参考:http://docs.ceph.com/docs/master/architecture/
完全同期のため全OSDからのAckを受信しIOが完了
|| トータルのオーバーヘッド
(Latency)は大きくなる
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性能に影響
ここまでのまとめ
Back-End(クラスタネットワーク)の帯域は十分に確保する
→ 平均トラフィックで設計しない
汎用サーバでストレージを組む際は、システム全体の 最適化が重要
CephのIO特徴
同期レプリケーション
レプリケーション数でIOは倍増
※Erasure Codingはまた違う動作
Failover時の挙動
10
11
数字で見るボトルネック
数字で見るIO性能 1
ストレージデバイスとプロトコルの相関
12
※表中のデータは
メラノックス社提供データ
プロトコルのオーバーヘッド (大) SSDの性能効率 (低) iSCSI(TCP)の場合、ユーザー空間で複雑なプロトコル
処理があるため数字以上のオーバーヘッドに
プロトコルのオーバーヘッド (少) SSDの性能効率 (高) Ethernetでも高速なIOが可能 → RoCE Cephでも利用可能
数字で見る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はゼロパケットロス &低レイテンシー
数字で見る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)
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
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
補足
Accelioとは?
17
RPCライブラリのHWアクセラレーションに対応したモジュール RDMAベースのロスレス通信を実現
参考データ
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
※表中のデータはメラノックス社提供データ
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
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
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対応
まとめ
SDS + 汎用サーバを組む際は、システム全体の最適化を考慮する
HWはコモディティ化 != HWはなんでもいい
= 用途に応じて選定
CephにはXioMessenger(RDMA)がサポートされている(まだExperimental Versionです) [version Hammer as of 2015 sep]
スケールアウトにはMellanoxのNIC, Switchがとても相性がいい (宣伝…)
22
23
Ceph xio messenger設定方法
…TBD
参考手順:https://community.mellanox.com/docs/DOC-2141
Search!!