This week, I finally bit the bullet and picked up a Minisforum MS-01. I’m super pleased with this as a compute node, leaps and bounds more than the Framework Mainboard compute node (I’m actually thinking about selling it and getting a second MS-01
).
The MS-01 can connect both to my 1G and 10G network, but I’m bound to a single 1G connection on the Framework node. I really wanted to enable faster migration however. I then remembered that Wendell @ Level 1 showcased setting up a ring topology using Thunderbolt. While his findings are that it’s a little flaky on the AMD side, it seems like it’s perfectly serviceable on Intel platforms. I went about giving this a shot with a spare Thunderbolt 4 class cable I had on hand.
I followed the steps in this guide to get my Thunderbolt interfaces up and running: Thunderbolt Networking Setup · GitHub. It was a little finicky to get going (I went a little off-script, and in doing so missed some steps, be sure to pay close attention to what’s actually going on if you’re going to customize things) but after a bit of tinkering, everything was going smoothly.
Doing some iperf3 testing, I was able to get about 8 Gbit throughput with zero TCP retransmits, and a solid 16 Gbit with a very small amount of TCP retransmits (<300). This seemed good enough for me, especially since this is primarily used for schlepping VMs and LXC containers between servers. After getting the cluster set up (using Corosync QDevices to allow for a witness between two nodes, thanks @TheMM for putting that bug in my brain!), I was able to get real world transfers between nodes at 4-16 Gbit (I expect I was losing throughput on the compression, not the link).
The new infra has a ways to go to be fully “prod ready”, but I’ve been getting some essentials (like adding HA to the internal DNS cluster, along with moving Plex back from my old 7-series Intel chip to the MS-01, to take advantage of all the significant QuickSync upgrades.