





















After deploying a Ceph cluster, a systematic validation pass confirms the cluster is correctly configured before it handles production workloads. Catching misconfiguration early is far less disruptive than finding it under load.
ceph status
ceph health detailExpected result: HEALTH_OK. Investigate any warnings before proceeding.
ceph quorum_status --format json-pretty | python3 -c "
import sys, json
q = json.load(sys.stdin)
print('Leader:', q['quorum_leader_name'])
print('Members:', q['quorum_names'])
"Verify all expected MONs are in quorum.
ceph osd treeVerify:
up and inceph osd df treeceph osd crush treeConfirm the CRUSH topology matches your intended failure domains (host, rack, datacenter).
ceph osd pool ls detail | grep -E "size|min_size|pg_num"For each pool, verify:
size = intended replication factor (e.g., 3)min_size = at least 2 for productionpg_num appropriate for pool size and OSD countceph config get mon public_network
ceph config get osd cluster_network
ceph quorum_status --format json-pretty | python3 -c "
import sys, json
q = json.load(sys.stdin)
for mon in q['monmap']['mons']:
print(mon['name'], 'addr=', mon['addr'], 'public_addr=', mon['public_addr'])
"Verify bindings are on the expected networks and not on 0.0.0.0 unless intended.
kubectl apply -f - <<'EOF'
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: validation-pvc
spec:
accessModes: [ReadWriteOnce]
resources:
requests:
storage: 1Gi
storageClassName: rook-ceph-block
EOF
kubectl wait --for=jsonpath='{.status.phase}'=Bound pvc/validation-pvc --timeout=60s
kubectl delete pvc validation-pvcTOOLBOX=$(kubectl get pod -n rook-ceph -l app=rook-ceph-tools -o name | head -1)
POOL=$(kubectl get storageclass rook-ceph-block -o jsonpath='{.parameters.pool}')
kubectl exec -n rook-ceph "$TOOLBOX" -- rados bench -p "$POOL" 30 write --no-cleanup
kubectl exec -n rook-ceph "$TOOLBOX" -- rados bench -p "$POOL" 30 seq
kubectl exec -n rook-ceph "$TOOLBOX" -- rados cleanup -p "$POOL"Record this baseline for future comparison.
Validating a Ceph cluster after deployment requires checking cluster health, MON quorum, OSD topology, CRUSH map, pool settings, network bindings, PVC provisioning, and establishing a performance baseline. Running all eight checks takes about 15 minutes and catches the most common deployment errors before they affect production workloads.
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。