My process of converting my Framework server back into a laptop.
My wife needs an upgrade from her 2015 MacBook Pro, but shelling out a cool $1600 + tax for one of the shiny new M MacBooks for the 16GB variant hardly seems an ideal proposition now that Apple has relinquished consideration of its customers who would prefer to amortize upgrades over the lifespan of a machine. It seems that leaving the Mac platform is our only consumer-friendly option, which avoids fighting a losing battle with Apple w.r.t. upgradability.
👋 Framework has entered the chat.
Meanwhile, Framework seems to have upheld its promise of providing a path to long-term upgradability for its products. The new Ryzen mainboards being compatible with my original Framework 13 (2021) is an example of this. So at this point, I’m far more inclined to commit to the Framework ecosystem for my wife (and probably myself) than Apple.
Other than the initial non-trivial pain of migrating her from macOS to Windows, she should have a substantially better user-experience running all of the Adobe crapware she wants on my old Framework.
The only problem is that my entire home-lab currently runs on my Framework 😰.
🛒 time!
The Pledge
We’ll be using second-hand equipment as much as possible. After all, the point of all this is to avoid spending $1600 on a new laptop. So we should be well under that to make it worthwhile.
I picked these up from eBay:
Part | Price (shipped) |
---|---|
HP Z240 Workstation Intel Xeon 3.4GHz 16G RAM 180G SSD Nvidia K620 | $150 |
Mellanox ConnectX-2 PCIe x8 10Gbe SFP+ network card | $23 |
My Framework currently has 32GB of memory, and while this is much less, it will still be okay with my current utilization for my current workload.
One nice thing about this case is that it would be possible to rack-mount this workstation sideways on a standard rack shelf if I decided to go that route in the future.
Also, I don’t presently have 10Gb networking equipment at home to plug anything into that network card, but I’m getting it now for future-proofing.
IPMI would have been nice-to-have, but I decided that for this price, and the bonus of that Nvidia K620 was too good to pass up! This is an immediate upgrade from my current integrated Iris GPU on my Framework server.
All of my home-lab VMs, and LXC containers run within Proxmox. So I set up a fresh Proxmox here.
Fortunately for me, lspci
showed all the hardware on the first go.
But to use (pass-through) the Nvidia GPU in my guests,
I need to first set up the Proxmox host.
See my git repo for what I did to make this work.
The Turn
To make the migration of our services less painful, we utilize Proxmox’s migration features. We just need to make sure our nodes are part of a cluster.
Create the cluster on the old node. Then, from the new node, we join the existing cluster.
Proxmox 8 will not let a node with existing guests join a cluster.
The Prestige
Now it really is as easy as selecting a VM or an LXC container, hitting the Migrate button, and watching your guest fly away to the new node! For guests with large OS disks, it takes a little longer to copy over since my network is slow. Eventually, I will use Ceph-backed VM storage to make this a zero-downtime op.
In a few minutes, I could knock out all of my services. Refer to my gitlab project to see how I handled the Nvidia K60 pass-through to my Nextcloud AIO instance and Plex guests.
Here’s what my “rack” looks like now:
Once everything was back online, I powered down the old Framework server and re-installed it back onto its laptop chassis, bought a W10 license, and finished the rest of the installation.