惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
The Cloudflare Blog
J
Java Code Geeks
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
L
LangChain Blog
Recent Announcements
Recent Announcements
Hugging Face - Blog
Hugging Face - Blog
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
V
V2EX
I
InfoQ
博客园 - 司徒正美
T
The Blog of Author Tim Ferriss
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
H
Help Net Security
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题
B
Blog RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

OneUptime Blog

How to Monitor Azure App Services (PaaS) with OpenTelemetry Grafana Stack vs OneUptime: DIY Observability or Unified Platform? Your AI Workloads Are About to Blow Up Your Observability Bill The Great Observability Consolidation Is Here How to Write Custom Object Classes for Ceph How to Write Custom Ceph Manager Modules How to Write a ceph.conf Configuration File How to Use Rook-Ceph with OpenShift How to Use Rook-Ceph with Longhorn for Comparison How to Configure Volume Snapshot Class for RBD in Rook How to Configure VolumeReplicationClass Scheduling Intervals in Rook How to Set Up Volume Replication with Rook-Ceph How to Create Volume Group Snapshots with Rook CSI How to Visualize Ceph Network Performance in Grafana How to Enable Virtual Host-Style Bucket Access in Rook How to View Runtime Configuration via Admin Socket How to View Quota Settings and Update Stats in Ceph RGW How to View PG Scaling Recommendations with autoscale-status How to View PG Distribution via Admin Socket How to View Performance Metrics in the Ceph Dashboard How to View OSD Performance Counters in Ceph How to View Connection Status via Admin Socket How to View Ceph Cluster Summary Dashboard via CLI How to Version Control Rook-Ceph Configuration How to Version Control Ceph Infrastructure with Terraform How to Verify Kubernetes Node Requirements for Rook-Ceph Deployment How to Verify Health Before and After Rook Upgrades How to Verify Data Integrity with Deep Scrubbing How to Verify Complete Rook-Ceph Cleanup How to Verify Backup Integrity from Ceph Snapshots
How to Understand the OSD Map in Ceph
Nawaz Dhandala · 2026-03-31 · via OneUptime Blog

The OSD map is one of the core cluster maps that Ceph monitors maintain and distribute to all cluster daemons and clients. It records the current state of every OSD and drives placement group (PG) calculations.

What the OSD Map Contains

The OSD map stores:

  • The cluster FSID
  • The epoch number (incremented on every change)
  • All OSD entries with their state (up/down, in/out) and weight
  • CRUSH device class assignments
  • Blocklisted client addresses
  • Cluster-wide OSD flags (noout, nobackfill, etc.)

Viewing the OSD Map

Print a human-readable dump:

ceph osd dump

View only the OSD state tree:

ceph osd tree

Get the current epoch:

ceph osd dump | grep epoch

Exporting the Binary OSD Map

ceph osd getmap -o /tmp/osdmap.bin
osdmaptool --print /tmp/osdmap.bin

This is useful for offline analysis or when comparing two epochs.

Comparing Epochs

To understand what changed between epochs:

ceph osd dump --format json | jq '.epoch'
ceph mon dump | grep -i "epoch"

Fetch a specific historical epoch:

ceph osd getmap <epoch> -o /tmp/osdmap-old.bin
osdmaptool --print /tmp/osdmap-old.bin

OSD Flags in the Map

OSD flags are stored in the map and affect cluster behavior globally:

ceph osd dump | grep flags

Common flags and their effect:

FlagEffect
nooutOSDs will not be marked out when they go down
nobackfillDisables backfilling PGs to new OSDs
norecoverStops object recovery
pauseStops all client I/O

How Clients Use the OSD Map

When a client wants to write an object, it:

  1. Hashes the object name to a PG ID
  2. Looks up the OSD map to find which OSDs own that PG
  3. Connects directly to those OSDs

This means that every map update (new epoch) propagates to clients and OSDs, and stale maps can cause client I/O errors.

Checking for Map Propagation Issues

ceph health detail | grep -i "map"
ceph osd stat

If OSDs are behind on map epochs, they log warnings and may refuse operations.

Summary

The Ceph OSD map is the authoritative record of OSD states and flags that drives placement group location for every I/O operation. Understanding how to read and compare OSD map epochs helps diagnose cluster state changes, flag settings, and client connectivity issues during incidents.