PhilippTheServer

storage

Volumes, object stores and the durability questions that decide where data lives.

  1. fsGroupChangePolicy: OnRootMismatch and the setgid Invariant That Makes It Sound

    Pod stuck in ContainerCreating from fsGroup recursive chown: fsGroupChangePolicy: OnRootMismatch, and why the setgid bit on the volume root makes it safe.

  2. fsGroup Recursive chown Hangs on Large Volumes

    fsGroupChangePolicy: OnRootMismatch stops kubelet re-chowning every file on each mount. Why fsGroup pods restart slowly, and when fsGroupPolicy None applies.

  3. Object Storage as the Durability Boundary for a Container Registry

    MANIFEST_UNKNOWN after losing a registry PVC: REGISTRY_STORAGE s3 on MinIO keeps blobs through helm uninstall. What it does not fix: garbage-collect.

  4. Importing Pre-Existing Storage as a Static PersistentVolume

    persistentVolumeReclaimPolicy: Retain with volumeName and claimRef binds a PVC to existing data. What Released means and how to rebind safely.

  5. Ceph CSI StorageClasses: RBD for Block, CephFS for Shared Volumes

    Multi-Attach error for volume: Ceph RBD is ReadWriteOnce by design. When to use rook-ceph-block and when rook-cephfs for ReadWriteMany.

  6. Running Ceph on Commodity Hardware: Failure Domains and the Four Things That Bite

    ceph osd df --format json: alert on the fullest OSD, not the mean, because one full OSD stops writes. Plus CRUSH failure domains and monitor quorum.

  7. Tuning Ceph Recovery: The Trade Between Degraded Time and Client Latency

    osd_max_backfills does nothing under mClock unless osd_mclock_override_recovery_settings is set. Choosing and measuring osd_mclock_profile for recovery.

  8. Capacity Planning Against the Fullest OSD, Not the Average

    Ceph full_ratio applies per OSD: one OSD at 95% stops writes while ceph df shows 70%. Alerting on the fullest OSD in ceph osd df, plus the upmap balancer.

  9. CRUSH Hybrid Rules: Pinning the Read Primary to SSD Without Rebalancing

    step take default class ssd, chooseleaf firstn 1, then class hdd firstn 0: a CRUSH rule with an SSD primary and HDD replicas, tested with crushtool.

  10. SMR Drives in a Replicated Cluster: Finding the Disk That Ruins the Pool

    lsblk ZONED=none does not rule out drive-managed SMR. A 30-minute fio randwrite probe and p99 latency ratio catch the cliff before it hits a Ceph OSD.

  11. A Layered Storage Benchmark: Isolating Device, Network and Protocol Bottlenecks

    fio, iperf3, rados bench, then fio on RBD: benchmarking device, network, Ceph protocol and full stack separately to find which layer caps throughput.

All topics · All writing