aboutsummaryrefslogtreecommitdiff
path: root/post/framework-server-p2.typ
diff options
context:
space:
mode:
authorKumar Damani <me@kumardamani.net>2026-07-24 04:29:08 +0000
committerKumar Damani <me@kumardamani.net>2026-07-24 04:29:08 +0000
commit3d615f7b4c19abf34f23ff09ea587a597f2de42a (patch)
tree10a0e4c3e0fa2c9b0254bb1826ae89f67fbc7df0 /post/framework-server-p2.typ
parent62fcd12a0a1ea557334dec1fa0cfdce69d003bd8 (diff)
converted to typst
Diffstat (limited to 'post/framework-server-p2.typ')
-rw-r--r--post/framework-server-p2.typ104
1 files changed, 104 insertions, 0 deletions
diff --git a/post/framework-server-p2.typ b/post/framework-server-p2.typ
new file mode 100644
index 0000000..e40b8e7
--- /dev/null
+++ b/post/framework-server-p2.typ
@@ -0,0 +1,104 @@
+#import "/global/common.typ": *
+
+#let doc = [
+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.
+
+#quote(block: true)[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
+#pagelink("post/framework-server")[runs on my Framework].*
+
+Time to go shopping!
+
+= 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:
+
+#fig("framework-server-p2/server-front.png", alt: "server front")
+#fig("framework-server-p2/ethernet.png", alt: "ethernet adapter")
+
+#table(
+ columns: 2,
+ [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],
+)
+
+#quote(block: true)[
+ 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.
+
+#fig("framework-server-p2/server-inside.png", alt: "server inside")
+
+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.
+
+#quote(block: true)[
+ 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:
+
+#fig("framework-server-p2/current-lab.jpg", alt: "current lab")
+
+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.
+]