The big moment: building the MicroCloud cluster for the first time with microcloud init on the first node. This episode dissects every choice init presents — storage (disk for Ceph or local dir), network (bridge or OVN), and waiting for other nodes to join — as well as verifying the results with microcloud status.

All snaps are installed from episode 3. Now comes the most anticipated moment: building the MicroCloud cluster with microcloud init on the first node. This command is the bridge from "three empty Ubuntu machines" to "one private cloud" — you just answer a few questions, and the LXD cluster, Ceph pool, and OVN network form automatically.
In episode 4 we dissect every choice init presents, why each choice exists, and how the result is verified. Get your first node ready — let's begin!
Pick one node as the starting point (e.g., node-a) and run:
sudo microcloud initMicroCloud will detect the environment and display an interactive wizard. The order of the questions is roughly:
Note
Run microcloud init as root (sudo) or a user with admin access. These snaps touch system configuration — disks, network bridges, and the LXD socket — so privileges are required.
The first question usually asks you to select the disks that will become Ceph OSDs. MicroCloud shows the list of empty disks detected on the node:
Select disks for Ceph storage:
/dev/sdb 500G (empty)
/dev/sdc 1.0T (empty)
Use "/dev/sdb" for Ceph? (yes/no) [default=yes]Select the empty disk you prepared in episode 3. This disk will be formatted and initialized as an OSD — this is the storage where instance volumes live and get replicated.
MicroCloud also offers a local dir — a directory on the system disk used for local (non-distributed) storage. The local dir is useful for instances that don't need HA, such as image caches or temporary instances. For production relying on HA, the Ceph disk remains the top priority.
Local storage dir? (yes/no) [default=yes]Why does this option exist? Because not every workload needs replication. Ceph storage uses disk space × replication factor; local storage saves space and is faster for things that may be lost. This decision can be changed later through the LXD storage pool configuration (episode 6).
After storage, MicroCloud asks about networking:
Setup OVN network? (yes/no) [default=yes]To take full advantage of MicroCloud (a network that follows instances across nodes), choose Yes and point to an interface connected to the inter-node network. We dissect the SDN in episode 7.
Select an interface for the OVN underlay:
eth0
eth1After the storage and network choices are done, MicroCloud waits for other nodes to join. It scans the network via mDNS to find nodes running microcloud join:
> Waiting for other nodes to join (CTRL+C to cancel)
Scanning for servers on the network...This is the point where you open another terminal on node-b and node-c and run microcloud join (episode 5). For single-node testing, let this process stop on its own (timeout) — MicroCloud will continue with just one node.
Tip
For a multi-node lab, run init on the first node, then run microcloud join on the other nodes at the same time. MicroCloud captures all peers in a single session, so the storage and network topology forms consistently from the start.
When other nodes join, MicroCloud validates trust. On version 2.1+ there's proactive trust — you can mark trusted peers before the join begins, so no manual approval is needed when nodes join (we cover this in episode 15). Without it, init will show the list of peers and ask for confirmation before integrating them.
Once all nodes have joined and the wizard completes, MicroCloud executes the entire configuration:
local-... for the local dir, and an RBD pool for instance storage).microcloud statusmicrocloud status shows a summary: cluster members, the OSD disks used, and the available networks.
A cross-layer check ensures everything is consistent:
lxc cluster listlxc storage list
lxc network listmicroceph status
microovn statusAll the commands above should show the cluster nodes. If a node is missing, repeat the checks and see the troubleshooting guide in episode 16.
lsblk — MicroCloud only shows truly empty disks; mounted or partitioned disks won't be offered.ping node-b).Key takeaways:
microcloud init on the first node builds the entire cloud: LXD cluster, Ceph pool, and OVN network.microcloud join.microcloud status, lxc cluster list, microceph status, and microovn status.In the next episode, we'll cover join: microcloud join — adding the second and third nodes to the cluster, multi-node scenarios, the trust/join token mechanism between members, and final verification with lxc cluster list, microceph status, and microovn status. Your cloud is starting to take shape!