Remove a server from the cluster for good

Use this when a server is retired, replaced, or reinstalled, and it can still be reached. Empty it, remove what is left on it, then remove the member.

A server that is down and will not come back is a different case. Apelora does not remove an unreachable member, because Incus can only force that. See A server fails.

The names in the picture are examples.

Empty it

Evacuate the member first. See Maintenance on a server. Incus moves instances away. An instance whose volumes are on this member stops in place and stays there.

Move or delete what is left

The removal check lists instances still on the member, and application volumes recorded on it. Copy a volume you need to keep:

incus storage volume export <pool> <volume> <file>

Then remove the module from its design and delete the kept volume. See An application's volumes.

Check and remove

In Fabric Console, open Servers → Members and choose Remove… on the evacuated member. The check runs again. Removal is refused while anything is left on the member, while the member is not evacuated or not reachable, or when it is the only member.

Read the warnings. They name a cluster that would keep fewer than three database members, and replicas that would have fewer servers to spread over.

Remove node-4 from the cluster dialog. Warnings say the cluster would keep 2 database members, 2 members would remain for replicas, and the server must be reinstalled and enrolled to be used again. The name node-4 is typed and Remove member is available.

Type the member's name and choose Remove member.

The same check and removal from the API. API is the control plane, and TOKEN is an API token:

curl -sS -H "Authorization: Bearer $TOKEN" \
  "$API/api/v1/cluster/members/node-4/removal"
curl -sS -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"confirm":"node-4"}' \
  -X POST "$API/api/v1/cluster/members/node-4/remove"

This needs cluster.manage and the admin identity. It is audited as cluster.member.remove.

Afterwards

The machine record shows left. Incus resets the removed server to a standalone server. To use it again, approve the machine and enrol it. See Add a server to the cluster. Reinstall it first when the hardware was replaced or repaired.

Before you rely on it

  • Removing a server that holds a database role (a voter) from the Console has not been tried yet. Check the warnings, and keep at least three database members.

This page is a copy of docs/runbooks/member-removal.md in the repository, which is the source of truth. Suggest a change.