f3s: Kubernetes with FreeBSD - Part 6: Storage
-
Published at 2025-07-13T16:44:29+03:00, last updated: 04.01.2026
+
Published at 2025-07-13T16:44:29+03:00, last updated: 27.01.2026
This is the sixth blog post about the f3s series for self-hosting demands in a home lab. f3s? The "f" stands for FreeBSD, and the "3s" stands for k3s, the Kubernetes distribution used on FreeBSD-based physical machines.
@@ -6585,6 +6585,70 @@ http://www.gnu.org/software/src-highlite -->
<CT1000BX500SSD1 M6CR072> at scbus1 target
0 lun
0 (pass1,ada1)
+
Update: 27.01.2026
+
+
I have since replaced the 1TB drives with 4TB drives for more storage capacity. The upgrade procedure was different for each node:
+
+
**Upgrading f1 (simpler approach):**
+
+
Since f1 is the replication sink, the upgrade was straightforward:
+
+
1. Physically replaced the 1TB drive with the 4TB drive
+
2. Re-setup the drive as described earlier in this blog post
+
3. Re-replicated all data from f0 to f1 via zrepl
+
4. Reloaded the encryption keys as described in this blog post
+
5. Set the mount point again for the encrypted dataset, explicitly as read-only (since f1 is the replication sink)
+
+
**Upgrading f0 (using ZFS resilvering):**
+
+
For f0, which is the primary storage node, I used ZFS resilvering to avoid data loss:
+
+
1. Plugged the new 4TB drive into an external USB SSD drive reader
+
2. Attached the 4TB drive to the zdata pool for resilvering
+
3. Once resilvering completed, detached the 1TB drive from the zdata pool
+
4. Shutdown f0 and physically replaced the internal drive
+
5. Booted with the new drive in place
+
6. Expanded the pool to use the full 4TB capacity:
+
+
+
paul@f0:~ % doas zpool online -e /dev/ada1
+
+
+
7. Reloaded the encryption keys as described in this blog post
+
8. Set the mount point again for the encrypted dataset
+
+
This was a one-time effort on both nodes - after a reboot, everything was remembered and came up normally. Here are the updated outputs:
+
+
+
paul@f0:~ % doas zpool list
+NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
+zdata 3.63T 677G 2.97T - - 3% 18% 1.00x ONLINE -
+zroot 472G 68.4G 404G - - 13% 14% 1.00x ONLINE -
+
+paul@f0:~ % doas camcontrol devlist
+<512GB SSD D910R170> at scbus0 target 0 lun 0 (pass0,ada0)
+<SD Ultra 3D 4TB 530500WD> at scbus1 target 0 lun 0 (pass1,ada1)
+<Generic Flash Disk 8.07> at scbus2 target 0 lun 0 (da0,pass2)
+
+
+
We're still using different SSD models on f1 (WD Blue SA510 4TB) to avoid simultaneous failures:
+
+
+
paul@f1:~ % doas camcontrol devlist
+<512GB SSD D910R170> at scbus0 target 0 lun 0 (pass0,ada0)
+<WD Blue SA510 2.5 4TB 530500WD> at scbus1 target 0 lun 0 (pass1,ada1)
+<Generic Flash Disk 8.07> at scbus2 target 0 lun 0 (da0,pass2)
+
+
ZFS encryption keys
ZFS native encryption requires encryption keys to unlock datasets. We need a secure method to store these keys that balances security with operational needs:
diff --git a/index.html b/index.html
index fc05293e..5eeb9f80 100644
--- a/index.html
+++ b/index.html
@@ -13,7 +13,7 @@
Hello!
-
This site was generated at 2026-01-24T23:12:38+02:00 by Gemtexter
+
This site was generated at 2026-01-27T09:50:13+02:00 by Gemtexter
Welcome to the foo.zone!
diff --git a/uptime-stats.html b/uptime-stats.html
index 299a6bb2..f692e259 100644
--- a/uptime-stats.html
+++ b/uptime-stats.html
@@ -13,7 +13,7 @@
My machine uptime stats
-
This site was last updated at 2026-01-24T23:12:38+02:00
+
This site was last updated at 2026-01-27T09:50:13+02:00
The following stats were collected via uptimed on all of my personal computers over many years and the output was generated by guprecords, the global uptime records stats analyser of mine.
@@ -35,7 +35,7 @@
| Pos | Host | Boots | Last Kernel |
+-----+----------------+-------+------------------------------+
| 1. | alphacentauri | 671 | FreeBSD 11.4-RELEASE-p7 |
-| 2. | *earth | 224 | Linux 6.18.4-200.fc43.x86_64 |
+| 2. | *earth | 225 | Linux 6.18.4-200.fc43.x86_64 |
| 3. | mars | 207 | Linux 3.2.0-4-amd64 |
| 4. | callisto | 153 | Linux 4.0.4-303.fc22.x86_64 |
| 5. | dionysus | 136 | FreeBSD 13.0-RELEASE-p11 |
@@ -46,13 +46,13 @@
| 10. | *makemake | 81 | Linux 6.9.9-200.fc40.x86_64 |
| 11. | uranus | 59 | NetBSD 10.1 |
| 12. | pluto | 51 | Linux 3.2.0-4-amd64 |
-| 13. | mega15289 | 50 | Darwin 23.4.0 |
-| 14. | *mega-m3-pro | 50 | Darwin 24.6.0 |
-| 15. | *fishfinger | 50 | OpenBSD 7.7 |
+| 13. | *fishfinger | 50 | OpenBSD 7.7 |
+| 14. | mega15289 | 50 | Darwin 23.4.0 |
+| 15. | *mega-m3-pro | 50 | Darwin 24.6.0 |
| 16. | *t450 | 46 | FreeBSD 14.2-RELEASE |
| 17. | *blowfish | 45 | OpenBSD 7.7 |
-| 18. | mega8477 | 40 | Darwin 13.4.0 |
-| 19. | phobos | 40 | Linux 3.4.0-CM-g1dd7cdf |
+| 18. | phobos | 40 | Linux 3.4.0-CM-g1dd7cdf |
+| 19. | mega8477 | 40 | Darwin 13.4.0 |
| 20. | sun | 33 | FreeBSD 10.3-RELEASE-p24 |
+-----+----------------+-------+------------------------------+
@@ -67,7 +67,7 @@
+-----+----------------+-----------------------------+-----------------------------------+
| 1. | vulcan | 4 years, 5 months, 6 days | Linux 3.10.0-1160.81.1.el7.x86_64 |
| 2. | *blowfish | 4 years, 1 months, 6 days | OpenBSD 7.7 |
-| 3. | *earth | 3 years, 12 months, 30 days | Linux 6.18.4-200.fc43.x86_64 |
+| 3. | *earth | 4 years, 1 months, 5 days | Linux 6.18.4-200.fc43.x86_64 |
| 4. | sun | 3 years, 9 months, 26 days | FreeBSD 10.3-RELEASE-p24 |
| 5. | uranus | 3 years, 9 months, 5 days | NetBSD 10.1 |
| 6. | uugrn | 3 years, 5 months, 5 days | FreeBSD 11.2-RELEASE-p4 |
@@ -77,7 +77,7 @@
| 10. | tauceti | 2 years, 3 months, 19 days | Linux 3.2.0-4-amd64 |
| 11. | mega15289 | 1 years, 12 months, 17 days | Darwin 23.4.0 |
| 12. | tauceti-f | 1 years, 9 months, 18 days | Linux 3.2.0-3-amd64 |
-| 13. | *mega-m3-pro | 1 years, 7 months, 28 days | Darwin 24.6.0 |
+| 13. | *mega-m3-pro | 1 years, 8 months, 3 days | Darwin 24.6.0 |
| 14. | *t450 | 1 years, 7 months, 26 days | FreeBSD 14.2-RELEASE |
| 15. | mega8477 | 1 years, 3 months, 25 days | Darwin 13.4.0 |
| 16. | host0 | 1 years, 3 months, 9 days | FreeBSD 6.2-RELEASE-p5 |
@@ -97,7 +97,7 @@
| Pos | Host | Score | Last Kernel |
+-----+----------------+-------+-----------------------------------+
| 1. | uranus | 340 | NetBSD 10.1 |
-| 2. | *earth | 281 | Linux 6.18.4-200.fc43.x86_64 |
+| 2. | *earth | 282 | Linux 6.18.4-200.fc43.x86_64 |
| 3. | vulcan | 275 | Linux 3.10.0-1160.81.1.el7.x86_64 |
| 4. | *blowfish | 259 | OpenBSD 7.7 |
| 5. | sun | 238 | FreeBSD 10.3-RELEASE-p24 |
@@ -112,7 +112,7 @@
| 14. | *makemake | 139 | Linux 6.9.9-200.fc40.x86_64 |
| 15. | *t450 | 128 | FreeBSD 14.2-RELEASE |
| 16. | tauceti-f | 108 | Linux 3.2.0-3-amd64 |
-| 17. | *mega-m3-pro | 106 | Darwin 24.6.0 |
+| 17. | *mega-m3-pro | 108 | Darwin 24.6.0 |
| 18. | tauceti-e | 96 | Linux 3.2.0-4-amd64 |
| 19. | callisto | 86 | Linux 4.0.4-303.fc22.x86_64 |
| 20. | mega8477 | 80 | Darwin 13.4.0 |
@@ -162,7 +162,7 @@
| 2. | dionysus | 8 years, 6 months, 17 days | FreeBSD 13.0-RELEASE-p11 |
| 3. | alphacentauri | 6 years, 9 months, 13 days | FreeBSD 11.4-RELEASE-p7 |
| 4. | *makemake | 4 years, 10 months, 16 days | Linux 6.9.9-200.fc40.x86_64 |
-| 5. | *earth | 4 years, 6 months, 28 days | Linux 6.18.4-200.fc43.x86_64 |
+| 5. | *earth | 4 years, 7 months, 4 days | Linux 6.18.4-200.fc43.x86_64 |
| 6. | vulcan | 4 years, 5 months, 6 days | Linux 3.10.0-1160.81.1.el7.x86_64 |
| 7. | *blowfish | 4 years, 1 months, 7 days | OpenBSD 7.7 |
| 8. | sun | 3 years, 10 months, 2 days | FreeBSD 10.3-RELEASE-p24 |
@@ -177,7 +177,7 @@
| 17. | callisto | 2 years, 3 months, 13 days | Linux 4.0.4-303.fc22.x86_64 |
| 18. | tauceti-e | 2 years, 1 months, 29 days | Linux 3.2.0-4-amd64 |
| 19. | tauceti-f | 1 years, 9 months, 20 days | Linux 3.2.0-3-amd64 |
-| 20. | *mega-m3-pro | 1 years, 8 months, 24 days | Darwin 24.6.0 |
+| 20. | *mega-m3-pro | 1 years, 8 months, 31 days | Darwin 24.6.0 |
+-----+----------------+-----------------------------+-----------------------------------+
@@ -192,7 +192,7 @@
| 1. | FreeBSD 10... | 551 |
| 2. | Linux 3... | 550 |
| 3. | *FreeBSD 14... | 339 |
-| 4. | *Linux 6... | 209 |
+| 4. | *Linux 6... | 210 |
| 5. | Linux 5... | 162 |
| 6. | Linux 4... | 161 |
| 7. | FreeBSD 11... | 153 |
@@ -207,8 +207,8 @@
| 16. | Darwin 15... | 15 |
| 17. | Darwin 22... | 12 |
| 18. | Darwin 18... | 11 |
-| 19. | FreeBSD 7... | 10 |
-| 20. | OpenBSD 4... | 10 |
+| 19. | OpenBSD 4... | 10 |
+| 20. | FreeBSD 7... | 10 |
+-----+----------------+-------+
@@ -224,14 +224,14 @@
| 2. | *OpenBSD 7... | 8 years, 1 months, 7 days |
| 3. | FreeBSD 10... | 5 years, 9 months, 9 days |
| 4. | Linux 5... | 4 years, 10 months, 21 days |
-| 5. | *Linux 6... | 3 years, 3 months, 30 days |
+| 5. | *Linux 6... | 3 years, 4 months, 5 days |
| 6. | *FreeBSD 14... | 2 years, 11 months, 5 days |
| 7. | Linux 4... | 2 years, 7 months, 22 days |
| 8. | FreeBSD 11... | 2 years, 4 months, 28 days |
| 9. | Linux 2... | 1 years, 11 months, 21 days |
| 10. | Darwin 13... | 1 years, 3 months, 25 days |
| 11. | FreeBSD 6... | 1 years, 3 months, 9 days |
-| 12. | *Darwin 24... | 0 years, 12 months, 4 days |
+| 12. | *Darwin 24... | 0 years, 12 months, 11 days |
| 13. | Darwin 23... | 0 years, 11 months, 3 days |
| 14. | OpenBSD 4... | 0 years, 8 months, 12 days |
| 15. | Darwin 21... | 0 years, 8 months, 2 days |
@@ -255,14 +255,14 @@
| 2. | *OpenBSD 7... | 517 |
| 3. | FreeBSD 10... | 406 |
| 4. | Linux 5... | 317 |
-| 5. | *Linux 6... | 225 |
+| 5. | *Linux 6... | 226 |
| 6. | *FreeBSD 14... | 211 |
| 7. | Linux 4... | 175 |
| 8. | FreeBSD 11... | 159 |
| 9. | Linux 2... | 121 |
| 10. | Darwin 13... | 80 |
| 11. | FreeBSD 6... | 75 |
-| 12. | *Darwin 24... | 63 |
+| 12. | *Darwin 24... | 64 |
| 13. | Darwin 23... | 55 |
| 14. | OpenBSD 4... | 39 |
| 15. | Darwin 21... | 38 |
@@ -283,7 +283,7 @@
| Pos | KernelName | Boots |
+-----+------------+-------+
| 1. | *FreeBSD | 1204 |
-| 2. | *Linux | 1104 |
+| 2. | *Linux | 1105 |
| 3. | *Darwin | 155 |
| 4. | *OpenBSD | 115 |
| 5. | NetBSD | 1 |
@@ -298,10 +298,10 @@
+-----+------------+-----------------------------+
| Pos | KernelName | Uptime |
+-----+------------+-----------------------------+
-| 1. | *Linux | 28 years, 4 months, 22 days |
+| 1. | *Linux | 28 years, 4 months, 28 days |
| 2. | *FreeBSD | 12 years, 10 months, 8 days |
| 3. | *OpenBSD | 8 years, 8 months, 18 days |
-| 4. | *Darwin | 5 years, 3 months, 18 days |
+| 4. | *Darwin | 5 years, 3 months, 25 days |
| 5. | NetBSD | 0 years, 1 months, 1 days |
+-----+------------+-----------------------------+
@@ -314,10 +314,10 @@
+-----+------------+-------+
| Pos | KernelName | Score |
+-----+------------+-------+
-| 1. | *Linux | 1884 |
+| 1. | *Linux | 1885 |
| 2. | *FreeBSD | 912 |
| 3. | *OpenBSD | 557 |
-| 4. | *Darwin | 344 |
+| 4. | *Darwin | 345 |
| 5. | NetBSD | 0 |
+-----+------------+-------+
--
cgit v1.2.3