This episode tests your cloud's resilience: how the LXD cluster reschedules instances when a node goes down, how Ceph replication keeps data safe, and a hands-on drill simulating a dead node to verify automatic recovery. This is the true HA test.

In episode 8 we deployed instances and VMs. But a reliable cloud isn't just able to run workloads — it must survive when a node dies. In episode 9 we test high availability: how the LXD cluster reschedules instances, how Ceph protects data, and how you verify automatic recovery through a node-down simulation.
A fitting analogy: HA is a colony of ants regenerating. If one ant (node) dies, the colony (cluster) doesn't panic — workers (instances) that lost their nest are relocated, food reserves (Ceph replication) stay stored in other nests, and the queen (quorum) keeps decisions valid. What you learn today is how this colony's "instinct" works technically.
MicroCloud's HA works at two complementary layers:
node-a down ──► LXD: mark offline, reschedule instance
Ceph: salinan data tetap ada di node-b/c
OVN: IP instance tetap valid via overlayWithout either layer, HA is incomplete: LXD could move an instance but there's no data at the destination (local storage), or Ceph is safe but instances aren't automatically rescheduled.
An LXD cluster uses quorum to make decisions. With 3 nodes:
Odd numbers (3, 5) are chosen for maximum failure tolerance: 3 nodes tolerate 1 failure, 5 nodes tolerate 2 failures. This is why "a cloud inside 3 nodes" is MicroCloud's magic number.
Before simulating a failure, make sure instances use Ceph storage (the remote pool) and the OVN network:
lxc list
lxc config show c1 | grep -E "pool|network"All instances we want to test must be Ceph-based. Instances on local storage will die along with their node — that's intentional behavior.
Simulate a failure by shutting down one of the nodes where an instance runs. From another node or the physical host:
sudo poweroffOr for a subtler simulation, only stop its LXD daemon:
sudo snap stop lxdFrom node-a, watch how the cluster responds:
lxc cluster list+--------+---------+----------------------+--------+-----------+---------+
| NAME | STATUS | ADDRESS | ROLES | MESSAGE | ...
+--------+---------+----------------------+--------+-----------+---------+
| node-a | ONLINE | 192.168.1.10:8443 | leader | |
| node-b | OFFLINE | 192.168.1.11:8443 | | Unavailable |
| node-c | ONLINE | 192.168.1.12:8443 | | |
+--------+---------+----------------------+--------+-----------+---------+LXD marks node-b as OFFLINE and starts rescheduling movable instances:
lxc listInstances that were LOCATION: node-b will appear with the STOPPED status and then be scheduled to node-c or node-a (for system containers; VMs with certain configs can be migrated statefully). The data stays intact because it's stored in Ceph.
Important
Note the difference: a system container on an LXD cluster with Ceph storage will reboot on another node automatically (usually fast). VM live migration needs stateful configuration and isn't the default for every case. Don't expect every instance to move without interruption — plan for a short downtime for restart, unless you configure stateful migration.
When node-b comes back to life, the LXD cluster detects it and marks it ONLINE again:
lxc cluster listCeph also heals itself — the returning node-b OSD will participate in re-replicating any data that was lost (recovery). During this process, ceph -s shows recovery and a temporary HEALTH_WARN.
ceph -slxc list
lxc exec c1 -- df -h /All instances must stay alive with intact data — proof that Ceph replication works.
A set of drills you should run in your lab:
lxc move --target while the node is alive → observe zero-downtime.Drill number 4 is the most important to understand: losing quorum halts decisions, not destroys data. Once a node returns, the cluster recovers itself.
lxc info --resources per node.Key takeaways:
In the next episode, we'll cover snapshots, backups & restore — lxc snapshot c1 snap1, storage pool snapshots, RBD snapshots in Ceph, lxc export/import, and backup integrations like restic and Proxmox Backup Server inside a VM. Your data will have a safety net!