🎯 レッスンの目的__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 の置き換え
💡 重要なポイント
- Ceph = 統合ストレージ: 1 クラスター内のブロック + ファイルシステム + オブジェクト
- _CRUSH アルゴリズム: ルックアップ テーブルを使用せずにデータ位置を計算 → 無限にスケール__HTMLTAG_314___
- Rook Operator: CRD を使用して K8 上の Ceph ライフサイクルを管理
- OSD ごとに 5GB RAM: ストレージ ノードのメモリを慎重に計画
- 2 ネットワーク: トラフィックを分離するためのパブリック (クライアント) + クラスター (レプリケーション)
- レプリケーション 3x: 未加工容量 / 3 = 使用可能な容量
🎯 演習
演習 1: キャパシティ プランニング
- 使用可能な容量の計算: 5 ノード × 6 SSD × 1TB、レプリケーション = 3
- Ceph に必要な RAM を計算します (OSD がそれぞれ 5GB)
- Ceph クラスターのネットワーク トポロジを描画
演習 2: ディスクを準備する__HTMLTAG_346___
- ワーカー ノード上の未使用のディスクを特定します:
lsblk
- パーティションのないディスクを確認します:
wipefs -a /dev/sdX
- レッスン 12 用のディスクを準備します
lsblkwipefs -a /dev/sdX📚 次の投稿
__HTMLTAG_363___レッスン 12: Rook-Ceph Operator と CephCluster のインストール では、Rook Operator をデプロイし、K8 に CephCluster を作成します。