Skip to content

cluster / ceph ​

10 operations.

GET /cluster/ceph ​

ts
proxmox.cluster.ceph.$get()

Cluster ceph index.

Returns an array of object.

GET /cluster/ceph/flags ​

ts
proxmox.cluster.ceph.flags.$get()

get the status of all ceph flags

Returns an array of object.

PUT /cluster/ceph/flags ​

ts
proxmox.cluster.ceph.flags.$put()

Set/Unset multiple Ceph flags at once. Each flag is a top-level optional boolean: passing true sets the flag, false unsets it, omitting it leaves the current state untouched. Runs as a worker task; returns a UPID to follow.

Returns string.

ParameterTypeRequiredNotes
nobackfillbooleanBackfilling of PGs is suspended.
nodeep-scrubbooleanDeep Scrubbing is disabled.
nodownbooleanOSD failure reports are being ignored, such that the monitors will not mark OSDs down.
noinbooleanOSDs that were previously marked out will not be marked back in when they start.
nooutbooleanOSDs will not automatically be marked out after the configured interval.
norebalancebooleanRebalancing of PGs is suspended.
norecoverbooleanRecovery of PGs is suspended.
noscrubbooleanScrubbing is disabled.
notieragentbooleanCache tiering activity is suspended.
noupbooleanOSDs are not allowed to start.
pausebooleanPauses read and writes.

GET /cluster/ceph/flags/{flag} ​

ts
proxmox.cluster.ceph.flags.$(flag).$get()

Get the status of a specific ceph flag.

Returns boolean.

ParameterTypeRequiredNotes
flagnobackfill | nodeep-scrub | nodown | noin | noout | norebalance | norecover | noscrub | … (3 more)yesThe name of the flag name to get.

PUT /cluster/ceph/flags/{flag} ​

ts
proxmox.cluster.ceph.flags.$(flag).$put()

Set or clear (unset) a specific Ceph flag. Runs synchronously (unlike the bulk PUT /cluster/ceph/flags endpoint, which forks a worker task).

Returns nothing.

ParameterTypeRequiredNotes
flagnobackfill | nodeep-scrub | nodown | noin | noout | norebalance | norecover | noscrub | … (3 more)yesThe ceph flag to update
valuebooleanyesThe new value of the flag

GET /cluster/ceph/health-mute ​

ts
proxmox.cluster.ceph["health-mute"].$get()

Get the currently muted Ceph health checks.

Returns an array of object.

PUT /cluster/ceph/health-mute/{code} ​

ts
proxmox.cluster.ceph["health-mute"].$(code).$put()

Mute or unmute a Ceph health check. A muted check no longer counts towards the cluster status, but stays visible and keeps being evaluated.

Returns nothing.

ParameterTypeRequiredNotes
codestringyesThe health check to mute, as reported by 'ceph health', for example 'AUTH_INSECURE_CLIENT_KEY_TYPE'. — ≤ 64 chars
stickybooleanKeep the mute even when the check gets worse. Without this a mute clears itself as soon as the number of affected items grows, which brings the check back to attention. Only used when muting. — default 0
ttlstringHow long the mute lasts, for example '2h', '3d' or '1w'. Without it the mute has no expiry. Only used when muting.
valuebooleanyesWhether to mute (true) or unmute (false) the check.

GET /cluster/ceph/metadata ​

ts
proxmox.cluster.ceph.metadata.$get()

Get ceph metadata.

Returns object.

ParameterTypeRequiredNotes
scopeall | versionsWhich metadata facet to return: 'all' enriches the per-daemon metadata with the PVE-side service state (presence of unit, data directory), 'versions' collects only per-node Ceph binary version data. — default "all"

POST /cluster/ceph/restart-bulk ​

ts
proxmox.cluster.ceph["restart-bulk"].$post()

Cluster-wide rolling restart of all Ceph daemons of the given type. For MON/MGR/MDS each daemon is restarted only after Ceph reports the previous one is back up and the next one is safe to stop. For OSDs the cluster path orchestrates the per-node endpoint at /nodes/{node}/ceph/restart-bulk on each node in turn, inheriting that endpoint's per-OSD 'noout' handling and resume support. The 'noout' flag itself is not exposed by this endpoint as it is OSD-specific (and for OSDs handled by the per-node sub-tasks).

Returns string.

ParameterTypeRequiredNotes
dry-runbooleanLog the plan (which daemons would be restarted, in what order) without actually doing anything. — default 0
forcebooleanProceed past a HEALTH_WARN with non-benign checks like PG_DEGRADED, SLOW_OPS, or MON_DOWN. A blocking HEALTH_ERR is fatal regardless of this flag. Checks that ceph reports as muted, and checks known to be harmless for a rolling restart, never block and are named in the task log. The cluster-wide OSD map flags are only ever evaluated for an OSD restart, since they govern nothing a mon, mgr or mds restart touches. The operator is responsible for confirming the cluster is stable enough to absorb a rolling restart. — default 0
only-outdatedbooleanOSDs only: restart only OSDs whose running version differs from the locally-installed ceph-osd binary on their host. Forwarded to each per-node sub-task so the per-host installed version is used (a partial upgrade where one host is on a newer build is handled correctly). — default 0
service-typemon | mgr | mds | osdyesCeph daemon type to restart cluster-wide.
timeoutnumberPer-daemon timeout (in seconds) for the up-wait phase. Note: for daemons on remote nodes the same timeout also bounds the remote restart task, so the per-daemon budget can be up to 2x this value. Default sized for slow MDS journal replay or MON paxos settle on busy clusters; bump higher if the cluster routinely takes longer to stabilize after a daemon restart. — min 30, max 1800, default 600

GET /cluster/ceph/status ​

ts
proxmox.cluster.ceph.status.$get()

Get ceph status.

Returns object.