TT Lab
ブログ

한국어 English 日本語 中文

はじめる
ブログ

ブログ

Rook-Ceph解説 3:rook-ceph・rook-ceph-cluster 1.21.1チャートのvaluesを読む

ステータス:ドラフト(2026-10-29)、チャート原文基準、実測なし。 値はいずれもRook v1.21.1 タグが指すコミット 09d2f0d8d883b70b30de796c4390371be725ff3b の deploy/charts/rook-ceph/values.yaml と deploy/charts/rook-ceph-cluster/values.yaml から 直接読み取ったもので、表の行番号はそのファイルの行です。リソースの合計と容量はvaluesとCephドキュメントのデフォルト値で 計算した値であり、計測したものではありません。 TT Lab実習クラスター(VM 3台、各VMに空きディスク17GiB)で実際に起動したポッドと容量は第4編で確認します。 作成規則:実測データを基本とし、計測できなかったものは「未計測」、原文から見つからなかったものは「未確認」と表示します。

目次

1. チャートは3つあり、順番がある

Rookドキュメント(Helm Charts Overview)では、 v1.21のチャートを3つ紹介しています。一般に「rook-cephとrook-ceph-clusterの2つをデプロイすればよい」と知られていますが、v1.20からその中間に1つ追加されました。

v1.21 의 Helm 차트 셋, 이 순서로 ① rook-ceph Rook 저장소 operator Deployment·CRD·RBAC ceph-csi-operator 1.1.0 (하위 차트) ② ceph-csi-drivers ceph-csi-operator 저장소 OperatorConfig Driver: rbd·cephfs 켜짐 RBAC·서비스 계정 ③ rook-ceph-cluster Rook 저장소 CephCluster 풀·파일시스템·오브젝트 스토어 StorageClass 셋(ceph-block 기본) toolbox(기본 꺼짐) ②를 빠뜨리면 서비스 계정이 없어 CSI 드라이버가 실패한다 업그레이드도 같은 순서: ① → ② → ③
図:v1.21のHelmチャートセットとそれぞれが作成するもの
順序 チャート 取得元 作成するもの
1 rook-ceph Rookリポジトリ Rook operator Deployment、CRD、RBAC、サブチャート ceph-csi-operator 1.1.0
2 ceph-csi-drivers ceph-csi-operatorのHelmリポジトリ、Rookに合わせたvaluesを使用 OperatorConfig、RBD・CephFS Driver CR、ドライバーポッドのRBAC
3 rook-ceph-cluster Rookリポジトリ CephCluster、ブロックプール・ファイルシステム・オブジェクトストレージ CR、そのStorageClass、toolbox(デフォルトでは無効)

2番目を漏らすとPVCがバインドされません。 アップグレードドキュメントには、このチャートがないとサービスアカウントが存在しないためCSIドライバーが失敗状態になると記載されており、 operatorチャートドキュメントのインストール手順も「operatorチャート → CSIドライバーチャート → クラスター」の順序となっています (Ceph Operator Helm Chart, Rook Upgrades). ceph-csi-drivers はデフォルト値だけでインストールするとドライバーが失敗するため、Rookリポジトリの deploy/charts/ceph-csi-drivers/values.yamlを 必ず一緒に適用するようドキュメントで強調されています。そのファイルでドライバー名が rook-ceph.rbd.csi.ceph.com のようにoperatorのネームスペースに合わせられます。

helm repo add rook-release https://charts.rook.io/release
helm install --create-namespace -n rook-ceph rook-ceph rook-release/rook-ceph -f operator-values.yaml

helm repo add ceph-csi-operator https://ceph.github.io/ceph-csi-operator
helm install -n rook-ceph ceph-csi-drivers ceph-csi-operator/ceph-csi-drivers \
  -f https://raw.githubusercontent.com/rook/rook/v1.21.1/deploy/charts/ceph-csi-drivers/values.yaml

