aboutsummaryrefslogtreecommitdiff
path: root/content/blog
diff options
context:
space:
mode:
Diffstat (limited to 'content/blog')
-rw-r--r--content/blog/2026-07-30-10gbps.org249
1 files changed, 249 insertions, 0 deletions
diff --git a/content/blog/2026-07-30-10gbps.org b/content/blog/2026-07-30-10gbps.org
new file mode 100644
index 0000000..8be8338
--- /dev/null
+++ b/content/blog/2026-07-30-10gbps.org
@@ -0,0 +1,249 @@
+#+date: [2026-07-30 Thu 17:14:00]
+#+title: Upgrading My Homelab to 10 Gbps
+#+description: Moving my homelab off 1 Gbps and onto a 10 Gbps backbone.
+#+slug: 10gbps
+#+filetags: :self-hosting:
+
+* Why 10 Gbps?
+
+The short answer: fiber finally became available at my current residence, so I
+jumped on it immediately.
+
+The slightly longer answer is that I'd previously enjoyed proper 1 Gbps fiber,
+but for a while now I'd been stuck limping along on "1 Gbps" cable from Cox
+that, in reality, often crawled along at 100 Mbps regardless of what I did to
+fix it. New modem, new cables, different ports, calls to support - nothing
+mattered. It ran at whatever speed it felt like that day.
+
+So when [[https://fiber.google.com][Google Fiber]] showed up in my neighborhood, I ordered the 8 Gbps package
+immediately. I'll upgrade to their 10 Gbps package the moment it's released, but
+I'm not exactly suffering in the meantime.
+
+A quick note on the title before we go further: my /internet/ is 8 Gbps for now,
+but this post is really about rebuilding my /internal/ network to 10 Gbps end to
+end. The WAN is just the excuse to upgrade everything.
+
+#+caption: My WAN status over the past month.
+#+attr_html: :alt A chart of my WAN status and activity over the past month.
+https://img.cleberg.net/blog/20260730-10gbps/wan_history.webp
+
+In the screenshot above, you can see that Google Fiber was installed on 7/20 and
+UniFi entered WAN failover mode (the blue bar) and then I unplugged Cox on 7/22,
+resulting in the green Google Fiber bar.
+
+As you can also see, Cox was a /train wreck/ - cycling between yellow
+(disconnections, lag, etc.) and red (no internet connection) for the previous
+month.
+
+* What I Was Running Before
+
+Nothing exotic. My network was built entirely on 1 Gbps gear:
+
+- A 24-port UniFi switch in the rack.
+- Two 8-port UniFi switches serving other rooms.
+- A Cox "1 Gbps" WAN that, as mentioned, frequently delivered closer to 100
+ Mbps.
+
+It worked. For years, it was more than enough - I've written before about how my
+[[https://cleberg.net/blog/homelab-maintenance.html][homelab basically maintains itself]], and the network was no exception. But once I
+had real bandwidth coming into the house, 1 Gbps internally became the
+bottleneck instead of the ISP.
+
+As a result, I installed the hardware I'll list in the next section. You can see
+the 10G connections in blue and the 1G connections in green.
+
+#+caption: My homelab infrastructure.
+#+attr_html: :alt A network diagram of my homelab infrastructure.
+https://img.cleberg.net/blog/20260730-10gbps/infrastructure.webp
+
+* The Hardware
+
+Everything here is UniFi. I'm already knee-deep in the ecosystem, and at this
+point fighting it would cost me more time than it's worth. Staying in one
+platform means everything shows up in a single controller and I don't have to
+think about it - which is exactly how I like my homelab.
+
+#+caption: My homelab rack.
+#+attr_html: :alt A photo of my homelab rack of UniFi gear.
+https://img.cleberg.net/blog/20260730-10gbps/rack.webp
+
+This rack shows:
+- UDM Pro router.
+- 10G 24-port switch.
+- Switch panel with keystone jacks.
+- 1G 24-port switch.
+- My server.
+
+This is *before* the Google Fiber installation, so you can see that the WAN RJ45
+port is in use on the UDM Pro instead of the SFP+ port.
+
+I also removed the old 1G switch after this picture and plan to sell it. I just
+didn't want to box it up quite yet when I took this photo.
+
+** Switch
+
+Two switches did the heavy lifting for the upgrade:
+
+- [[https://store.ui.com/us/en/category/switching-professional-max-xg/products/usw-pro-hd-24-poe?variant=usw-pro-hd-24-poe][USW Pro HD 24 PoE]]: the new core switch in the rack, replacing my old 1 Gbps
+ 24-port unit.
+- [[https://store.ui.com/us/en/category/switching-utility/products/usw-pro-xg-8-poe?variant=usw-pro-xg-8-poe][USW Pro XG 8 PoE]]: a smaller 10G switch serving another room, replacing one of
+ the old 8-port units.
+
+** NICs
+
+Neither of my two most important machines shipped with 10G, so both needed a new
+network card:
+
+- *Windows gaming PC*: an Intel X520-DA1, a 10G SFP+ card.
+- *Server*: an Intel X710-DA2, a dual-port 10G SFP+ card.
+
+Both are enterprise Intel cards you can find used for very little money, which
+is half the reason I went with them.
+
+The Ubuntu server already had Intel drivers installed, so I wasn't required to
+install anything. I simply slotted the NIC into the PCIe port on the motherboard
+and it worked.
+
+#+caption: The 10G NIC in my server.
+#+attr_html: :alt A photo of the 10G NIC installed in my server.
+https://img.cleberg.net/blog/20260730-10gbps/server_nic.webp
+
+However, the Windows machine was a different story. It did come with an
+installation CD-ROM, but I of course ignored that since I have no disc drive in
+my PC. I tried to find the right drivers online, but Intel's websites are a vast
+wasteland of useless downloads and circular links.
+
+Eventually, I pulled a USB-C disc reader from storage and used the CD, which
+magically installed on the first try and everything started working from there.
+
+That'll teach me (not really).
+
+#+caption: The 10G NIC in my Windows gaming PC.
+#+attr_html: :alt A photo of the 10G NIC installed in my Windows gaming PC.
+https://img.cleberg.net/blog/20260730-10gbps/desktop_nic.webp
+
+** Cabling
+
+This is where 10G gets fiddly, and where most of my shopping list ended up.
+Going 10G means leaving RJ45 behind for SFP+ almost everywhere:
+
+- [[https://store.ui.com/us/en/category/accessories-modules-fiber/collections/accessories-pro-direct-attach-cables/products/uacc-cm-rj45-mg?variant=uacc-cm-rj45-mg][SFP+ to RJ45 Adapter]]: bridges the Google Fiber RJ45 handoff into the SFP+ port
+ on my UDM Pro.
+- [[https://store.ui.com/us/en/category/accessories-cables-dacs/collections/accessories-pro-patch-cables/products/uacc-cable-patch-el?variant=uacc-cable-patch-el-0dot15m-w][UniFi Etherlighting Patch Cable]]: short in-rack runs between the switch, the
+ other rack devices, and the fiber modem.
+- [[https://store.ui.com/us/en/category/accessories-modules-fiber/collections/accessories-pro-direct-attach-cables/products/10gbps-direct-attach-cable?variant=uacc-dac-sfp10-0dot5m][10G Direct Attach Cable (DAC)]]: the short SFP+ runs from the rack switch to the
+ server, and from the second switch to the gaming PC.
+- [[https://store.ui.com/us/en/category/accessories-modules-fiber/collections/accessories-pro-direct-attach-cables/products/10-gbps-active-optical-cable?variant=uacc-aoc-sfp10-20m][10G Active Optical Cable (AOC)]]: the long run between the rack and the 8-port
+ switch in the other room, where a copper DAC won't reach.
+
+** Cost
+
+None of this is cheap, so here's the full damage:
+
+| Item | Qty | Price |
+|---------------------------+-----+-----------|
+| USW Pro HD 24 PoE | 1 | $999.00 |
+| USW Pro XG 8 PoE | 1 | $499.00 |
+| SFP+ to RJ45 Adapter | 1 | $65.00 |
+| UniFi Etherlighting Patch | 27 | $112.97 |
+| Cat6A Keystone Coupler | 2 | $78.00 |
+| 10G Direct Attach Cable | 3 | $43.00 |
+| 10G Long-Range DAC (AOC) | 1 | $55.00 |
+| Intel X520-DA1 NIC | 1 | $45.00 |
+| Intel X710-DA2 NIC | 1 | $145.00 |
+|---------------------------+-----+-----------|
+| *Total* | | $2,041.97 |
+
+* The Upgrade
+
+With the parts in hand, the actual topology is straightforward. Bandwidth flows
+in from the street and fans out through the rack:
+
+#+begin_src
+Google Fiber
+ │ (RJ45 → SFP+ adapter)
+ ▼
+UDM Pro
+ │ (Etherlighting patch)
+ ▼
+USW Pro HD 24 (core switch)
+ ├─ DAC ──────────► Server
+ ├─ AOC ──────────► USW Pro XG 8 (other room)
+ │ └─ DAC ──► Windows Gaming PC
+ └─ ETH ──────────► USW 8-port (1G switch)
+#+end_src
+
+The UDM Pro takes the Google Fiber handoff through the RJ45-to-SFP+ adapter,
+then hands everything down to the new 24-port switch over an Etherlighting patch
+cable. From there, the server hangs directly off the core switch on a short DAC,
+and a long active optical cable carries 10G across the house to the second
+switch, which finally feeds my gaming PC. My surviving 1 Gbps 8-port switch
+still hangs off the core switch too, handling everything that doesn't need 10G.
+
+The physical installation was pretty easy. I needed to replace a drive in my
+server's ZFS pool, so I already needed to get inside the rack. Since I don't use
+rails, I had to unscrew and pull out each device by hand.
+
+From there, the NIC (and HDD) installation in the server was seamless. Just pop
+out one of the metal slots on the back of the server, slot the NIC into the PCIe
+lane, and line up the port with the new opening in the back panel.
+
+All in all, it was easy and simple. No physical snags, only one driver issue on
+the Windows machine (which was my fault for ignoring the provided CD), cabling
+runs were easy, and UniFi updates were minimal.
+
+* Benchmarks
+
+Let's nerd out on the numbers.
+
+** Before
+
+I don't actually have any speed tests from before the upgrade, but the Cox
+connection had degraded even further by the end - down to roughly 70 Mbps for
+the month prior to the upgrade.
+
+Occasionally, I was able to get ~800 Mbps when the connection would work
+properly.
+
+** After
+
+So, here's the catch. I'm not getting the full 8 Gbps currently. When the Google
+tech installed the modem, we confirmed ~ 8500 Mbps together, which means the
+fiber is working through the ONT and the modem.
+
+However, they would not connect directly to my router, which means the Google
+modem is in bridge mode for now.
+
+The speed test below shows an average speed, where I'm getting 5 to 6 Gbps to my
+router. While not the full 8 Gbps, I'm not saturating it anyway, so I haven't
+dug into my UniFi settings to determine what's causing the difference.
+
+#+caption: Speed test from the UniFi controller.
+#+attr_html: :alt A screenshot of a speed test result from the UniFi controller.
+https://img.cleberg.net/blog/20260730-10gbps/speed_unifi.webp
+
+A supplementary test showing speeds directly to my server:
+
+#+caption: Speed test from my server.
+#+attr_html: :alt A screenshot of a speed test result from my server.
+https://img.cleberg.net/blog/20260730-10gbps/speed_server.webp
+
+* Was It Worth It?
+
+Here's the honest part.
+
+Do I /need/ 10 Gbps between my gaming PC and my server? Probably not. The number
+of times a day I move enough data to saturate even 1 Gbps is small, and for most
+of what I do, this changes nothing I'll consciously notice.
+
+But that was never really the point. I finally have an internet connection that
+delivers what I pay for, and a network that won't be the bottleneck for years to
+come. After spending so long fighting a "1 Gbps" connection that never once hit
+1 Gbps, there's something deeply satisfying about watching a transfer actually
+move as fast as the hardware allows.
+
+Instead of constantly monitoring speeds and pausing services so our
+work-from-home connections aren't impacted, I can let my server idle at 400 Mbps
+24/7, not to mention all the other devices in my home.
+
+Was it worth it? For the peace of mind alone: yes.