分散ストレージ技術cephの最新情報

71
分散ストレージ技術Cephの最新情報 Haruka Iwao Cloud Evangelist, Red Hat K.K. 12 October 2014

Upload: haruka-iwao

Post on 11-Jul-2015

4.620 views

Category:

Engineering


8 download

TRANSCRIPT

分散ストレージ技術Cephの最新情報

Haruka Iwao

Cloud Evangelist, Red Hat K.K.

12 October 2014

提供

OpenStack seminar

@Lenovo Enterprise Solutions Center

2014年12月19日(金)16時~「RHEL OpenStack 運用管理のツボ」Red Hat Forum にて大好評でした「OpenStack ハンズオン」の続編セミナーです。

更に具体的な「Red Hat の OpenStackを本番環境で稼働する際のポイント」について紹介させていただきます。

お申込み⇒ http://bit.ly/1xODIPE

2015年1月23日(金)13時~ 開催予定*

Intel On Ramp RHEL OSP ハンズオン研修Red Hat Forum で満員で終了した「OpenStack ハンズオン」のRerunです。

OpenStackを使ってみたい技術者の方におススメのセミナーです。

2015年2月13日(金)16時~ 開催予定*「OpenStack運用管理のツボ」通常のハンズオンではカバーしきれない、本番環境で使用する際のポイントを、

実際にOpenStackを運用しているSEが紹介します。

*開催予定のセミナー詳細につきましてはLESの担当営業までお問い合わせください

わたしはだれ?

• 岩尾はるか (@Yuryu)

• レッドハット株式会社

– Cloud Evangelist

–兼Storage Solutions Architect

• コミケ/KindleでLinux Kernel

本出してます

• Enlightened

もくじ

• Cephとは

• Cephのアーキテクチャ

• GlusterFSとの比較

• 最近の動向

• ユースケース

Cephとは

Cephとは

• オープンソースの分散ストレージ

• オブジェクトとブロック両対応

• 大規模にスケールする(~10000台)

• エクサバイト(ペタの1000倍)が射程

Cephの10年

RHEL-OSP

認定

FEB 2014

MAY 2012Inktank設立

OpenStack

統合

2011

2010Linux

Kernel にマージ

オープンソース化

2006

2004 UCSCで

開発開始

Production

Readyに

SEPT 2012

2012CloudStack

統合

OCT 2013Inktank Ceph

Enterprise 出荷

Xen統合

2013

APR 2014

レッドハットがInktankを買収

Cephの統合されたストレージ

FILE

SYSTEM

BLOCK

STORAGE

OBJECT

STORAGE

Keystone

Geo-Replication

Erasure Coding

マルチテナント

S3 & Swift

OpenStack

Linux カーネル

Tiering

クローン

Snapshots

CIFS/NFS

HDFS

分散メタデータ

Linux Kernel

POSIX

Cephを支えるコミュニティ

COMMUNITY METRICS DASHBOARD

METRICS.CEPH.COM

Inktank Ceph Enterprise

DEPLOYMENT TOOLS

新しい「ウィザード」形式のインストールツール

依存関係も含めたローカルレポジトリを提供

クラスタ構築ツール

CALAMARI

オンプレミス, Webアプリ

クラスタのモニタリング、監視

RESTful API

インスタンス数無制限

CEPH FOR OBJECT & BLOCK

SUPPORT SERVICES

SLA付きテクニカルサポート

バグのエスカレーション

ホットフィックスの提供

ロードマップへの反映

ICE Release Cycles

2013 2014 2015

Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2

Cephのアーキテクチャ

Cephのコンポーネント

APP HOST/VM CLIENT

RADOS

APP HOST/VM CLIENT

• 信頼性のある(Reliable)

–データ消失を避けるため複製を作成

• 自律的な(Autonomic)

–お互いに通信し、障害を検知

–レプリケーションが透過的に行われる

• 分散(Distributed)

• オブジェクトストア(Object Store)

RADOSとは

• Cephの中核

• すべてのデータをRADOSに保存

• monと osdの2つから成る

• CRUSHアルゴリズムが特徴

RADOSとは (2)

• Object storage daemon

• 1ディスクにつき1OSD

• xfs/btrfsをバックエンドに使用

– Btrfsのサポートは実験的

• 整合性担保と性能向上のため、Write-

aheadなジャーナルを利用

• OSDの台数は3〜数万

OSD

• Monitoring daemon

• クラスタマップとクラスタの状態を管理

• 3, 5など奇数で少ない台数

• データ本体やメタデータは管理しない

MON

OSD と MON

btrfs

xfs

ext4

RADOSクラスタ

RADOS CLUSTER

• RADOS は “CRUSH” アルゴリズムを用いてオブジェクトを配置

–オブジェクトの場所は100%計算のみで求められる

• メタデータサーバーが不要

– SPoFなし

–非常に良いスケーラビリティ

オブジェクトの配置

CRUSH アルゴリズム

CLUSTERPOOLS

(CONTAINING PGs)

POO

L

A

POO

L

B

POO

L C

POO

L

D

• 階層的なOSDのマップ

–障害単位(ラックやスイッチ)をまたいで複製

–トラフィックの集中を防止

クラスタマップ

24

RGW

APP HOST/VM CLIENT

RADOS Gateway

socket

REST

RADOS CLUSTER

• RESTベースのオブジェクトストアプロキシ

• オブジェクトはRADOSに格納

• S3/Swiftと互換なAPIを持つ

• 課金のための利用量統計を提供

RADOS Gateway(2)

マルチサイトRGW

RBD

