How to remove a machine

If you want to remove a machine from the MicroCloud cluster after the initialisation, use the microcloud remove command:

sudo microcloud remove <name>

Before removing the machine, ensure that there are no LXD instances or storage volumes located on the machine, and that there are no MicroCeph OSDs located on the machine.

See how to remove instances in the LXD documentation. See how to remove OSDs in the MicroCeph documentation.

Note

If local storage was created, MicroCloud will have also added some default storage volumes that will need to be cleaned up:

lxc config unset storage.images_volume --target <name>
lxc config unset storage.backups_volume --target <name>
lxc storage volume delete local images --target <name>
lxc storage volume delete local backups --target <name>

Any additional storage volumes belonging to this machine must also be deleted before removal without the --force flag.

If the machine is no longer reachable over the network, you can also add the --force flag to bypass removal restrictions and skip attempting to clean up the machine. Note that MicroCeph requires --force to be used if the remaining cluster size will be less than 3.

Caution

Removing a cluster member with --force will not attempt to perform any clean-up of the removed machine. All services will need to be fully re-installed before they can be re-initialised. Resources allocated to the MicroCloud like disks and network interfaces may need to be re-initialised as well.

Reducing the cluster to 1 machine

When shrinking the cluster down to 1 machine, you must also clean up the Ceph monmap before proceeding, even when using the --force flag.

sudo microceph.ceph mon remove <name>
sudo microceph cluster sql "delete from services where member_id = (select id from core_cluster_members where name='<name>') and service='mon'"
sudo microcloud remove <name> --force

If the machine is no longer reachable and Ceph is no longer responsive, see the Ceph documentation for more recovery steps.