cephadm
Deploy and manage Ceph clusters
TLDR
Bootstrap a new Ceph cluster on the current host
Add a new host to the cluster
Deploy a specific service (e.g., mgr, mon, osd)
Check the status of cluster services
Enter a shell environment inside the Ceph container
Remove a service from the cluster
SYNOPSIS
cephadm [global-options] <command> [<args>]
PARAMETERS
--verbose
Increase verbosity (repeatable)
--image IMAGE
Ceph container image, e.g., quay.io/ceph/ceph:v18
--timeout SECONDS
Command timeout (default 900)
--dry-run
Simulate actions without changes
--workdir DIR
Working directory (default /var/lib/cephadm)
--data-root DIR
Data root directory
--ceph-conf FILE
Path to ceph.conf
--cluster ID
Cluster name/ID (default ceph)
--log-level LEVEL
Log level: DEBUG|INFO|WARN|ERROR
--output-dir DIR
Directory for bootstrap outputs
--docker
Use Docker instead of Podman
--skip-pull
Skip image pull during bootstrap
DESCRIPTION
cephadm is a management utility for deploying and operating Ceph storage clusters. It automates the bootstrap of initial monitors, managers, and OSDs, adding hosts, and orchestrating daemons via containers (using Podman or Docker). Designed for simplicity, it eliminates manual configuration of systemd units or Ansible playbooks. cephadm handles image pulling, host preparation (NTP, SSH, firewall), and integrates with the ceph orch command for ongoing management. It supports Rook-like declarative deployments, upgrades, and health checks. Ideal for production clusters, it ensures consistency across bare-metal, VMs, or cloud environments. Run as root; uses toolbox containers for isolation. Key benefits:
- Zero-touch daemon deployment
- Automatic upgrades and restarts
- Integrated monitoring via Prometheus.
CAVEATS
Requires root privileges. SSH access needed for remote hosts. Network/firewall must allow Ceph ports. Not for legacy non-containerized setups. Bootstrap is irreversible without manual cleanup.
KEY SUBCOMMANDS
bootstrap: Initialize cluster.
add-host: Add host to orchestrator.
orch host ls: List hosts.
deploy: Deploy daemon.
rm-daemon: Remove daemon.
check-host: Validate host readiness.
USAGE EXAMPLE
cephadm bootstrap --mon-ip 192.168.1.10 --allow-fqdn-hostname
HISTORY
Introduced in Ceph Nautilus (14.2, 2019) as experimental; default orchestrator since Octopus (15.2, 2020). Evolved with container orchestration in Pacific (16.2) and Reef (18.2). Developed by Red Hat/SUSE Ceph team.