APP HOST/VM CLIENT

• RADOSにディスクイメージを格納

• クラスタ全体にストライピング

• スナップショットのサポート

• Copy-on-writeクローンをサポート

• Linux Kernel, KVM, OpenStackから利用可能

RBD (2)

RBD + 仮想化

Copyright © 2014 Red Hat

K.K.31

RADOS CLUSTER

RBD + カーネルモジュール

RADOS CLUSTER

CephFS

APP HOST/VM CLIENT

CephFS

• POSIX互換のファイルシステム

• RADOS上に構築

• Linuxのネイティブドライバ(cephfs)またはFUSEでマウント

• メタデータサーバー(mds)がファイルシステムツリーを管理

– mdsはCephFSのみで利用

CephFSのアーキテクチャ

RADOS CLUSTER

datametadata

CephFSの信頼性

• MDSはファイルシステムに対する変更をジャーナルとしてRADOSに記録

– MDSが停止した場合はジャーナルから状態を復元

• HAまたは負荷分散のために、複数のMDS

を利用可能

• MDSはデータを扱わない

– I/Oのボトルネックにならない

DYNAMIC SUBTREE PARTITIONING

GlusterFSとの比較

GlusterFSの構造

GlusterFSのレプリケーション

CephとGlusterFS共通点

• 単一障害点(SPoF)なし

• 高い耐障害性と可用性

• 100%オープンソース

• ペタバイト級のストレージ

• 非常に良いスケーラビリティ

• Linuxで動く

GlusterFSとの違い

Ceph GlusterFS

データ配置 オブジェクト単位 ファイル単位

ファイルの場所 決定的なアルゴリズムによる(CRUSH)

分散ハッシュテーブル, xattrに保存

レプリケーション サーバーサイド クライアントサイド

主な使い道 オブジェクト/ブロックストア

POSIX互換のファイルシステム

ライセンス LGPLv2 GPLv2 / LGPLv3+

CephとGlusterFSユースケース

• Ceph

– S3/Swift互換オブジェクトストア

– OpenStack、KVM仮想環境のストレージ

–ブロックストレージ

• GlusterFS

– NFSを置き換える大きなストレージ

– Hadoop HDFS互換のストレージ

–コンテンツ配信のバックエンド

Ceph, GlusterFS, ICE, RHS

RED HAT

INKTANK CEPH ENTERPRISE

RED HAT

STORAGE SERVER

CephとOpenStack

CephとOpenStack

RADOS CLUSTER

• オブジェクト、ブロックそれぞれに最適化されたアーキテクチャ

• 単一のストレージプール

–高いディスク使用効率

• OpenStackの各コンポーネントに組み込みのドライバサポート

–高い性能と可用性

CephとOpenStack: 利点

Copyright © 2014 Red Hat

K.K.51

From OpenStack User Survey

http://superuser.openstack.org/articles/openstack-user-survey-insights-november-2014

November 2014

最近の動向

Ceph最近の新機能

• Erasure Coding

• 階層化キャッシュ(SSD)のサポート

• RADOS性能改善

• CephFSの改善

• KVSバックエンド

• Standalone radosgw

Erasure Coding

CEPH STORAGE CLUSTER CEPH STORAGE CLUSTER

オブジェクトの完全な複製

非常に高い耐障害性

高速なリカバリー

複製+パリティーを保存

費用対効果が高い

リカバリーに時間とCPUが必要

階層化キャッシュ(write back)

CEPH STORAGE CLUSTER

Read/Write Read/Write

階層化キャッシュ(write thru)

CEPH STORAGE CLUSTER

Write Write Read Read

KVSによるOSDバックエンド

• OSDのバックエンドにLevelDBを使用(xfs

の代替)

• 特に小さなオブジェクトのパフォーマンスが向上

• 不揮発メモリKVSやRocksDBなどのサポートも計画

Ceph次のリリースに向けて

• CephFS Hadoop Support

• Kerberos / ADサポート

• RADOSからの並列読み込み

• Object versioning

• スケーラビリティの向上(10,000OSD超)

• セキュリティ、安定性の改善

• etc…

https://wiki.ceph.com/Planning/Blueprints

ユースケース

Web Application

S3/Swift S3/Swift S3/Swift S3/Swift

Web Scale Applications

Native

ProtocolNative

ProtocolNative

ProtocolNative

Protocol

Archive / Cold Storage

Site A Site B

CEPH STORAGE CLUSTER CEPH STORAGE CLUSTER

Databases

Native

Protocol

Native

Protocol

Native

ProtocolNative

Protocol

Deploying Ceph in the Wild

Ceph Day London 2014の発表。事例が複数掲載されている。http://www.slideshare.net/Inktank_Ceph/deploying-ceph-in-the-wild

Ceph at CERN

http://www.slideshare.net/Inktank_Ceph/scaling-ceph-at-cern

Cephベンチマーク例

• Mellanoxによるベンチマーク例(5ノード)

http://www.mellanox.com/related-docs/whitepapers/WP_Deploying_Ceph_over_High_Performance_Networks.pdf

Cephベンチマーク Intel/IDCF

http://www.intel.co.jp/content/dam/www/public/ijkk/jp/ja/documents/white-papers/xeon-e5-storage-server-performance-test-idc-frontier-paper.pdf

まとめ

まとめ

• Cephはペタバイト級のストレージ

–オブジェクト(RGW)

–ブロック(RBD)

–ファイルシステム(CephFS)

• 特にOpenStackと相性がいい

• プロダクションでの使用例も多数

• Red Hatから買えます

Thank you