






















The remapped PG state means the CRUSH algorithm has calculated a new set of OSDs for the PG (the up set), but the PG has not yet finished migrating to those OSDs (the acting set still points to the old locations). Remapping is a transitional state that precedes backfilling.
Ceph maintains two OSD lists for each PG:
up set: the OSDs CRUSH currently assigns the PG toacting set: the OSDs actually hosting the PG right nowWhen these differ, the PG is remapped. Backfill brings the acting set in line with the up set.
ceph pg stat | grep remapped
# Detailed list
ceph pg dump | grep remapped
# For a specific PG
ceph pg <pg-id> query | jq '{state: .state, up: .up, acting: .acting}'# Check if CRUSH map recently changed
ceph osd dump | grep epoch
ceph osd dump --format json | jq '.epoch'The most common combined state is active+remapped+backfilling. This means:
active+clean when backfill completesceph pg dump | awk '{if ($16 ~ /remapped/) print $1, $16}' | head -20If a PG is active+remapped but NOT backfilling, backfill may be queued (backfill_wait) due to the osd_max_backfills limit:
ceph pg dump | grep "remapped" | grep -v "backfill"Check the backfill limit:
ceph config get osd osd_max_backfillsIncrease it to allow more concurrent backfills:
ceph config set osd osd_max_backfills 3If PGs stay remapped for a long time without making progress:
ceph health detail | grep "stuck"
# Check if nobackfill is set
ceph osd dump | grep flags
# Check if target OSD is too full
ceph df | grep -E "OSD|%"Remapped PGs read from and write to the current acting set. Client I/O is not impacted by remapping - the cluster handles the redirection transparently.
ceph pg dump --format json | jq '.pg_stats[] | select(.up != .acting) | {pgid, up, acting}'The remapped PG state indicates a mismatch between where CRUSH wants the PG and where it currently lives. It is a normal transitional state that occurs whenever the CRUSH map changes due to OSD additions, removals, or weight changes. It resolves automatically as backfill completes. If remapped PGs are not making progress, check for nobackfill flags, osd_max_backfills limits, or OSDs that are too full to accept data.
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。