Files
Sankofa/docs/ceph/ISSUE_ANALYSIS.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

6.4 KiB

Ceph OSD Creation Issue - Comprehensive Analysis

Date: 2025-12-13
Status: 🔍 ANALYZING ROOT CAUSES


Problem Summary

OSD creation commands are hanging/timing out when trying to create OSDs on the 6x 250GB drives. The process stops at the "osd new" step, which requires cluster authentication.


Root Cause Analysis

Issue 1: Bootstrap Keyring Missing/Inaccessible

Symptom:

unable to find a keyring on /etc/pve/priv/ceph.client.bootstrap-osd.keyring
RADOS timed out (error connecting to the cluster)
RuntimeError: Unable to create a new OSD id

Root Cause:

  • ceph-volume needs bootstrap keyring to authenticate with Ceph cluster
  • Keyring should be at /var/lib/ceph/bootstrap-osd/ceph.keyring OR /etc/pve/priv/ceph.client.bootstrap-osd.keyring
  • Neither location has the keyring, or it's not accessible

Why It Happens:

  • Ceph cluster may not have bootstrap-osd client created
  • Keyring may have been deleted or never created
  • Proxmox Ceph integration may use different keyring location

Issue 2: Ceph Cluster Connectivity

Symptom:

  • Commands hang at "osd new" step
  • "RADOS timed out" errors
  • Cannot connect to cluster

Possible Causes:

  1. Ceph monitors not accessible from R630-01
  2. Network connectivity issues between nodes
  3. Ceph services not running properly
  4. Firewall blocking Ceph ports (6789 for monitors)

Issue 3: Ceph Cluster Configuration

Current State:

  • 2 OSDs (one on ml110-01, one on r630-01)
  • Ceph cluster exists and is running
  • Health warnings present
  • Cluster is functional but degraded

Questions:

  • Is this a Proxmox-managed Ceph cluster?
  • Or a standalone Ceph cluster?
  • Where are the monitors running?
  • What's the cluster configuration?

Detailed Investigation Needed

Step 1: Check Ceph Cluster Status

# On R630-01
ceph health
ceph mon stat
ceph mon dump
ceph osd tree

What to look for:

  • Are monitors accessible?
  • What are monitor addresses?
  • Is cluster in quorum?
  • Can we connect to cluster?

Step 2: Check Bootstrap Keyring

# Check standard location
ls -la /var/lib/ceph/bootstrap-osd/ceph.keyring

# Check Proxmox location
ls -la /etc/pve/priv/ceph.client.bootstrap-osd.keyring

# Check if bootstrap-osd client exists
ceph auth list | grep bootstrap-osd

What to look for:

  • Does keyring exist?
  • Is it readable?
  • Does bootstrap-osd client exist in cluster?

Step 3: Check Ceph Services

# Check Ceph services
systemctl status ceph.target
systemctl status ceph-mon@*
systemctl status ceph-osd@*

# Check if monitors are running
ps aux | grep ceph-mon

# Check network connectivity
netstat -tlnp | grep 6789

What to look for:

  • Are Ceph services running?
  • Are monitors listening on port 6789?
  • Can we reach monitor addresses?

Step 4: Check Network Connectivity

# Check if we can reach monitors
# First, find monitor addresses
ceph mon dump

# Then test connectivity
ping <monitor-ip>
telnet <monitor-ip> 6789

What to look for:

  • Can we ping monitor IPs?
  • Can we connect to port 6789?
  • Are there firewall rules blocking?

Likely Scenarios

Scenario 1: Proxmox-Managed Ceph

If Ceph was set up via Proxmox:

  • Keyring should be in /etc/pve/priv/
  • May need to use pveceph commands instead
  • Proxmox manages Ceph configuration

Solution:

# Use Proxmox Ceph tool
pveceph create /dev/sdc

Scenario 2: Standalone Ceph Cluster

If Ceph was set up manually:

  • Keyring should be in /var/lib/ceph/bootstrap-osd/
  • Need to create/bootstrap keyring
  • Standard Ceph commands should work

Solution:

# Create/bootstrap keyring
mkdir -p /var/lib/ceph/bootstrap-osd
ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring

Scenario 3: Cluster Connectivity Issue

If monitors are not accessible:

  • Network issue between nodes
  • Firewall blocking
  • Monitors not running

Solution:

  • Fix network connectivity
  • Check firewall rules
  • Ensure monitors are running

Diagnostic Commands

Run these on R630-01 to diagnose:

# 1. Ceph cluster status
ceph health
ceph mon stat
ceph osd tree

# 2. Bootstrap keyring check
ls -la /var/lib/ceph/bootstrap-osd/ 2>/dev/null
ls -la /etc/pve/priv/ceph.client.bootstrap-osd.keyring 2>/dev/null
ceph auth list | grep bootstrap

# 3. Ceph services
systemctl status ceph.target
systemctl status ceph-mon@*

# 4. Network connectivity
ceph mon dump | grep -E "rank|addr"
# Then test connectivity to monitor IPs

# 5. Check if pveceph available
which pveceph
pveceph status 2>/dev/null || echo "pveceph not available"

Option A: Use Proxmox Ceph Tool (If Available)

# Check if available
which pveceph

# If yes, use it
for drive in sdc sdd sde sdf sdg sdh; do
    pveceph create /dev/$drive
done

Option B: Fix Bootstrap Keyring

# 1. Check if cluster is accessible
ceph health

# 2. Get or create bootstrap keyring
mkdir -p /var/lib/ceph/bootstrap-osd
ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring 2>/dev/null || \
ceph auth add client.bootstrap-osd mon 'allow profile bootstrap-osd' -i /var/lib/ceph/bootstrap-osd/ceph.keyring

# 3. Verify
ls -la /var/lib/ceph/bootstrap-osd/ceph.keyring

# 4. Create OSDs
for drive in sdc sdd sde sdf sdg sdh; do
    ceph-volume lvm create --data /dev/$drive
done

Option C: Check Cluster Connectivity First

# 1. Verify cluster is accessible
ceph health
ceph mon stat

# 2. If not accessible, check:
#    - Network connectivity
#    - Firewall rules
#    - Monitor services
#    - Cluster configuration

Key Questions to Answer

  1. Is Ceph cluster accessible from R630-01?

    • Can we run ceph health successfully?
    • Are monitors reachable?
  2. Where is the bootstrap keyring?

    • Does it exist?
    • Is it in the right location?
    • Is it readable?
  3. Is this Proxmox-managed Ceph?

    • Should we use pveceph?
    • Is Ceph integrated with Proxmox?
  4. What's the cluster configuration?

    • Where are monitors running?
    • What's the cluster name?
    • What's the authentication method?

Next Steps

  1. Run diagnostic commands to understand current state
  2. Identify root cause (keyring, connectivity, or configuration)
  3. Apply appropriate fix based on findings
  4. Retry OSD creation after fix

Last Updated: 2025-12-13
Status: 🔍 NEEDS DIAGNOSTIC INFORMATION