helm install -n rook-ceph rook-ceph-cluster rook-release/rook-ceph-cluster \
  --set operatorNamespace=rook-ceph -f cluster-values.yaml

コマンドはドキュメントの例をそのまま転載したものです。クラスターチャートのドキュメントでは、values全体をコピーせず 変更する値のみを含んだファイルを作成するよう推奨しています。 ちなみにタグの Chart.yaml には両方のチャートに version: 0.0.1 が記載されており、デプロイされるチャートのバージョンはリリースプロセスで付与されるものと 思われます(未確認)。v1.21以降、OCIチャートのタグには v が付きません。

2. rook-ceph(operatorチャート)の重要な値

ファイル全体が245行と短いです (values.yaml).

キー デフォルト値 意味とメモ 行
image.tag v1.21.1 operatorイメージ docker.io/rook/ceph L10
crds.enabled true チャートがCRDを作成および更新する。 初回のインストール時のみ指定することという警告:後で無効化するとクラスターが破壊される可能性がある L21
resources 要求 CPU 200m・メモリ 128Mi、上限メモリ 512Mi operatorポッドのリソース L24
unreachableNodeTolerationSeconds 5 ノードが応答しない場合にoperatorポッドを移動させるまでの時間。Kubernetesデフォルトの5分ではなく5秒 L42
currentNamespaceOnly false 自身のネームスペースのCephClusterのみを監視するかどうか L45
logLevel INFO ERROR·WARNING·INFO·DEBUG L58
containerSecurityContext runAsNonRoot、UID 2016、すべてのcapabilitiesを削除 operatorコンテナのセキュリティコンテキスト L71
allowLoopDevices false テスト用クラスターでloopデバイスをOSDとして使用するかどうか L78
monRunAsRoot false monポッドをrootとして実行するかどうか L81
deleteUnusedCrushRules true mgrの起動後に使用されない自動生成されたCRUSHルールを削除する L84
csi.installCsiOperator true ceph-csi-operatorサブチャートをインストールする L95
csi.cephcsi などのイメージ7種 すべて空の値 空欄にすると ceph-csi-operator の内蔵イメージを使用する。変更する場合のみリポジトリとタグを記述する L102
csi.serviceMonitor.enabled false(有効化時は5秒間隔) CSI指標用のServiceMonitor L144
enableDiscoveryDaemon false(間隔 60m) ノード上の新しいディスクを定期的に検出するデーモン L156
cephCommandsTimeoutSeconds "15" operatorが呼び出すcephコマンドのタイムアウト(秒) L161
scaleDownOperator false GitOpsでデプロイする際、operatorを0にスケールダウンして手動でメンテナンスするためのスイッチ L169
enforceHostNetwork false すべてのRookポッドをホストネットワークにする(CNIがない環境) L213
disableDeviceHotplug false 新しいデバイスが検出されたときに自動的にOSDを作成する動作を無効化するかどうか L216
enableOBCWatchOperatorNamespace true OBCプロビジョナーがoperatorのネームスペースを監視するかどうか L229
obcAllowAdditionalConfigFields "maxObjects,maxSize" OBCユーザーが指定できる追加フィールド。残りの項目(バケットポリシー・ライフサイクル・オーナーなど)は危険であるとコメントが警告 L240
monitoring.enabled false 有効にすると、operatorがServiceMonitorを作成するためのRBACを取得する。Prometheusが事前に存在している必要がある L245

CSIの設定の大部分はこのチャートから移行しました。 以前はこのチャートの csi 配下でプロビジョナーのレプリカ数、kubeletのパス、ドライバーごとのリソースなどの 値を指定していましたが、アップグレードドキュメントでは、現在そのような値は ceph-csi-drivers チャートの設定で探すよう案内されています。このチャートに残っている csi は、サブチャートをインストールするかどうかとイメージの上書き、ServiceMonitor程度です。ceph-csi-operatorサブチャート自体の設定はvaluesの ceph-csi-operator セクション(L86)に記述します。

