Ceph Reef All In One Deployment

In this article I will show you how to deploy Ceph all-in-one deployment using Cephadm. What all-in-one means is that all Ceph components will be deployed on a single node, this is suitable for local testing. I use Cephadm to perform automatic deployment and will deploy the Ceph components in containers and systemd.

So, let's get started…

Environment

Hostnameat-ceph-aio
Operating SystemUbuntu 22.04 (Jammy)
vCPU8
Memory12 GB
Disk 140 GB
Disk 220 GB
Disk 320 GB
DIsk 420 GB
Internal Network10.10.11.0/24
Internal IP Address10.10.11.21

Ceph Deployment

  1. Update package
apt-get update
  1. Install requirement packages
apt-get install python3 docker.io chrony lvm2
  1. Install cephadm
curl --silent --remote-name --location https://download.ceph.com/rpm-18.2.4/el9/noarch/cephadm
chmod +x cephadm
./cephadm add-repo --release reef
./cephadm install
  1. Bootstrap cluster
cephadm bootstrap --mon-ip 10.10.11.21 --single-host-defaults --initial-dashboard-user admin --initial-dashboard-password admin
  1. Install ceph-common
cephadm install ceph-common
  1. Add available storage to cluster
ceph orch device ls
ceph orch apply osd --all-available-devices

Operational Test

  1. Ceph verification
ceph -s
ceph osd tree
ceph orch ps

  1. Operational test
# pools
ceph osd pool create pool-test 128
ceph osd lspools
rbd pool init pool-test

# object
echo "GG BANG" > gg.txt
rados put object-gg gg.txt --pool=pool-test
rm gg.txt
rados ls --pool=pool-test
rados get object-gg gg.txt --pool=pool-test

# verify
cat gg.txt

References

0
Subscribe to my newsletter

Read articles from Muhammad Alfian Tirta Kusuma directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Muhammad Alfian Tirta Kusuma
Muhammad Alfian Tirta Kusuma