Ubuntu 26.04

Ceph Tentacle : Cephadm #1 Configure Cluster2026/04/27

 

Configure Ceph Cluster with [Cephadm] that is a Ceph Cluster Deploy tool.

For example on here, Configure Ceph Cluster with 3 Nodes like follows.
Furthermore, each Storage Node has a free block device to use on Ceph Nodes.
(use [/dev/sdb] on this example)

                                         |
            +----------------------------+----------------------------+
            |                            |                            |
            |10.0.0.51                   |10.0.0.52                   |10.0.0.53 
+-----------+-----------+    +-----------+-----------+    +-----------+-----------+
|   [node01.srv.world]  |    |   [node02.srv.world]  |    |   [node03.srv.world]  |
|     Object Storage    +----+     Object Storage    +----+     Object Storage    |
|     Monitor Daemon    |    |                       |    |                       |
|     Manager Daemon    |    |                       |    |                       |
+-----------------------+    +-----------------------+    +-----------------------+

[1]

[Cephadm] uses Python 3 to configure Nodes,
so Install Python 3 on all Nodes, refer to here [1].

[2] [Cephadm] deploys Container based Ceph Cluster,
so Install Podman on all Nodes.
root@node01:~#
apt -y install podman

[3] Install [Cephadm] on a Node.
(it's [node01] on this example)
root@node01:~#
apt -y install cephadm python3-ceph python3-ceph-common python3-packaging python3-jinja2
[4] Bootstrap new Ceph Cluster.
root@node01:~#
groupadd -g 167 ceph

root@node01:~#
useradd -u 167 -g 167 ceph -d /run/cephadm -s /usr/sbin/nologin

root@node01:~#
mkdir -p /etc/ceph

root@node01:~#
cephadm bootstrap --mon-ip 10.0.0.51 --allow-fqdn-hostname

Verifying podman|docker is present...
Verifying lvm2 is present...
Verifying time synchronization is in place...
Unit chrony.service is enabled and running
Repeating the final host check...
podman (/usr/bin/podman) version 5.7.0 is present
systemctl is present
lvcreate is present
Unit chrony.service is enabled and running
Host looks OK
Cluster fsid: 59975a8e-41f6-11f1-8466-525400a2faeb
Verifying IP 10.0.0.51 port 3300 ...
Verifying IP 10.0.0.51 port 6789 ...
Mon IP `10.0.0.51` is in CIDR network `10.0.0.0/24`
Mon IP `10.0.0.51` is in CIDR network `10.0.0.0/24`
Internal network (--cluster-network) has not been provided, OSD replication will default to the public_network
Pulling container image quay.io/ceph/ceph:v20...

.....
.....

Using certmgr to generate dashboard self-signed certificate...
Creating initial admin user...
Fetching dashboard port number...
Ceph Dashboard is now available at:

             URL: https://node01.srv.world:8443/
            User: admin
        Password: 567rdrw18h

Enabling client.admin keyring and conf on hosts with "admin" label
Saving cluster configuration to /var/lib/ceph/599755ca-41f6-11f1-8000-525400a2faeb/config directory
You can access the Ceph CLI as following in case of multi-cluster or non-default config:

        sudo /usr/sbin/cephadm shell --fsid 599755ca-41f6-11f1-8000-525400a2faeb -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring

Or, if you are only running a single cluster on this host:

        sudo /usr/sbin/cephadm shell

Please consider enabling telemetry to help improve Ceph:

        ceph telemetry on

For more information see:

        https://docs.ceph.com/en/latest/mgr/telemetry/

Bootstrap complete.
Enabling the logrotate.timer service to perform daily log rotation.

# enable Ceph Cli

root@node01:~#
alias ceph='cephadm shell -- ceph'

root@node01:~#
echo "alias ceph='cephadm shell -- ceph'" >> ~/.bash_profile
root@node01:~#
ceph -v

Inferring fsid 599755ca-41f6-11f1-8000-525400a2faeb
Inferring config /var/lib/ceph/599755ca-41f6-11f1-8000-525400a2faeb/mon.node01/config
ceph version 20.2.1 (6a49aff47758778a5f5951e731d437c317f72fb2) tentacle (stable)

# OK for [HEALTH_WARN] because OSDs are not added yet

root@node01:~#
ceph -s

Inferring fsid 599755ca-41f6-11f1-8000-525400a2faeb
Inferring config /var/lib/ceph/599755ca-41f6-11f1-8000-525400a2faeb/mon.node01/config
  cluster:
    id:     599755ca-41f6-11f1-8000-525400a2faeb
    health: HEALTH_WARN
            mon node01 is low on available space
            OSD count 0 > osd_pool_default_size 3

  services:
    mon: 1 daemons, quorum node01 (age 118s) [leader: node01]
    mgr: node01.vgndmp(active, since 20s)
    osd: 0 osds: 0 up, 0 in

  data:
    pools:   0 pools, 0 pgs
    objects: 0 objects, 0 B
    usage:   0 B used, 0 B / 0 B avail
    pgs:

# containers are running for each service

root@node01:~#
podman ps

CONTAINER ID  IMAGE                                                                                      COMMAND               CREATED             STATUS             PORTS       NAMES
3ce0c0bef9ea  quay.io/ceph/ceph:v20                                                                      -n mon.node01 -f ...  2 minutes ago       Up 2 minutes                   ceph-599755ca-41f6-11f1-8000-525400a2faeb-mon-node01
ff14e99f9265  quay.io/ceph/ceph:v20                                                                      -n mgr.node01.vgn...  2 minutes ago       Up 2 minutes                   ceph-599755ca-41f6-11f1-8000-525400a2faeb-mgr-node01-vgndmp
36577c0bd342  quay.io/ceph/ceph@sha256:0bae386bc859cd9a05b804d1ca16cca8853a64f90809044e2bf43095419dc337  -n client.ceph-ex...  About a minute ago  Up About a minute              ceph-599755ca-41f6-11f1-8000-525400a2faeb-ceph-exporter-node01
d34bd9ce5d9d  quay.io/ceph/ceph@sha256:0bae386bc859cd9a05b804d1ca16cca8853a64f90809044e2bf43095419dc337  -n client.crash.n...  About a minute ago  Up About a minute              ceph-599755ca-41f6-11f1-8000-525400a2faeb-crash-node01
0242a2b1b12e  quay.io/prometheus/node-exporter:v1.9.1                                                    --no-collector.ti...  About a minute ago  Up About a minute  9100/tcp    ceph-599755ca-41f6-11f1-8000-525400a2faeb-node-exporter-node01
1608c21d8f40  quay.io/prometheus/prometheus:v3.6.0                                                       --config.file=/et...  59 seconds ago      Up About a minute  9090/tcp    ceph-599755ca-41f6-11f1-8000-525400a2faeb-prometheus-node01
087d25f7be27  quay.io/prometheus/alertmanager:v0.28.1                                                    --web.listen-addr...  47 seconds ago      Up 47 seconds      9093/tcp    ceph-599755ca-41f6-11f1-8000-525400a2faeb-alertmanager-node01
8901757f6e9f  quay.io/ceph/grafana:12.3.1                                                                                      45 seconds ago      Up 45 seconds      3000/tcp    ceph-599755ca-41f6-11f1-8000-525400a2faeb-grafana-node01

# systemd service for each containers

root@node01:~#
systemctl status ceph-* --no-pager

● ceph-599755ca-41f6-11f1-8000-525400a2faeb@mgr.node01.vgndmp.service - Ceph mgr.node01.vgndmp for 599755ca-41f6-11f1-8000-525400a2faeb
     Loaded: loaded (/etc/systemd/system/ceph-599755ca-41f6-11f1-8000-525400a2faeb@.service; enabled; preset: enabled)
     Active: active (running) since Mon 2026-04-27 05:05:44 UTC; 2min 50s ago
 Invocation: 5de843f535a14aee95ea0a12b09e4c2f
   Main PID: 5022 (conmon)
      Tasks: 164 (limit: 3994)
     Memory: 526.8M (peak: 526.8M)
        CPU: 32.242s
     CGroup: /system.slice/system-ceph\x2d599755ca\x2d41f6\x2d11f1\x2d8000\x2d525400a2faeb.slice/ceph-599755ca-41f6-11f1-8000-525400a2faeb@mgr.node01.vgndmp.service
.....
.....
Matched Content