Evaluate BlueStore compression for swarm-data/vm-data pools #15
Labels
No labels
blocked
borg-backup
ceph
forgejo
in-progress
infra
netdata
nextcloud
p:high
p:low
p:medium
searxng
service-onboard
swarm-nodes
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
copper/ccnet-prod-devops#15
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Prompted by seeing others use it, and this Red Hat writeup on Ceph Storage 3.3
BlueStore compression performance:
https://www.redhat.com/en/blog/red-hat-ceph-storage-33-bluestore-compression-performance
Unlike RGW compression (docs.ceph.com/en/latest/radosgw/compression/), which
only applies to RadosGW/S3 objects and doesn't touch our CephFS/RBD-only
setup, BlueStore compression is pool-level and transparent to whatever
interface sits on top (CephFS, RBD) - it's the one actually relevant here.
Unlike Ceph dedup (docs.ceph.com/en/latest/dev/deduplication/, evaluated and
rejected 2026-07-06 - "highly experimental", manual ceph-dedup-tool workflow,
RGW-focused), BlueStore compression is a mature, non-experimental, long-stable
feature. Off by default (bluestore_compression_mode=none).
Candidate pools:
latency (see docs/homelab-architecture.md), compression adds CPU/latency
overhead we don't want there.
zlib-compressed internally, low additional savings expected), Nextcloud
user files (mixed compressibility), VM boot disks (moderate savings
likely).
Suggested approach:
ceph osd pool set swarm-data compression_mode passive(passive, not aggressive/force, to avoid CPU cost on incompressible data),
algorithm left at default
snappy(docs explicitly warn zstd has high CPUoverhead for BlueStore's typical small-object sizes). Watch OSD CPU and
ceph dfsavings for ~1 week before deciding whether to extend to vm-data.No p:medium label exists in this tool's scheme (p:high/p:low only) - filed as
p:low since this is a low-urgency "worth investigating" item, not blocking
anything. Bump to p:high if you want it picked up sooner.