Ceph Storage
You set up ceph storage by running monitor nodes, manager daemons, and object storage daemons. This open source system gives your team block, file, and object storage in one cluster. Most engineering teams start by creating storage pools and handing out admin keys to apps. When these keys have broad permissions, one bad command can wipe out production data. How ceph storage works under the hood A ceph storage cluster stores all data as objects inside logical groups called pools. The cluster d
Storage: the complete guide
Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.
You set up ceph storage by running monitor nodes, manager daemons, and object storage daemons. This open source system gives your team block, file, and object storage in one cluster. Most engineering teams start by creating storage pools and handing out admin keys to apps. When these keys have broad permissions, one bad command can wipe out production data.
How ceph storage works under the hood
A ceph storage cluster stores all data as objects inside logical groups called pools. The cluster does not use old file tables to find your data on disks. Instead, it uses a math map and a placement rule to spread data across nodes. Every client app talks straight to the storage daemons to read or write blocks.
Monitor nodes keep the master copy of the cluster map at all times. Manager daemons track drive health, space use, and speed metrics across the whole system. Object storage daemons sit on the disk hosts and handle the real read and write tasks. When a disk fails, the daemons copy objects to healthy drives to keep data safe.
How native cluster roles and keys work
To read or write data, a user or app needs a secret cluster key. The cluster checks this key against the monitor nodes before any task can run. Admins write capability rules that state what a key can do on monitors and pools. You can set a key to read one pool while blocking writes to another pool.
For object storage, teams also set up user accounts with access keys and secret keys. For file shares and block drives, hosts store client keys inside local disk files. Each host uses that saved key to mount volumes or open file shares on boot. This native setup works well for static servers that run the same job all day.
Where native cluster permissions fall short for teams
Native cluster keys decide who can log in and which pools they can touch. Still, these keys sit as plain text files on client hosts and admin laptops. Once an engineer has an admin key, the cluster trusts every command they send. The native system cannot tell which human ran a command using a shared admin key.
Storage: architecture patterns and best practices
Continue reading? Get the full guide.
Free. No spam. Unsubscribe anytime.
Static keys also create big headaches when engineers leave or move to new teams. Rotating a shared key means updating files on dozens of hosts and restarting apps. Native rules also cannot inspect what happens inside a session after a user logs in. If an authorized user reads sensitive customer files, the storage layer cannot rewrite emails or card numbers in the output.
Because of this gap, teams often give few people cluster keys or share one root key. Sharing keys breaks audit trails and raises the risk of accidental pool deletion. Strict controls are hard to keep up when engineers need fast access to fix broken disks. Teams need a better way to link human identity to every storage command they run.
Govern statements and responses across databases and APIs
Good config and scoped roles are needed setup. They do not check single queries in flight or mask sensitive fields in returned rows. Across Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes APIs, SSH, and internal HTTP endpoints, hoop.dev runs beside each supported service as an open-source proxy, a sidecar for your database or API.
First, hoop.dev guardrails block banned queries before they run. Then hoop.dev data masking rewrites matched sensitive values in responses in memory. The audit trail records every statement and verdict per resource. Furthermore, hoop.dev holds SOC 2 Type II and is open source on GitHub.
Frequently asked questions
What are the three types of storage a Ceph cluster provides?
A single cluster gives your team object storage, block volumes, and shared file systems. All three storage types sit on top of the same object storage layer.
How does the cluster protect against disk failures?
The cluster keeps multiple copies of each object or splits data using erasure coding. When a drive dies, healthy nodes rebuild the missing pieces using the surviving copies.
Why are static client keys risky for human admins?
Static keys stay valid until an admin deletes them from the monitor nodes. Anyone who copies the key file gets full access with no user audit trail.
Related guides
In this post