3. rook-ceph-clusterの外側の値

ここからは844行のクラスターチャートです (values.yaml). cephClusterSpec の外側にある値から見ていきます。

キー デフォルト値 意味とメモ 行
operatorNamespace rook-ceph operatorが存在するネームスペース。StorageClassのプロビジョナー名のプレフィックスになる L6
configOverride なし ceph.confに追加する内容 L16
toolbox.enabled false rook-ceph-tools Deployment。イメージはCephイメージと同等。要求 128Mi・上限 1Gi L26
monitoring.enabled false Prometheus連携。 metricsDisabled: false によりmgrのprometheusモジュールとexporterがデフォルトで有効になる L72
monitoring.createPrometheusRules false Cephアラート規則(PrometheusRule)を作成するかどうか L76
cephImage quay.io/ceph/ceph:v20.2.4, allowUnsupported: false Ceph Tentacle。コメントでは本番環境では v20.2.4-20260818 のような日付付きタグに固定するよう推奨している L124
ingress.dashboard, route.dashboard 空 ダッシュボードをIngressやHTTPRouteで公開する場合 L475
cephFileSystemVolumeSnapshotClass, cephBlockPoolsVolumeSnapshotClass enabled: false スナップショットクラス。使用する場合は有効にする L642
csiDriverNamePrefix 空 空欄にするとoperatorのネームスペースがドライバー名のプレフィックスになる L844

4. cephClusterSpec:CephClusterそのもの

cephClusterSpec はCephCluster CRの spec にそのまま挿入されます。クラスターチャートのドキュメントには、このデフォルト値は「あくまで例であり、お使いのクラスターに 適している可能性は低い」と記載されています。

キー デフォルト値 意味とメモ 行
dataDirHostPath /var/lib/rook monのデータと設定を配置するホストパス。 再インストール時にこのディレクトリを削除しないと、新しいクラスターでmonが起動しない L150
skipUpgradeChecks false アップグレード前のチェックをスキップするかどうか L156
continueUpgradeAfterChecksEvenIfNotHealthy false PGがクリーンでなくても続行するかどうか L159
waitTimeoutForHealthyOSDInMinutes 10 1つのOSDを停止しても安全な状態になるのを待つ時間 L166
upgradeOSDRequiresHealthyPGs false PGが健全な状態でなければOSDのアップグレードを開始しないかどうか L171
security.cephx.csi.keyType aes コメント:ノードカーネルが7.0未満の場合に必要 L176
mon.count 3 monの数。ドキュメント上は1〜9、奇数が推奨 L181
mon.allowMultiplePerNode false 同一ノード上の複数のmon。 データ損失を許容するテスト環境でのみ使用 L184
mgr.count 2 1つはactive、1つはstandby。2つの場合、mgrサイドカーも付く L190
mgr.modules rook モジュール無効 rook mgrモジュールは非推奨であるとコメントに記載されている L196
dashboard.enabled·ssl true·true ダッシュボード有効、証明書が提供されない場合は自己署名証明書 L201
network.connections.encryption false 転送暗号化。有効にするにはカーネル5.11以上が必要 L223
network.connections.compression false 転送圧縮 L227
network.connections.requireMsgr2 true msgr v1ポート(6789)を閉じ、v2(3300)のみにする。カーネル5.11以上が必要 L231
crashCollector.disable false デーモンクラッシュダンプ収集ツール(ノードごとに1つのポッド) L253
logCollector 有効、毎日、最大500M 各デーモンのログファイルローテーション用サイドカー L260
cleanupPolicy.confirmation "" 第2編第7節。削除時のみ yes-really-destroy-data L271
cleanupPolicy.sanitizeDisks quick·zero・1回 ディスクの消去方式 L277
removeOSDsIfOutAndSafeToRemove false out状態で削除しても安全なOSDを自動的に除外するかどうか L409
priorityClassNames mon・osd system-node-critical、mgr system-cluster-critical リソースが不足した際に優先的に追い出されないようにする L412
storage.useAllNodes true すべてのノードをストレージノードにする L418
storage.useAllDevices true 使用可能なすべてのデバイスをOSDにする L419
storage.deviceFilter·nodes コメントアウト デバイス名の正規表現、ノードごとのデバイスリスト L420
disruptionManagement.managePodBudgets true OSD・mon・RGW・MDSのPodDisruptionBudgetをoperatorが管理する L446
disruptionManagement.osdMaintenanceTimeout 30 ドレイン中の障害ドメインをnooutで保持し続ける時間(分) L449
healthCheck.daemonHealth mon 45s、osd 60s、status 60s チェック間隔。monの timeout は記載されていないため、コードのデフォルト値である10分(第2編)が使用される L453

