0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Rook Ceph再入門

Posted at

はじめに懺悔

KubernetesクラスタでPVの基盤となる分散ストレージ機能を提供するためにRook Cephを導入した。

中身を詳しく把握してなくても少しいじれば良い感じに動いてたのでそのまま使ってたが、ぼちぼちちゃんと向き合う必要が出てきたので調べた結果をここに書き残す。

Cephとは

まずCephから説明した方がスムーズなのでこちらから説明する。

Ceph delivers object, block, and file storage in one unified system.

公式ドキュメントに記載の通り、Cephは

  • オブジェクトストレージ
  • ブロックストレージ
  • ファイルストレージ

これらを提供する統合システムである。
Cephを導入すると必要に応じて上記3種を使い分けられる。

また、CephはRADOS(Reliable Autonomic Distributed Object Storage)という機能に基づきストレージクラスタを提供する。

つまり、複数のノードでクラスタを構成し、データはクラスタを構成する複数のノードに複製する形となる。

Cephのコンポーネント

Cephは複数のコンポーネントからなる。

  • Ceph Monitor
    • クラスターの状態とそのマップを保持する
    • 最低1台必要だが、高可用性を保持するためにはクラスタに3台以上存在する必要がある
  • Ceph OSD Daemon
    • 論理ディスクとやり取りする
      (ディスクと紐づき実際にデータの複製や書き込みを行う、特にクリティカルなコンポーネントという理解)
    • 自身と他のOSDの状態をチェックしMonitorに報告する
    • Cephではデータの複製数が設定できるが、その数以上の台数がクラスタに必要となる
      • 高可用性を保持するためには3台以上になるように
  • Ceph Manager
    • クラスタの状態とメトリクスを追跡する
    • 最低1台必要だが、高可用性を保持するためにはクラスタに2台以上存在する必要がある
  • Ceph Metadata Server
    • ファイルシステムのメタデータを保持する
    • ファイルストレージ機能(Ceph File System)を使う場合は必須となる

Rookとは

いよいよRookである。

RookはざっくりCephをK8s上に展開するためのもの。
そのためのコンポーネントとしてOperatorを提供する。

アーキテクチャ

青い層がOperator、赤い層がCephコンポーネント。
間のオレンジの層がCSIプラグインとプロビジョナー。
CSI(Container Storage Interface)とはコンテナオーケストレーションシステム(K8sとか)とストレージプロバイダー(Ceph)を接続するための標準インタフェースである。

雑にまとめ

Cephが分散ストレージ機能とクラスタを提供する。
(実際使ってる体感だが、必要な知識としてこっちのウェイトが現状大きい)

RookはCephをK8s上に展開、管理するためのツール。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?