Live data from Hacker News

More random home lab things I've recently learned

chollinger.com

131–134 of 134 posts

Re: More random home lab things I've recently learned

#131
post #77

Earlier quoted context omitted.

I know, that's why I have my own "lab". I just don't get why most of other labs are so cookie-cutter proxmox + home assistant + (unifi controller) + pihole and there is always RPi somewhere next to a chunky server.

Because people have fun creating those sorts of setups. There are many tutorials for those setups, the hardware can be found relatively affordably, and it isn't something someone needs to have experience in enterprise networking to build. The purpose of the hobby is to have fun. If you aren't having fun, or if other people's fun is ruining your day, consider finding a new hobby. I suggest fly fishing. You could proba…

> You could probably use more vitamin D.

Nah, I get enough of that from being by the pool, managing my home lab.

Re: More random home lab things I've recently learned

#132
post #73

Earlier quoted context omitted.

> Primarily, docker isn't isolation. Where isolation is important, VMs are just better. Better how? What isolation are we talking about, home-lab? Multi-tenant environments for every family member? > Some software only runs in VMs. Like OS kernels and software not compiled for host OS? > Passing through displays, USB devices, PCI devices, network interfaces etc. often works better with a VM than with Docker. Insane t…

> Insane take because we're talking about binding something from /dev/ to a namespace, which is much easier and faster than any VM pass-through even if your CPU has features for that pass-through. Defining "works better" as quicker, simpler to set up, more intuitive, or similar... I'd still argue passing through a port rather than a device "works better". E.g., I essentially gave up trying to pass a Google Coral thro…

> handles disconnecting and reconnecting as you would expect, is resilient against whatever weird stuff the device does, upgrading or replacing the device, etc.

Exactly. The "insane take" - if its ever reasonable to say that - is to take on the burden of all the management logic oneself when its trivially avoidable. We will hopefully see better container orchestration UX for competing with the long established VM hypervisors in this respect.

Re: More random home lab things I've recently learned

#133
post #81

Earlier quoted context omitted.

> none single-thread performance (relatively) I find horizontal scaling with many smaller cores and lots of memory more impactful for virtualization workloads than heavy single core performance (which, fwiw, is pretty decent on these Xeon Golds). The biggest bottleneck is I/O performance, since I rely on SAS drives (since running full VMs has a lot of disk overhead), rather than SSDs, but I cannot justify the expense…

> It's possible you and I learn things very differently then (and I mean this a lot less snarky than it sounds). I built Raft from scratch in Scala 3 and that told me a lot about Raft and Scala 3, despite being utterly pointless as a product (it's on my website if you care to read it). I have the same experience with everything home lab / Linux / networking - I always learn something new. And I work for a networking…

> should be a systemd service

"should be" according to your goals. "should not be" according to mine:

1. run untrusted code in a reasonably secure way. i don't care how many github stars it has, i'm not rawdogging it. nor is my threat model mossad, so it doesn't have to be perfect. but systemd's default security posture is weak, hardening it is highly manual (vs. "run a VM"), and must be done per service to do properly (allowlist syscalls, caps, directory accesses, etc.).

2. minimize cost. it's orders of magnitude less costly for most people with the skills to run a homelab to:

   a) spend 50% more for compute & storage than a single hour of handwriting & tuning reasonably secure systemd services, wiring up dependencies, etc.

   b) build a backup and migration strategy once and reuse it for everything. this is technically possible with systemd, too, of course, but way more costly to setup.

   c) one single universal solution. practically everything will run in a VM. this is not true for systemd, esp. isolated systemd services.
if you want to optimize for "learn how to configure systemd", "learn how to hyperoptimize cpu usage", or whatever it may be then great. if other people aren't, they're not necessarily wrong, they may be choosing different tradeoffs. understanding this is an essential step in maturing as an engineer and human being. i truly mean this as encouragement - not rebuke. Otherwise i wouldn't have paid the relatively high cost in time to write it afterall :)

Re: More random home lab things I've recently learned

#134
post #112

Earlier quoted context omitted.

You seem knowledgeable so you may already know, but it's worth looking at the x86 mini PCs. Performance per watt has gotten pretty close on the newer low power CPUs (e.g. N150, unsure what AMD's line for that is), and performance per $ spent on hardware is way higher. I'm seeing 8GB Pi 5s with a power supply and no SD card for $100; you can get an N150 mini PC with 16GB of RAM and 500GB SSD pre-installed for like $16…

Used Intel 8th gen based mini PCs seem like a pretty good value. 100-150 bucks for a pc from a somewhat reputable brand (lenovo, dell, hp) with slightly better multi core than N150 and ~6W idle if you manage to get it to stay in C10. Some of them have a low profile pcie slot, like M720q and M920q. Also the CPU is socketed so you could technically upgrade it to e.g. i9-9900K, at least the M920q is known to take one as…

Update on power draw for anyone interested: measured with a cheap AC power meter, I get 2.8-4.2W idle with occasional jump to up to 8W on my M720q with i5-8400T, 16GB ram and a single nvme drive. This is on Debian 13 with ASPM enabled for everything and a few containers running (home assistant, esphome, bookstack, tailscale). According to powertop stats on C-states, it's mostly in package C9 and core C10.
Post reply on HN