We are doing here for Ubuntu
Install podman on all nodes
- apt install podman -y
2. Put host in maintenance one by one
ceph orch host maintenance <host>
3. stop docker services
systemctl stop docker docker.socket
4. Use below script to change the run time for all services
#!/bin/bash
# Emergency fix for Ceph Docker -> Podman transition
# This script targets the 1760c18a-b5ee-11f0-bfab-3fc18abc7370 cluster ID
CEPH_PATH="/var/lib/ceph/1760c18a-b5ee-11f0-bfab-3fc18abc7370"
SYSTEMD_UNIT="/etc/systemd/system/ceph-1760c18a-b5ee-11f0-bfab-3fc18abc7370@.service"
echo "[*] Step 1: Replacing Docker with Podman in all unit.run files..."
# We skip the 'removed' directory to avoid unnecessary work
find "$CEPH_PATH" -name "unit.run" -not -path "*/removed/*" -exec sed -i 's|/usr/bin/docker|/usr/bin/podman|g' {} +
find "$CEPH_PATH" -name "unit.run" -not -path "*/removed/*" -exec sed -i 's|docker |podman |g' {} +
echo "[*] Step 2: Patching the systemd unit file dependencies..."
if [ -f "$SYSTEMD_UNIT" ]; then
# Comment out Docker dependencies
sed -i 's/^After=docker.service/#After=docker.service/' "$SYSTEMD_UNIT"
sed -i 's/^Wants=docker.service/#Wants=docker.service/' "$SYSTEMD_UNIT"
# Add Podman as a soft dependency (optional but cleaner)
if ! grep -q "After=podman.service" "$SYSTEMD_UNIT"; then
sed -i '/\[Unit\]/a After=podman.service' "$SYSTEMD_UNIT"
fi
fi
echo "[*] Step 3: Reloading systemd daemon..."
systemctl daemon-reload
echo "[*] Step 4: Restarting Ceph services in priority order..."
# Start MON and MGR first to restore the cluster "brain"
systemctl restart "ceph-1760c18a-b5ee-11f0-bfab-3fc18abc7370@mon.openceph-20-02.service"
systemctl restart "ceph-1760c18a-b5ee-11f0-bfab-3fc18abc7370@mgr.openceph-20-02.jwfdls.service"
# Give the MON a second to find quorum
sleep 3
# Restart the rest (OSDs, Prometheus, etc.)
systemctl restart "ceph-1760c18a-b5ee-11f0-bfab-3fc18abc7370.target"
echo "[*] Step 5: Verifying Podman containers..."
podman ps
echo "==== ✅ Patch complete. Try running 'ceph -s' now. ===="
5. Join host back,
ceph orch host maintenance exit <hostname>
6. Check Ceph Status
ceph -s
7. Keep doing it for rest of your nodes...