Before touching Ceph, you need to understand block, file, and object storage concepts, as well as the basics of distributed systems and fault tolerance. In this episode you will prepare the Linux environment, bootstrap your first cluster with cephadm, and verify the cluster health.

Welcome to the Learn Ceph series! This series will take you through mastering Ceph — a software-defined, open-source distributed storage system that provides block, file, and object storage in a single cluster — from the foundations of the concepts to production readiness. There are 23 episodes in total, arranged across six phases.
But before touching ceph and cephadm, there are some basic skills and software you must have. Why are these prerequisites important? Because Ceph is not just an application you install and you're done. Ceph is a distributed system where data is sharded, replicated, and placed across many nodes based on the CRUSH algorithm. If you don't yet understand the block, file, and object storage concepts, or aren't familiar with Linux administration, every operation will feel like opening a black box.
Episode 0 is your roadmap: we will make sure the basic skills are in place, prepare the software and hardware, then bootstrap your first Ceph cluster with cephadm and verify its health. Once this episode is done, the rest of the series can be followed comfortably.
Ceph provides three types of storage at once, so you must understand the differences from the start:
All Ceph operations run on Linux. You must be comfortable with the command line, disk management, and networking:
uname -a
cat /etc/os-release
free -h
df -hMake sure your system is Red Hat-based (RHEL, Rocky, AlmaLinux) or Debian-based (Ubuntu). Both are fully supported by Ceph.
Ceph is built on distributed systems principles. Here are some concepts you must understand:
For the lab, you can run a multi-node Ceph cluster on VMs or containers. Make sure you understand:
Ceph 18 (Reef) and Ceph 19 (Squid) are the recommended releases as of this writing. The main tool for modern deployment is cephadm, which runs every Ceph daemon as a container:
curl -fsSL https://download.ceph.com/rpm-19.2.0/el9/x86_64/cephadm -o /usr/sbin/cephadm
chmod +x /usr/sbin/cephadm
cephadm versionIf you are on Ubuntu, replace rpm-19.2.0/el9/x86_64 with deb-squid/. Verify that cephadm version shows the version you downloaded.
Prepare the following tools from the start because they will be used in many episodes:
For production, Ceph recommends a minimum 3-node cluster. This isn't an arbitrary suggestion: MON quorum and CRUSH replica placement require at least three independent locations.
RAM : 8 GB or more
CPU : 4 cores or more
Disk : 1 disk for OS + 1 disk or more for OSD
Network: 1 Gbps minimum, 10 Gbps recommendedFor the lab, creating three VMs that meet the specification above is enough. Note that the disk for the OSD should be separate from the OS disk, because OSDs store DB/WAL which is sensitive to I/O.
Separate the concepts of public network (used by clients) and cluster network (used between daemons). If you only have one NIC, Ceph can still run, but backfill and recovery performance will share bandwidth with client traffic.
Bootstrap runs on the first node and automatically creates the first MON, the first MGR, and copies the keyring to /etc/ceph:
cephadm bootstrap --mon-ip 192.168.100.10Replace 192.168.100.10 with the IP of the first node. At the end of the process, the terminal displays the dashboard URL, username, and the default admin/random password printed to the console.
Make sure SSH from the first node to all nodes works without a password, then add the hosts and deploy the OSDs:
ceph orch host add node2 --ssh-user <user>
ceph orch host add node3 --ssh-user <user>
ceph orch apply osd --all-available-devicesThe ceph orch apply osd --all-available-devices command will format all available and unused disks on each node as OSDs. Make sure you don't run it on a machine whose disks still hold important data.
After all nodes and OSDs are in place, verify the cluster:
ceph status
ceph health detail
ceph orch psceph status shows a summary: version, the active mon/mgr/osd, and the PG status. Ideally ceph health shows HEALTH_OK. If HEALTH_WARN appears in the early episodes, that's normal — for example because the OSDs aren't all up yet or there are incomplete PGs while the cluster is still being set up.
Also run a simple read/write verification through the dashboard to make sure the cluster is really usable. If all indicators are green, your environment is ready for the next phase.
In episode 0 you've prepared the footing for the whole series: understanding the differences between block, file, and object storage, the basics of distributed systems and fault tolerance, preparing cephadm, bootstrapping the first cluster, adding hosts and OSDs, and verifying cluster health.
The key takeaways:
ceph status and ceph health detail.In the next episode, episode 1, we will cover the history, background, and why to choose Ceph — from its birth in 2006 by Sage Weil, the RADOS design that aims to eliminate single points of failure, to its position as a storage foundation in cloud-native and OpenStack. Make sure your cluster is ready, because the Learn Ceph journey is just beginning!