Home / Infrastruttura / Ceph
Distributed storage

Ceph

Un'unica piattaforma per object, block e file storage. Petabyte-scale, auto-healing, senza single point of failure.

CEPH · open source
Ceph logo
Cos'è

Lo storage opensource su cui gira mezzo internet.

Ceph è un sistema di storage distribuito che fornisce contemporaneamente object storage (compatibile S3), block storage (RBD per VM) e file system POSIX (CephFS) sullo stesso cluster. Una sola piattaforma, tre interfacce, nessun bottleneck centralizzato.

L'algoritmo CRUSH distribuisce i dati su tutti i nodi senza tabelle di lookup: il cluster decide da sé dove vive ogni oggetto, si auto-bilancia quando aggiungi capacity e si auto-ripara quando un disco muore. Replica 3x, erasure coding (4+2, 8+3...), tiering tra SSD e HDD: tutto configurabile per pool.

In Clodino è il backend storage di tutti i nostri deployment OpenStack e Proxmox. CERN lo usa per centinaia di petabyte, DigitalOcean per il suo block storage, Bloomberg per i suoi data lake. Noi lo gestiamo da 8 anni in produzione.

Caratteristiche chiave

Tre storage in uno, scalabile a petabyte.

La stessa pila di dischi serve VM, container, backup, archivi, S3-compatible apps. Zero silos, zero lock-in.

RADOS Object

L'oggetto è l'unità nativa. CRUSH map, placement groups, erasure coding flessibile.

RBD · Block

Block device thin-provisioned per VM (libvirt, OpenStack, K8s CSI). Snapshot, clone, mirror cross-site.

CephFS

File system POSIX distribuito con MDS attivo-attivo. Sostituisce NFS in scenari high-throughput.

RGW · S3 gateway

Endpoint S3 e Swift compatibili. Multi-tenancy, lifecycle policy, bucket replication.

CRUSH map

Topology-aware: scrivi una replica per rack, per row, per datacenter. Failure domain a tua scelta.

Self-healing

Quando un OSD muore, il cluster ribilancia automaticamente. Aggiungi dischi: redistribuisce da solo.

Come lo usiamo

Come gestiamo Ceph in produzione.

MONMGROSDMDSRGWBlueStorecephadmCRUSH mapRBD mirrorS3-compatibleCSI driverPrometheus exporter
  • Design del cluster a partire dai requisiti (IOPS, throughput, latenza, failure domain) — non da una shopping list di dischi.
  • Bootstrap con cephadm + Ansible. Mon/Mgr/MDS/OSD su Ubuntu LTS o RHEL.
  • Tuning OSD: BlueStore con DB/WAL su NVMe, classi separate SSD/HDD, pool dedicati per workload.
  • Monitoring via Prometheus exporter + Grafana dashboard ufficiali; alerting su slow ops, PG inactive, OSD near-full.
  • RBD mirroring per disaster recovery tra datacenter; RGW multi-site per S3 globale.
  • Upgrade trimestrali: rolling minor, semestrali major (Quincy → Reef → Squid).
“Ceph richiede rispetto. Una volta capito come ragiona, è la cosa più stabile che si possa mettere in un datacenter.”
Hands on

Stato di un cluster da 1.4 PiB.

shell · ceph admin~/clodino
$ ceph -s
  cluster:
    id:     a4b8...
    health: HEALTH_OK
  services:
    mon: 3 daemons, quorum a,b,c
    mgr: a(active), standbys: b
    mds: cephfs:1 {0=mds-a=up:active}
    osd: 96 osds: 96 up, 96 in
    rgw: 4 daemons active
  data:
    pools:   12 pools, 4096 pgs
    objects: 184.2M objects, 380 TiB
    usage:   1.14 PiB used, 280 TiB / 1.42 PiB avail
    pgs:     4096 active+clean

$ ceph osd df tree | head
ID  CLASS  WEIGHT    SIZE   USED   AVAIL  STATUS
-1         1456.00T  1.4PiB 1.1PiB 280TiB
 -3  ssd    320.00T            ssd-pool
 -5  hdd   1136.00T            hdd-pool

Storage che ti scappa di mano?

Migrazioni da SAN/NAS proprietari, design ex-novo, recovery di cluster mal configurati — l'abbiamo già fatto.

← Infrastruttura Parla con noi