リソース要求(resources)

cephClusterSpec.resources(L340)のデフォルト値です。Rookのドキュメントでは「低すぎると警告が表示されるだけでそのまま起動する」とされており、その基準となる推奨 最低値も記載されています(CephCluster CRD)。 ソースコードを見ると、このチェックは 上限(limit) を基準としており、上限が要求を下回る場合はエラーとみなされます (spec.go#L486-L520).

対象 要求 CPU 要求メモリ 上限メモリ Rook推奨最小値 行
mgr 500m 512Mi 1Gi 512MB L341
mon 1000m 1Gi 2Gi 1024MB L347
osd 1000m 4Gi 4Gi 2048MB L353
prepareosd 500m 50Mi なし(設定しないことを推奨) 上限なし L359
mgr-sidecar 100m 40Mi 100Mi 上限100MB・要求40MB L371
crashcollector 100m 60Mi 60Mi 60MB L377
logcollector 100m 100Mi 1Gi 未確認 L383
cleanup 500m 100Mi 1Gi 未確認 L389
exporter 50m 50Mi 128Mi 上限 128MB・リクエスト 50MB L395
cmd-reporter 500m 100Mi 1Gi 未確認 L401

OSD のメモリを少なく設定すると、Rook が Ceph の osd_memory_target を同じ値に合わせるとドキュメントに記載されています。第 1 編で見たように、この値の Ceph デフォルトは 4Gi であるため、チャートのデフォルト値(4Gi)は Ceph のデフォルトと同じになります。MDS および RGW のリソースはここではなく、それぞれのセクションにあります(第 5 節)。

5. ブロックプール、ファイルシステム、オブジェクトストアのデフォルト値

クラスターチャートはデフォルトで 3 種類を 1 つずつ 作成し、それぞれに StorageClass をアタッチします。この StorageClass は operator ではなくチャートのテンプレートが作成します(第 2 編第 9 節)。

cephBlockPools: ceph-blockpool と StorageClass ceph-block

キー デフォルト値 メモ 行
spec.failureDomain host レプリカごとに異なるホスト L520
spec.replicated.size 3 3 レプリカ L522
storageClass.isDefault true クラスターのデフォルト StorageClass になる L531
storageClass.reclaimPolicy Delete PVC を削除すると RBD イメージも削除する L532
storageClass.allowVolumeExpansion true ボリューム拡張を許可 L533
storageClass.volumeBindingMode Immediate PVC が作成され次第すぐに作成する L534
parameters.imageFormat "2" RBD イメージ形式 L559
parameters.imageFeatures layering 注記: カーネル RBD は 5.4 以降で全機能をサポートしますが、デフォルトは layering のみです L565
parameters の Secret 6 ペア rook-csi-rbd-provisioner, rook-csi-rbd-node provisioner・expand・publish・node-stage・modify・node-publish で使用する cephx キー。operator が作成する(第 2 編) L568
parameters."csi.storage.k8s.io/fstype" ext4 注記: OSD と同じノードにボリュームをマウントする構成では XFS がデッドロックに陥る可能性があるため推奨されない L585

テンプレート(cephblockpool.yaml)が provisioner: <operatorNamespace>.rbd.csi.ceph.com と pool·clusterID(クラスター名前空間)を付加します。

cephFileSystems: ceph-filesystem と StorageClass ceph-filesystem

キー デフォルト値 メモ 行
metadataPool.replicated.size 3 メタデータプール L595
dataPools[0] 名前 data0, host、size 3 データプール L597
metadataServer.activeCount 1 アクティブ MDS が 1 つ、Rook はその 2 倍(2 つ)を起動する L603
metadataServer.activeStandby true スタンバイ MDS がキャッシュをウォーム状態に維持 L604
metadataServer.resources リクエスト CPU 1000m・メモリ 4Gi、上限 4Gi Rook は MDS メモリを 4096MB 以上推奨し、上限として mds_cache_memory_limit を設定する L605
storageClass.isDefault false L614
storageClass.pool data0 L617
storageClass.reclaimPolicy Delete L618

CephFilesystem の preserveFilesystemOnDelete はチャートに存在しないため、CRD デフォルト値 false が使用されます。CR を削除するとファイルシステムも一緒に削除されるという意味です(CephFilesystem CRD).

cephObjectStores: ceph-objectstore と StorageClass ceph-bucket

キー デフォルト値 メモ 行
metadataPool host、レプリケーション size 3 バケットインデックスなど L670
dataPool.erasureCoded K=2, M=1, host データプールはイレージャーコーディング L674
dataPool.parameters.bulk "true" PG オートスケーラーが最初から多くの PG を割り当てる(第 1 編) L680
preservePoolsOnDelete true CR を削除してもプールは残す L681
gateway.port 80 HTTP. securePort・証明書はコメントアウト L683
gateway.instances 1 RGW ポッド 1 つ L692
gateway.resources リクエスト CPU 1000m・メモリ 1Gi、上限 2Gi L684
storageClass ceph-bucket, Delete, region: us-east-1 provisioner は <클러스터 네임스페이스>.ceph.rook.io/bucket L701
ingress.enabled·route.enabled false クラスター外へエクスポートする場合 L712

マルチサイト(realm・zonegroup・zone)、オブジェクトストアユーザー、EC ブロックプールは values 内にコメントとしてのみ記載されており、デフォルトでは作成されません(L743 以降)。

6. デフォルトのまま使用すると危険な箇所

警告 1. useAllNodes: true + useAllDevices: true(L418、L419)。 すべてのノードの使用可能なすべてのデバイスが OSD となり、フォーマットされます。第 2 編で見たように、マウントされているか、ファイルシステムや OSD の署名があるデバイスはスキップされますが、 署名の全くない空のディスクは確認なしに使用されます。 他の用途のために適当に接続したディスクや、まだフォーマットしていないディスクがその対象となります。CephCluster のドキュメントには、 useAllDevices 「デバイスを消去する危険性のない非常に制御された環境でなければ推奨しない」と記載されており、運用環境では useAllNodes: false を用いてノードを明示することが推奨されます。最低限、 deviceFilter(例:検証用 VM の空ディスク名に一致する正規表現)やノードごとの devices を記載してください。

警告 2. ceph-block の isDefault: true(L531)。 インストールした瞬間に、 ceph-block が Kubernetes 全体のデフォルト StorageClass になります。すでに別のデフォルト StorageClass が存在する場合、デフォルトが 2 つになり、Kubernetes はこのとき storageClassName の指定がない PVC に対して 最も最近作成された デフォルト StorageClass を使用します(Kubernetes: Default StorageClass)。既存のアプリの新しい PVC が意図せず Ceph へルーティングされることになります。既存のクラスターに導入する場合は false のままにしてください。

警告 3. オブジェクトストアデータプールの EC 2+1(L674)。 Ceph のドキュメントでは M=1 プロファイルについて「本番データには強く推奨しない」と記載されています。メンテナンス中にデータにアクセスできなくなり、障害が重なるとデータが失われます。また、K+M=3 であるため、 host の障害ドメインにおいてホストが正確に 3 台以上必要であり、推奨通りに min_size を K+1=3 に設定すると、ホストが 1 台ダウンしただけでもそのプールは書き込みを停止します(実際の min_size の値は第 4 編で確認、未実測)。本番環境であれば、レプリケーション 3 または K=4、M=2 を検討してください。

警告 4. 削除すると消えてしまうもの。 StorageClass 3 つの reclaimPolicy がいずれも Delete であるため、PVC を削除するとデータも削除されます。ファイルシステムは preserveFilesystemOnDelete がデフォルトで false であるため、CR を削除するとファイルシステムも削除されます。逆にオブジェクトストアは preservePoolsOnDelete: true となるため、プールは残ります。3 つのデフォルトがそれぞれ異なる点に留意してください。

警告 5. crds.enabled(operator チャート L21)。 初回インストール時に設定した値を後から false に変更すると、クラスターが破壊される可能性があるとコメントで警告されています。同様のコメントは、CRD が削除された場合に備えて災害復旧ドキュメントの「削除後の CRD 復旧」セクションを指し示しています。この値はインストール時に一度決定したら変更しないでください。

警告 6. requireMsgr2: true と keyType: aes(L231、L176)。 msgr2 にはカーネル 5.11 以降が必要であり、アップグレードドキュメントでは、より古いカーネルの場合は requireMsgr2: false で無効化するよう案内しています。 keyType: aes は、ノードのカーネルが 7.0 未満である場合に必要であるとコメントに記載されています。ノードのカーネルバージョンから確認してください。 mon.allowMultiplePerNode(L184)と requireSafeReplicaSize: false(プール CRD、size 1 を許可)は、テスト環境以外では有効にしないでください。

7. 検証用クラスターでメモリと CPU を削減する場合

TT Lab の検証用クラスターは、VM 3 台に空きディスクが 1 つずつ(17GiB)接続された構成です。デフォルト値でインストールした場合、Ceph ポッドが リクエストするリソースを values から計算すると以下のようになります。個数は、ノードセット、ディスクセット、デフォルトのプール・ファイルシステム・オブジェクトストアがそれぞれ 1 つずつであると仮定しています。

ポッド 数量 CPU リクエスト合計 メモリリクエスト合計
osd 3 3000m 12Gi
mds 2(アクティブ 1 + スタンバイ 1) 2000m 8Gi
mon 3 3000m 3Gi
mgr + サイドカー 2 + 2 1200m 1104Mi
rgw 1 1000m 1Gi
logcollector サイドカー デーモンごとに 1 つと仮定し 11 1100m 1100Mi
crashcollector, exporter ノードごとに 1 つずつ 3 + 3 450m 330Mi
operator 1 200m 128Mi
合計 約 12 コア 約 26.6Gi

CSI ポッド(ctrlplugin・nodeplugin)と ceph-csi-operator のリクエストは該当チャートのデフォルト値であるため含めていません(未確認)。ポッドが Pending で停止する場合は、まずこの合計値を VM の CPU およびメモリと比較してみてください。実際にスケジュールされた値は第 4 編で確認します。

削減する際に変更する値です。以下は 提案であり、この組み合わせで起動した実績はありません(未実測)。

cephClusterSpec:
  mgr:
    count: 1                # mgr 하나와 사이드카 둘이 빠진다
  dashboard:
    enabled: false
  crashCollector:
    disable: true           # cluster-test.yaml 도 끈다
  logCollector:
    enabled: false          # 데몬마다 붙는 로그 사이드카가 빠진다
  resources:
    mon:
      requests: {cpu: 250m, memory: 512Mi}
      limits: {memory: 1Gi}       # 권장 최소 1024MB 와 같다
    mgr:
      requests: {cpu: 250m, memory: 512Mi}
      limits: {memory: 512Mi}     # 권장 최소 512MB
    osd:
      requests: {cpu: 500m, memory: 2Gi}
      limits: {memory: 2Gi}       # 권장 최소 2048MB, osd_memory_target 도 2Gi 가 된다
cephFileSystems:
  - name: ceph-filesystem
    spec:
      metadataServer:
        activeCount: 1
        activeStandby: false
        resources:
          requests: {cpu: 250m, memory: 1Gi}
          limits: {memory: 1Gi}   # 권장 4096MB 보다 낮아 operator 가 경고를 찍는다
cephObjectStores:
  - name: ceph-objectstore
    spec:
      gateway:
        instances: 1
        resources:
          requests: {cpu: 250m, memory: 512Mi}
          limits: {memory: 1Gi}

リスト値(cephFileSystems, cephObjectStores)は Helm が丸ごと置き換えるため、実際のファイルにはデフォルト値の残りのフィールド(プール、StorageClass)を一緒に記述する必要があります。上記の断片では変更するフィールドのみを表示するために省略しています。RWX ボリュームや S3 が不要な場合は cephFileSystems: [], cephObjectStores: [] で完全に除外することが最も大きな削減になります。 activeStandby: false はスタンバイ MDS をコールドスタンバイに変更するだけで、MDS の数(2)はそのままです(第 2 編第 2 節)。

上記組み合わせのリクエスト合計を同様の方法で計算すると、メモリは約 10.8Gi(osd 6Gi、mds 2Gi、mon 1.5Gi、mgr 512Mi、rgw 512Mi、exporter 150Mi、operator 128Mi)、CPU は約 3.6 コアです。その代わり、OSD のメモリ目標が 4Gi から 2Gi に減少し、BlueStore キャッシュが小さくなり(パフォーマンスへの影響は未実測)、MDS は Rook の推奨値を下回ります。パフォーマンスへの影響は、測定終了後に別途執筆するパフォーマンス編で取り上げます。

同じ方向性の公式の例として、Rook ストレージの deploy/examples/cluster-test.yamlがあります。リソースリクエストを全く設定せず、mon・mgr を 1 つずつにし、 osd_memory_target を 1GiB に、プールサイズを 1 にした構成です。ファイルの冒頭コメントでは「ノード 1 台で十分な小規模テストクラスター」として紹介されています。レプリカが 1 つであるためデータ保護はありません。

容量計算

ディスクセットの元容量は 51GiB です。Ceph は OSD の使用率が mon_osd_nearfull_ratio(0.85)を超えると警告を発し、 mon_osd_full_ratio(0.95)に達すると書き込みをブロックします(Monitor Config Reference).

プール種別 空間倍数 full(0.95)に達するまでに格納できる実データ nearfull(0.85)の警告まで
レプリケーション size 3(ブロック、ファイルシステム) 3.0 約 16.2GiB 約 14.5GiB
EC 2+1(オブジェクトデータ) 1.5 約 32.3GiB 約 28.9GiB

すべてのプールが同じ元容量を分割して使用するため、2 つの行を単純に足し合わせることはできません。BlueStore と RocksDB の固定オーバーヘッド、PG が均等に分散されない度合いは除外しています(未実測)。実際に使用可能な量は第 4 編の ceph df で確認します。

8. まとめ

T-ти(ティティ)の一言。 values.yaml は「デフォルトでこのように設定しておきますね」というお手紙です。しかし、このお手紙には「空きディスクはすべて使います」、「私がデフォルトの StorageClass になります」といった、なかなか大胆な文章が混ざっています。インストールボタンを押す前に、その数行だけは必ず読み返してください!

参考

values およびドキュメントはいずれも 2026-10-29 時点の指定コミットで閲覧しました。

ログインするといいねできます

コメント

まだコメントはありません。

ログインするとコメントできます