Architecture Overview
Mesh Hypervisor is a distributed hypervisor based on Alpine Linux, designed to manage a cluster of diskless servers for virtualization. It uses a single central orchestration node to boot and configure remote nodes over a network. This section provides a high-level view of the system’s structure and primary components.
System Structure
Mesh Hypervisor consists of two main parts:
- Central Orchestration Node: A system booted from a flash drive, hosting all control services and configuration data.
- Remote Nodes: Diskless servers that boot from the central node and run workloads (currently KVM virtual machines).
The central node drives the system, distributing boot images and configurations to remote nodes, which operate as a unified cluster.
graph TD A[Central Orchestration Node<br>Flash Drive] -->|Boots| B[Remote Node 1] A -->|Boots| C[Remote Node 2] A -->|Boots| D[Remote Node N] B -->|Runs| E[Workload: KVM] C -->|Runs| F[Workload: KVM] D -->|Runs| G[Workload: KVM]
Core Components
- Flash Drive Image: The central node runs from a 7 GB Alpine Linux image, embedding Mesh Hypervisor software and a package mirror.
- Network Booting: Remote nodes boot via PXE, fetching their OS from the central node without local storage.
- Configurations: Node-specific setups are delivered as Alpine APKOVLs, tied to hardware UUIDs for consistency.
- Workloads: KVM virtual machines execute on remote nodes, managed via CLI from the central node.
Basic Flow
- The central node boots from the flash drive and starts network services.
- Remote nodes boot over the network, using configurations from the central node.
- Workloads launch on remote nodes as directed by the central node.
Design Notes
Mesh Hypervisor emphasizes minimalism and determinism:
- Diskless remote nodes reduce hardware dependencies.
- A single control point simplifies management.
- Networking adapts to detected topology (details in Networking).
For deeper dives, see Central Orchestration Node, Remote Nodes, Networking, and Workloads.