Commit f7e11cecff

f7e11cecffa5fb13e3b73a471bacec2dd6aac2cc

parent: 2bf00f8311

Verified · cmc

cmc <hello@cleberg.net> · 2026-07-30 22:34 UTC

publish new post: 10gbps

Layout: unified · split

content/blog/2026-07-30-10gbps.org added +249
@@ -0,0 +1,249 @@
1#+date: [2026-07-30 Thu 17:14:00]
2#+title: Upgrading My Homelab to 10 Gbps
3#+description: Moving my homelab off 1 Gbps and onto a 10 Gbps backbone.
4#+slug: 10gbps
5#+filetags: :self-hosting:
6
7* Why 10 Gbps?
8
9The short answer: fiber finally became available at my current residence, so I
10jumped on it immediately.
11
12The slightly longer answer is that I'd previously enjoyed proper 1 Gbps fiber,
13but for a while now I'd been stuck limping along on "1 Gbps" cable from Cox
14that, in reality, often crawled along at 100 Mbps regardless of what I did to
15fix it. New modem, new cables, different ports, calls to support - nothing
16mattered. It ran at whatever speed it felt like that day.
17
18So when [[https://fiber.google.com][Google Fiber]] showed up in my neighborhood, I ordered the 8 Gbps package
19immediately. I'll upgrade to their 10 Gbps package the moment it's released, but
20I'm not exactly suffering in the meantime.
21
22A quick note on the title before we go further: my /internet/ is 8 Gbps for now,
23but this post is really about rebuilding my /internal/ network to 10 Gbps end to
24end. The WAN is just the excuse to upgrade everything.
25
26#+caption: My WAN status over the past month.
27#+attr_html: :alt A chart of my WAN status and activity over the past month.
28https://img.cleberg.net/blog/20260730-10gbps/wan_history.webp
29
30In the screenshot above, you can see that Google Fiber was installed on 7/20 and
31UniFi entered WAN failover mode (the blue bar) and then I unplugged Cox on 7/22,
32resulting in the green Google Fiber bar.
33
34As you can also see, Cox was a /train wreck/ - cycling between yellow
35(disconnections, lag, etc.) and red (no internet connection) for the previous
36month.
37
38* What I Was Running Before
39
40Nothing exotic. My network was built entirely on 1 Gbps gear:
41
42- A 24-port UniFi switch in the rack.
43- Two 8-port UniFi switches serving other rooms.
44- A Cox "1 Gbps" WAN that, as mentioned, frequently delivered closer to 100
45 Mbps.
46
47It worked. For years, it was more than enough - I've written before about how my
48[[https://cleberg.net/blog/homelab-maintenance.html][homelab basically maintains itself]], and the network was no exception. But once I
49had real bandwidth coming into the house, 1 Gbps internally became the
50bottleneck instead of the ISP.
51
52As a result, I installed the hardware I'll list in the next section. You can see
53the 10G connections in blue and the 1G connections in green.
54
55#+caption: My homelab infrastructure.
56#+attr_html: :alt A network diagram of my homelab infrastructure.
57https://img.cleberg.net/blog/20260730-10gbps/infrastructure.webp
58
59* The Hardware
60
61Everything here is UniFi. I'm already knee-deep in the ecosystem, and at this
62point fighting it would cost me more time than it's worth. Staying in one
63platform means everything shows up in a single controller and I don't have to
64think about it - which is exactly how I like my homelab.
65
66#+caption: My homelab rack.
67#+attr_html: :alt A photo of my homelab rack of UniFi gear.
68https://img.cleberg.net/blog/20260730-10gbps/rack.webp
69
70This rack shows:
71- UDM Pro router.
72- 10G 24-port switch.
73- Switch panel with keystone jacks.
74- 1G 24-port switch.
75- My server.
76
77This is *before* the Google Fiber installation, so you can see that the WAN RJ45
78port is in use on the UDM Pro instead of the SFP+ port.
79
80I also removed the old 1G switch after this picture and plan to sell it. I just
81didn't want to box it up quite yet when I took this photo.
82
83** Switch
84
85Two switches did the heavy lifting for the upgrade:
86
87- [[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
88 24-port unit.
89- [[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
90 the old 8-port units.
91
92** NICs
93
94Neither of my two most important machines shipped with 10G, so both needed a new
95network card:
96
97- *Windows gaming PC*: an Intel X520-DA1, a 10G SFP+ card.
98- *Server*: an Intel X710-DA2, a dual-port 10G SFP+ card.
99
100Both are enterprise Intel cards you can find used for very little money, which
101is half the reason I went with them.
102
103The Ubuntu server already had Intel drivers installed, so I wasn't required to
104install anything. I simply slotted the NIC into the PCIe port on the motherboard
105and it worked.
106
107#+caption: The 10G NIC in my server.
108#+attr_html: :alt A photo of the 10G NIC installed in my server.
109https://img.cleberg.net/blog/20260730-10gbps/server_nic.webp
110
111However, the Windows machine was a different story. It did come with an
112installation CD-ROM, but I of course ignored that since I have no disc drive in
113my PC. I tried to find the right drivers online, but Intel's websites are a vast
114wasteland of useless downloads and circular links.
115
116Eventually, I pulled a USB-C disc reader from storage and used the CD, which
117magically installed on the first try and everything started working from there.
118
119That'll teach me (not really).
120
121#+caption: The 10G NIC in my Windows gaming PC.
122#+attr_html: :alt A photo of the 10G NIC installed in my Windows gaming PC.
123https://img.cleberg.net/blog/20260730-10gbps/desktop_nic.webp
124
125** Cabling
126
127This is where 10G gets fiddly, and where most of my shopping list ended up.
128Going 10G means leaving RJ45 behind for SFP+ almost everywhere:
129
130- [[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
131 on my UDM Pro.
132- [[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
133 other rack devices, and the fiber modem.
134- [[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
135 server, and from the second switch to the gaming PC.
136- [[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
137 switch in the other room, where a copper DAC won't reach.
138
139** Cost
140
141None of this is cheap, so here's the full damage:
142
143| Item | Qty | Price |
144|---------------------------+-----+-----------|
145| USW Pro HD 24 PoE | 1 | $999.00 |
146| USW Pro XG 8 PoE | 1 | $499.00 |
147| SFP+ to RJ45 Adapter | 1 | $65.00 |
148| UniFi Etherlighting Patch | 27 | $112.97 |
149| Cat6A Keystone Coupler | 2 | $78.00 |
150| 10G Direct Attach Cable | 3 | $43.00 |
151| 10G Long-Range DAC (AOC) | 1 | $55.00 |
152| Intel X520-DA1 NIC | 1 | $45.00 |
153| Intel X710-DA2 NIC | 1 | $145.00 |
154|---------------------------+-----+-----------|
155| *Total* | | $2,041.97 |
156
157* The Upgrade
158
159With the parts in hand, the actual topology is straightforward. Bandwidth flows
160in from the street and fans out through the rack:
161
162#+begin_src
163Google Fiber
164 │ (RJ45 → SFP+ adapter)
165 ▼
166UDM Pro
167 │ (Etherlighting patch)
168 ▼
169USW Pro HD 24 (core switch)
170 ├─ DAC ──────────► Server
171 ├─ AOC ──────────► USW Pro XG 8 (other room)
172 │ └─ DAC ──► Windows Gaming PC
173 └─ ETH ──────────► USW 8-port (1G switch)
174#+end_src
175
176The UDM Pro takes the Google Fiber handoff through the RJ45-to-SFP+ adapter,
177then hands everything down to the new 24-port switch over an Etherlighting patch
178cable. From there, the server hangs directly off the core switch on a short DAC,
179and a long active optical cable carries 10G across the house to the second
180switch, which finally feeds my gaming PC. My surviving 1 Gbps 8-port switch
181still hangs off the core switch too, handling everything that doesn't need 10G.
182
183The physical installation was pretty easy. I needed to replace a drive in my
184server's ZFS pool, so I already needed to get inside the rack. Since I don't use
185rails, I had to unscrew and pull out each device by hand.
186
187From there, the NIC (and HDD) installation in the server was seamless. Just pop
188out one of the metal slots on the back of the server, slot the NIC into the PCIe
189lane, and line up the port with the new opening in the back panel.
190
191All in all, it was easy and simple. No physical snags, only one driver issue on
192the Windows machine (which was my fault for ignoring the provided CD), cabling
193runs were easy, and UniFi updates were minimal.
194
195* Benchmarks
196
197Let's nerd out on the numbers.
198
199** Before
200
201I don't actually have any speed tests from before the upgrade, but the Cox
202connection had degraded even further by the end - down to roughly 70 Mbps for
203the month prior to the upgrade.
204
205Occasionally, I was able to get ~800 Mbps when the connection would work
206properly.
207
208** After
209
210So, here's the catch. I'm not getting the full 8 Gbps currently. When the Google
211tech installed the modem, we confirmed ~ 8500 Mbps together, which means the
212fiber is working through the ONT and the modem.
213
214However, they would not connect directly to my router, which means the Google
215modem is in bridge mode for now.
216
217The speed test below shows an average speed, where I'm getting 5 to 6 Gbps to my
218router. While not the full 8 Gbps, I'm not saturating it anyway, so I haven't
219dug into my UniFi settings to determine what's causing the difference.
220
221#+caption: Speed test from the UniFi controller.
222#+attr_html: :alt A screenshot of a speed test result from the UniFi controller.
223https://img.cleberg.net/blog/20260730-10gbps/speed_unifi.webp
224
225A supplementary test showing speeds directly to my server:
226
227#+caption: Speed test from my server.
228#+attr_html: :alt A screenshot of a speed test result from my server.
229https://img.cleberg.net/blog/20260730-10gbps/speed_server.webp
230
231* Was It Worth It?
232
233Here's the honest part.
234
235Do I /need/ 10 Gbps between my gaming PC and my server? Probably not. The number
236of times a day I move enough data to saturate even 1 Gbps is small, and for most
237of what I do, this changes nothing I'll consciously notice.
238
239But that was never really the point. I finally have an internet connection that
240delivers what I pay for, and a network that won't be the bottleneck for years to
241come. After spending so long fighting a "1 Gbps" connection that never once hit
2421 Gbps, there's something deeply satisfying about watching a transfer actually
243move as fast as the hardware allows.
244
245Instead of constantly monitoring speeds and pausing services so our
246work-from-home connections aren't impacted, I can let my server idle at 400 Mbps
24724/7, not to mention all the other devices in my home.
248
249Was it worth it? For the peace of mind alone: yes.