Chuyển đến nội dung chính

レッスン 11: Rook-CEPH を使用した分散ストレージ アーキテクチャ

Ceph アーキテクチャ (RADOS、OSD、MON、MDS、MGR) の概要、K8 に Rook-Ceph を選択する理由、ストレージ ソリューションの比較、Ceph クラスターの容量とネットワークの計画。

🔒 DevSecOps — レッスン 11 レッスン 11: を使用した分散ストレージ アーキテクチャ ROOK-CEPH

Kubernetes HA を使用してマイクロサービスをオンプレミスにデプロイ

パート 3: 分散ストレージ — Rook-Ceph

xdev.asia

🎯 レッスンの目的__HTMLTAG_68___

このレッスンを完了すると、次のことができるようになります:

  • ✅ Ceph アーキテクチャを理解する: RADOS、OSD、MON、MDS、MGR
  • ✅ CRUSH アルゴリズムとデータ配置を理解する
  • ✅ Rook-Ceph、Longhorn、OpenEBS、ローカルパスの比較
  • ✅ Ceph クラスターのハードウェアとネットワークの計画
  • ✅ 3 種類のストレージを理解する: ブロック (RBD)、ファイルシステム (CephFS)、オブジェクト (RGW)

パート 1: CEPH アーキテクチャの概要

1.1. Ceph

コンポーネント ___コードブロック_0___
コンポーネント 役割 分HA
MON (モニター) クラスター マップ、クォーラム、認証 3 (奇数)
MGR (マネージャー) メトリクス、ダッシュボード、オーケストレーション 2 (アクティブ/スタンバイ)
OSD (オブジェクト ストレージ デーモン) 実際のデータ ストレージ、レプリケーション 3+ (ディスクごとに 1 つ)
MDS (メタデータ サーバー) CephFS のメタデータ (CephFS を使用する場合のみ必要) 2 (アクティブ/スタンバイ)
RGW (RADOS ゲートウェイ) オブジェクト ストレージ用の S3/Swift API 2+ (LB の後ろ)

1.2。 CRUSH アルゴリズム

___コードブロック_1___

✅ テーブルを検索する必要がない → エクサバイトまでスケール可能 ✅ 障害ドメイン対応 (ラック、ホスト、データセンター) ✅ クライアントはデータの場所を直接計算します


パート 2: ROOK — KUBERNETES の CEPH オペレーター

2.1. Rook アーキテクチャ

___コードブロック_2___

2.2.ストレージ ソリューションの比較

___HTMLTAG_263__-
基準 Rook-Ceph ロングホーン OpenEBS ローカルパス
ブロック ストレージ ✅ RBD ✅ ✅ ❌
ファイルシステム (RWX) ✅ CephFS ❌ (NFS ハッキング) _❌ ❌
オブジェクト (S3) ✅ RGW ❌ ❌ _❌
レプリケーション 3 ウェイ 3 ウェイ 3 ウェイ ❌_
パフォーマンス 素晴らしい__HTMLTAG_222___ 良い 良い ベスト (ローカル)
複雑さ 高 低 平均 非常に低い
最小ノード数 3 3 3 1
CNCF 卒業 孵化中 サンドボックス
最適 制作 小さなクラスター 開発/テスト_ 単一ノード

👉 オンプレミスの実稼働環境には Rook-Ceph を選択してください: ユニファイド ストレージ (ブロック + FS + オブジェクト)、大規模で実証済み、CNCF 卒業済み。


パート 3: CEPH 用ハードウェアの計画

3.1. OSD ノードのサイズ_

___コードブロック_3___

3.2.キャパシティプランニング

___コードブロック_8___

3.3.ネットワーク計画_

___コードブロック_4___

⚠️ クラスターネットワーク: 最小 10Gbps のため、回復はクライアント I/O に影響しません。


パート 4: 3 種類のストレージ

4.1.ブロック ストレージ (RBD)

___コードブロック_5___

✅ データベース (PostgreSQL、MySQL) · ✅ ステートフル アプリケーション · ✅ 高 IOPS ⚠️ ReadWriteOnce — 一度に 1 つのポッド マウントのみ

4.2.ファイルシステム ストレージ (CephFS)

コードブロック_6

✅ 共有ファイルストレージ (複数のポッドが一緒に読み取り/書き込み) · ✅ コンテンツ管理 · ✅ AI/ML トレーニング データ

4.3.オブジェクト ストレージ (RGW)

___コードブロック_7___

✅ バックアップストレージ · ✅ ログアーカイブ · ✅ MinIO/AWS S3 の置き換え


💡 重要なポイント

  1. Ceph = 統合ストレージ: 1 クラスター内のブロック + ファイルシステム + オブジェクト
  2. _CRUSH アルゴリズム: ルックアップ テーブルを使用せずにデータ位置を計算 → 無限にスケール__HTMLTAG_314___
  3. Rook Operator: CRD を使用して K8 上の Ceph ライフサイクルを管理
  4. OSD ごとに 5GB RAM: ストレージ ノードのメモリを慎重に計画
  5. 2 ネットワーク: トラフィックを分離するためのパブリック (クライアント) + クラスター (レプリケーション)
  6. レプリケーション 3x: 未加工容量 / 3 = 使用可能な容量

🎯 演習

演習 1: キャパシティ プランニング

  • 使用可能な容量の計算: 5 ノード × 6 SSD × 1TB、レプリケーション = 3
  • Ceph に必要な RAM を計算します (OSD がそれぞれ 5GB)
  • Ceph クラスターのネットワーク トポロジを描画

演習 2: ディスクを準備する__HTMLTAG_346___
  • ワーカー ノード上の未使用のディスクを特定します: lsblk
  • パーティションのないディスクを確認します: wipefs -a /dev/sdX
  • レッスン 12 用のディスクを準備します

📚 次の投稿

__HTMLTAG_363___レッスン 12: Rook-Ceph Operator と CephCluster のインストール では、Rook Operator をデプロイし、K8 に CephCluster を作成します。