edgeLinux OS Architecture
edgeLinux OS is a type-1 hypervisor, specialized for the needs of antsle®.
We use a custom-built Linux kernel, created with gentoo. Most popular Linux distributions, such as Ubuntu or CentOS, use a so-called generic kernel by default. That makes these distros run on a wide variety of hardware out of the box. However, these generic kernels are compiled for the least common denominator of your hardware architecture, and do not make use of any special instructions your specific CPU has. Also, generic kernels carry with them a wide spectrum of device drivers and kernel extensions that you most often don’t need.
In order to overcome these drawbacks, the edgeLinux OS kernel is compiled specifically for what is needed in antsle. We use every aspect of the sophisticated instruction set of the Intel Avoton CPU (silvermont architecture), support everything that’s needed for edgeLinux OS’ advanced virtualization needs, and carry zero overhead on top of that. The result is a blazing fast hypervisor.
edgeLinux OS supports two types of virtualization to create your antlets. While each antlet is a complete Virtual Private Server (VPS), LXC antlets use OS-based virtualization, a.k.a. containerization (popularized by docker), whereas KVM antlets use hardware-based virtualization with QEMU and KVM. For most cases, use LXC-based antlets because they create the least overhead and save resources including electricity. In that way, your antsle is a green datacenter.
For storage, we use mirrored ZFS pools. ZFS is an advanced, feature rich file system designed to never allow any data loss or inconsistent state on the storage media. Combined with mirroring, our ZFS-based storage architecture offer excellent fault-tolerance and flexibility. We just thought your data is important – so we better keep it safe.
We use a ZFS pool (zpool) named “antlets” to store your antlets as well as the templates the antlets are created from. Try a
zfs list or
zfs list -t all to inspect the layout of ZFS file systems. The HDD add-on resides on a separate zpool named
Each antlet gets its own ZFS file system in the antlets pool, so it’s completely separated from the rest of the system (including other antlets). Mirroring, compression etc is all handled by ZFS inside edgeLinux OS and is completely transparant to the antlets themselves. In plain English: each and every antlet gets isolation, mirroring and compression for free, without having to take care of it in any way.
Internal IP address assignment
We have an integrated, internal DHCP server in edgeLinux OS, and each antlet will pull it's IP address from that DHCP server - unless you create a bridge. This DHCP server will assign IP addresses based on Mac addresses:
b2:61:6e:73:6c:0a will receive 10.1.1.10 b2:61:6e:73:6c:0b will receive 10.1.1.11 b2:61:6e:73:6c:0c will receive 10.1.1.12 b2:61:6e:73:6c:0d will receive 10.1.1.13 ...
In our pre-defined templates, we're always using those Mac addresses, and through our template XMLs we make sure that one of these MACs will be assigned.