【せふ】

Ceph とは?

💡 どんな形のデータも飲み込む、万能クジラの分散ストレージ
📌 このページのポイント
Ceph 分散ストレージ アーキテクチャ RGW オブジェクト(S3互換) RBD ブロックストレージ CephFS ファイルシステム RADOS(信頼性のある自律分散オブジェクトストア) MON クラスタ状態 監視(3〜5台) MDS メタデータ管理 (CephFS用) MGR 管理・監視 ダッシュボード CRUSH データ配置 アルゴリズム OSD 1 OSD 2 OSD 3 OSD 4 OSD 5 OSD N
Cephの分散ストレージアーキテクチャ(OSD/MON/MDS)
ひよこ ひよこ

Cephって変わった名前だけど、何をするものなの?

ペンギン先生 ペンギン先生

Cephは複数のサーバーにデータを分散して保存するストレージシステムだよ。1台が壊れてもデータが失われないように自動で複製を持っていて、大規模環境でも安定して動くんだ。

ひよこ ひよこ

オブジェクト・ブロック・ファイルって3種類あるのが特徴なの?

ペンギン先生 ペンギン先生

そう!普通のストレージ製品はどれか1つに特化してるけど、Cephは1つのクラスタで全部提供できるんだ。S3互換のオブジェクトストレージ仮想マシン用のブロックストレージ、ファイル共有用のCephFSを使い分けられるよ。

ひよこ ひよこ

OSDとかMONとか色々あるけど、どういう仕組みなの?

ペンギン先生 ペンギン先生

OSD(Object Storage Daemon)が実際のデータ保存を担当して、1台のディスクに1つのOSDが対応するよ。MON(Monitor)はクラスタ全体の状態を監視する番人で、MDS(Metadata Server)はCephFSを使うときだけ必要なメタデータ管理役だね。

ひよこ ひよこ

データが壊れないようにする仕組みってどうなってるの?

ペンギン先生 ペンギン先生

CRUSHアルゴリズムという賢い仕組みがあって、中央の管理テーブルなしでデータの配置先を計算できるんだ。デフォルトで3つのコピーを異なるサーバーに置くし、Erasure Codingを使えばより少ない容量で冗長性を確保できるよ。

ひよこ ひよこ

おもしろい!どういうところで使われてるの?

ペンギン先生 ペンギン先生

OpenStackのバックエンドストレージとしての採用が多いし、KubernetesのPersistentVolumeとしてRookを経由して使うパターンも増えてるよ。CERNの物理実験データ保存にも使われていて、エクサバイト級のデータを扱える実力は折り紙付きだね。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Ceph」って出てきたら「何でも保存できるオープンソースの分散ストレージ」と思えればだいたいOK!
📖 おまけ:英語の意味
「Ceph(Cephalopod→頭足類)」 = 頭足類(タコ・イカの仲間)
💬 開発者がUCサンタクルーズの博士論文で作ったもので、たくさんの腕(ノード)で並列にデータを扱うイメージからタコ・イカの仲間「Cephalopod」にちなんで名付けられたんだよ
← 用語集にもどる