cluster / ceph
10 operations.
GET /cluster/ceph
proxmox.cluster.ceph.$get()Cluster ceph index.
Returns an array of object.
GET /cluster/ceph/flags
proxmox.cluster.ceph.flags.$get()get the status of all ceph flags
Returns an array of object.
PUT /cluster/ceph/flags
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
nobackfill | boolean | Backfilling of PGs is suspended. | |
nodeep-scrub | boolean | Deep Scrubbing is disabled. | |
nodown | boolean | OSD failure reports are being ignored, such that the monitors will not mark OSDs down. | |
noin | boolean | OSDs that were previously marked out will not be marked back in when they start. | |
noout | boolean | OSDs will not automatically be marked out after the configured interval. | |
norebalance | boolean | Rebalancing of PGs is suspended. | |
norecover | boolean | Recovery of PGs is suspended. | |
noscrub | boolean | Scrubbing is disabled. | |
notieragent | boolean | Cache tiering activity is suspended. | |
noup | boolean | OSDs are not allowed to start. | |
pause | boolean | Pauses read and writes. |
GET /cluster/ceph/flags/{flag}
proxmox.cluster.ceph.flags.$(flag).$get()Get the status of a specific ceph flag.
Returns boolean.
| Parameter | Type | Required | Notes |
|---|---|---|---|
flag | nobackfill | nodeep-scrub | nodown | noin | noout | norebalance | norecover | noscrub | … (3 more) | yes | The name of the flag name to get. |
PUT /cluster/ceph/flags/{flag}
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
flag | nobackfill | nodeep-scrub | nodown | noin | noout | norebalance | norecover | noscrub | … (3 more) | yes | The ceph flag to update |
value | boolean | yes | The new value of the flag |
GET /cluster/ceph/health-mute
proxmox.cluster.ceph["health-mute"].$get()Get the currently muted Ceph health checks.
Returns an array of object.
PUT /cluster/ceph/health-mute/{code}
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
code | string | yes | The health check to mute, as reported by 'ceph health', for example 'AUTH_INSECURE_CLIENT_KEY_TYPE'. — ≤ 64 chars |
sticky | boolean | Keep 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 | |
ttl | string | How long the mute lasts, for example '2h', '3d' or '1w'. Without it the mute has no expiry. Only used when muting. | |
value | boolean | yes | Whether to mute (true) or unmute (false) the check. |
GET /cluster/ceph/metadata
proxmox.cluster.ceph.metadata.$get()Get ceph metadata.
Returns object.
| Parameter | Type | Required | Notes |
|---|---|---|---|
scope | all | versions | Which 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
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
dry-run | boolean | Log the plan (which daemons would be restarted, in what order) without actually doing anything. — default 0 | |
force | boolean | Proceed 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-outdated | boolean | OSDs 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-type | mon | mgr | mds | osd | yes | Ceph daemon type to restart cluster-wide. |
timeout | number | Per-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
proxmox.cluster.ceph.status.$get()Get ceph status.
Returns object.