LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

cephadm

container-based Ceph cluster deployment

TLDR

Bootstrap a new Ceph cluster
$ sudo cephadm bootstrap --mon-ip [monitor_ip]
copy
Add a new host to the cluster
$ sudo cephadm add-host [hostname] [ip_address]
copy
Deploy a specific service
$ sudo cephadm deploy [service_type] --name [service_name]
copy
Check status of cluster services
$ sudo cephadm shell -- ceph -s
copy
Enter a shell inside the Ceph container
$ sudo cephadm shell
copy
Remove a service from the cluster
$ sudo cephadm rm-service [service_type] --name [service_name]
copy

SYNOPSIS

cephadm [options] command [arguments]

DESCRIPTION

cephadm deploys and manages Ceph distributed storage clusters using containers (Podman preferred, Docker supported). It is the modern orchestration tool for Ceph, replacing older deployment methods like ceph-deploy and ceph-ansible.The tool handles the complete cluster lifecycle: bootstrapping a new cluster on a single node, adding hosts, deploying daemons (monitors, OSDs, managers, gateways), and upgrading the cluster. Each Ceph daemon runs in its own container, providing isolation and simplified upgrades.The `bootstrap` command creates an initial single-node cluster with a monitor and manager, generates admin credentials, and sets up the orchestrator for subsequent operations. The `shell` command provides an interactive environment inside a Ceph container with all management tools available.

PARAMETERS

--mon-ip ip

Monitor IP address for bootstrap
--cluster-network CIDR
Restrict the OSD replication network to the given subnet.
--ssh-user USER
User cephadm should SSH to remote hosts as (default `root`).
--initial-dashboard-user, --initial-dashboard-password
Credentials for the Ceph Dashboard created during bootstrap.
--skip-dashboard
Do not enable the dashboard.
--fsid UUID
Reuse an existing cluster FSID instead of generating one.
--name name
Service or daemon name
--image image
Container image to use
--docker
Force the use of Docker instead of Podman.
-v, --verbose
Increase logging verbosity.

SUBCOMMANDS

bootstrap

Initialize a new Ceph cluster
add-host
Add a host to the cluster
rm-host
Remove a host from the cluster
deploy
Deploy a daemon
rm-daemon
Remove a daemon
shell
Enter interactive shell in Ceph container
enter
Run a command inside an existing Ceph container
ls
List all Ceph daemons running on this host
ps
Show status of daemons (alias of `ls --no-extra-info`)
check-host
Verify host prerequisites (packages, time sync, container runtime)
prepare-host
Install missing prerequisites
gather-facts
Collect host inventory information
adopt
Adopt a daemon from a legacy (non-cephadm) deployment
logs
View daemon logs
rm-cluster
Destroy the local cluster state (dangerous)

CAVEATS

Requires container runtime (Podman preferred, Docker supported). Bootstrap creates initial admin credentials. Services are managed through the orchestrator, not directly.

SEE ALSO

ceph(8), podman(1)

Copied to clipboard
Kai