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
Co-authored-by: Cursor <cursoragent@cursor.com>
6.4 KiB
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-volumeneeds bootstrap keyring to authenticate with Ceph cluster- Keyring should be at
/var/lib/ceph/bootstrap-osd/ceph.keyringOR/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:
- Ceph monitors not accessible from R630-01
- Network connectivity issues between nodes
- Ceph services not running properly
- 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
pvecephcommands 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"
Recommended Fix Strategy
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
-
Is Ceph cluster accessible from R630-01?
- Can we run
ceph healthsuccessfully? - Are monitors reachable?
- Can we run
-
Where is the bootstrap keyring?
- Does it exist?
- Is it in the right location?
- Is it readable?
-
Is this Proxmox-managed Ceph?
- Should we use
pveceph? - Is Ceph integrated with Proxmox?
- Should we use
-
What's the cluster configuration?
- Where are monitors running?
- What's the cluster name?
- What's the authentication method?
Next Steps
- Run diagnostic commands to understand current state
- Identify root cause (keyring, connectivity, or configuration)
- Apply appropriate fix based on findings
- Retry OSD creation after fix
Last Updated: 2025-12-13
Status: 🔍 NEEDS DIAGNOSTIC INFORMATION