Files
Sankofa/docs/ceph/FIX_R630_QUORUM.md
defiQUG 33d50fb91e
Some checks failed
API CI / API Lint (push) Successful in 47s
API CI / API Type Check (push) Failing after 47s
API CI / API Test (push) Successful in 1m0s
API CI / API Build (push) Failing after 50s
API CI / Build Docker Image (push) Has been skipped
Build Crossplane Provider / build (push) Failing after 5m51s
CD Pipeline / Deploy to Staging (push) Failing after 29s
CI Pipeline / Lint and Type Check (push) Failing after 36s
CI Pipeline / Build (push) Has been skipped
CI Pipeline / Test Backend (push) Failing after 1m33s
CI Pipeline / Test Frontend (push) Failing after 30s
CI Pipeline / Security Scan (push) Failing after 1m16s
Crossplane Provider CI / Go Test (push) Failing after 3m23s
Crossplane Provider CI / Go Lint (push) Failing after 7m27s
Crossplane Provider CI / Go Build (push) Failing after 3m27s
Deploy to Staging / Deploy to Staging (push) Failing after 30s
Portal CI / Portal Lint (push) Failing after 21s
Portal CI / Portal Type Check (push) Failing after 21s
Portal CI / Portal Test (push) Failing after 21s
Portal CI / Portal Build (push) Failing after 22s
Test Suite / frontend-tests (push) Failing after 30s
Test Suite / api-tests (push) Failing after 49s
Test Suite / blockchain-tests (push) Failing after 30s
Type Check / type-check (map[directory:. name:root]) (push) Failing after 23s
Type Check / type-check (map[directory:api name:api]) (push) Failing after 21s
Type Check / type-check (map[directory:portal name:portal]) (push) Failing after 19s
Validate Configuration Files / validate (push) Failing after 1m52s
CD Pipeline / Deploy to Production (push) Has been skipped
chore: consolidate local WIP (repo cleanup 20260707)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 09:41:34 -07:00

3.3 KiB

Fix R630-01 Monitor Quorum Issue

Problem

R630-01 monitor is not joining the quorum. Only ml110-01 is in quorum.

Diagnosis

From your terminal output:

  • Quorum only shows: ["ml110-01"]
  • Monmap only has: ml110-01 monitor
  • R630-01 monitor is not in the cluster

Solution Steps

Step 1: Check R630-01 Monitor Status

On r630-01:

systemctl status ceph-mon@r630-01
journalctl -u ceph-mon@r630-01 -n 50
ls -la /var/lib/ceph/mon/ceph-r630-01/

Step 2: Check if Monitor Directory Exists

# If directory is missing or empty, create it
ls -la /var/lib/ceph/mon/ceph-r630-01/

Step 3: Add R630-01 to Monmap

On ml110-01 (where quorum exists):

# Get current monmap
ceph mon getmap -o /tmp/monmap

# Check if r630-01 is in monmap
monmaptool --print /tmp/monmap | grep r630-01

# If not present, add it manually
# First get FSID
FSID=$(grep fsid /etc/pve/ceph.conf | awk '{print $3}')

# Add r630-01 to monmap
monmaptool --add r630-01 192.168.11.11 --fsid $FSID /tmp/monmap

# Inject updated monmap
ceph mon setmap -i /tmp/monmap

Step 4: Create Monitor on R630-01

On r630-01:

# Option 1: Use pveceph (recommended)
pveceph mon create

# Option 2: Manual creation if pveceph fails
# Get monmap from ml110-01
scp root@192.168.11.10:/tmp/monmap /tmp/

# Create monitor directory
mkdir -p /var/lib/ceph/mon/ceph-r630-01
chown ceph:ceph /var/lib/ceph/mon/ceph-r630-01

# Create keyring
ceph-authtool --create-keyring /var/lib/ceph/mon/ceph-r630-01/keyring --gen-key -n mon.

# Create monitor filesystem
ceph-mon --mkfs -i r630-01 --monmap /tmp/monmap --keyring /var/lib/ceph/mon/ceph-r630-01/keyring

# Set ownership
chown -R ceph:ceph /var/lib/ceph/mon/ceph-r630-01

Step 5: Start Monitor Service

On r630-01:

systemctl enable ceph-mon@r630-01
systemctl start ceph-mon@r630-01
systemctl status ceph-mon@r630-01

Step 6: Verify Quorum

On either node:

ceph quorum_status
ceph mon stat
ceph -s

You should see both monitors in quorum:

"quorum": [0, 1],
"quorum_names": ["ml110-01", "r630-01"]

Alternative: Recreate Monitor

If the above doesn't work, recreate the monitor:

On r630-01:

# Stop monitor
systemctl stop ceph-mon@r630-01
systemctl disable ceph-mon@r630-01

# Remove monitor directory
rm -rf /var/lib/ceph/mon/ceph-r630-01

# Recreate
pveceph mon create

# Start
systemctl enable ceph-mon@r630-01
systemctl start ceph-mon@r630-01

Troubleshooting

Monitor Service Fails to Start

Check logs:

journalctl -u ceph-mon@r630-01 -n 100

Common issues:

  • "monitor data directory does not exist": Run pveceph mon create
  • "unable to bind": Check firewall, ports 6789 and 3300
  • "authentication": Check keyring permissions

Monitor Not in Quorum

  1. Verify network connectivity:

    ping 192.168.11.10
    ping 192.168.11.11
    
  2. Check firewall:

    ufw allow 6789/tcp
    ufw allow 3300/tcp
    
  3. Verify monmap includes both monitors:

    ceph mon dump
    

Still Not Working

If monitor still won't join:

  1. Check if both nodes are in Proxmox cluster: pvecm status
  2. Verify /etc/pve/ceph.conf is identical on both nodes
  3. Check FSID matches on both nodes
  4. Ensure time is synchronized: chrony sources