XCP-ng on ODROID-H boards

Homelab May 12, 2023

In this article, we'll quickly explore the capabilities of the ODROID-H type boards and its seamless integration with XCP-ng, checking into its features, performance, and applications for home labs and edge computing projects.

Our board: ODROID-H2+

HardKernel's compact ODROID-H2 board may be small in size, but it packs a punch. Here's a glimpse of what's inside:

  • Intel Celeron J4115 4x cores @ 2.3Ghz (boost at 2.5Ghz)
  • Dual 2.5Gbit Ethernet
  • Additional features (HDMI 2, DP 1.2, 2x SATA 3.0, NVMe M.2 slot, up to 32GiB RAM on 2x slots)

In our test configuration, we utilized 32GiB RAM and a 500GiB NVMe M2 disk, providing ample space for a virtualization platform.

👆
Discontinued: Although the ODROID-H2+ is no longer in production, it remains available in select online stores for around €100. If you're looking for an upgraded option, check out the ODROID-H3+, featuring a more powerful CPU (Pentium Silver N6005, aka Jasper Lake) and up to 64GiB RAM!

XCP-ng 8.3 alpha 2

We chose XCP-ng 8.3 for this test because it includes recent drivers for the Celeron J processor and dual 2.5Gbit interfaces. The installation process is seamless, with support for all components out-of-the-box, including the dual 2.5Gbit NICs.

While the 4-core CPU may not be as fast as a Ryzen, it boasts a major advantage: low power consumption. Even during a storm boot phase with 10 VMs, the power draw remains under 10W!

Accessing the host via its embedded XO Lite:

In Xen Orchestra:

The visible instructions for the guest (Debian 11 with 2vCPUs and 2GiB RAM):

root@test1:/home/debian# lscpu 
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   39 bits physical, 48 bits virtual
CPU(s):                          2
On-line CPU(s) list:             0,1
Thread(s) per core:              1
Core(s) per socket:              2
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           122
Model name:                      Intel(R) Celeron(R) J4115 CPU @ 1.80GHz
Stepping:                        1
CPU MHz:                         1785.610
BogoMIPS:                        3571.22
Hypervisor vendor:               Xen
Virtualization type:             full
L1d cache:                       48 KiB
L1i cache:                       64 KiB
L2 cache:                        8 MiB
NUMA node0 CPU(s):               0,1
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Mitigation; PTI
Vulnerability Mmio stale data:   Not affected
Vulnerability Retbleed:          Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP disabled, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush acpi mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl cpuid tsc_known_
                                 freq pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand hypervisor lahf_lm 3dnowprefetch cpuid_fault pti ssbd ibrs ibpb stibp fsgsbase ts
                                 c_adjust smep erms rdseed smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves umip rdpid md_clea

Easily set up a firewall/router VM (such as pfSense or VyOS) with a virtual NIC in each network, utilizing both physical interfaces and customizing VLANs as needed. With a 10W power draw, you can efficiently run multiple VMs, including web servers, databases, and firewall VMs, while maintaining the isolation provided by Xen.

In addition to its suitability for home labs and edge computing projects, the ODROID-H boards paired with XCP-ng serve as an excellent target for Xen Orchestra incremental replication in remote locations. Its low power consumption, quiet operation, and resilience in dusty or less-than-ideal environments make it an ideal backup solution for small production sites, ensuring business continuity and peace of mind.

📦
An example on the edge computing: we have received inquiries about deploying XCP-ng and Xen Orchestra in specific locations to collect data "on the field." These solutions can be utilized for consolidating the gathered data, whether it's for transmitting to other locations or retaining it locally. Keep in mind that Xen Orchestra can serve as a centralized hub for managing all your remote sites!

Conclusion

The combo of ODROID-H boards (H2 or H3) and XCP-ng is just the ticket for those keen on exploring virtualization in a compact setup. With low energy consumption and loads of nifty features, it's a fantastic choice for home labs, edge computing adventures, and even as backup locations.

Tags

Olivier Lambert

Vates CEO & co-founder, Xen Orchestra and XCP-ng project creator. Enthusiast entrepreneur and Open Source advocate. A very happy Finnish Lapphund owner.