diff options
| author | Paul Buetow <paul@buetow.org> | 2025-12-07 10:09:53 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-12-07 10:09:53 +0200 |
| commit | 818d669a5c3bb127c7193896c313ffc14e228fd0 (patch) | |
| tree | d197926a22d6e206fcff39c9ceb2b500867c39d0 | |
| parent | 6b85b84c92934b6113c7d21f33be41f291861b76 (diff) | |
Update content for gemtext
| -rw-r--r-- | about/resources.gmi | 200 | ||||
| -rw-r--r-- | gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi | 50 | ||||
| -rw-r--r-- | gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi.tpl | 12 | ||||
| -rw-r--r-- | gemfeed/2025-12-07-f3s-kubernetes-with-freebsd-part-8.gmi | 10 | ||||
| -rw-r--r-- | gemfeed/2025-12-07-f3s-kubernetes-with-freebsd-part-8.gmi.tpl | 10 | ||||
| -rw-r--r-- | gemfeed/atom.xml | 62 | ||||
| -rw-r--r-- | index.gmi | 2 | ||||
| -rw-r--r-- | uptime-stats.gmi | 2 |
8 files changed, 193 insertions, 155 deletions
diff --git a/about/resources.gmi b/about/resources.gmi index ee966473..a20dcabc 100644 --- a/about/resources.gmi +++ b/about/resources.gmi @@ -35,110 +35,110 @@ You won't find any links on this site because, over time, the links will break. In random order: -* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional -* Concurrency in Go; Katherine Cox-Buday; O'Reilly -* Raku Fundamentals; Moritz Lenz; Apress -* Leanring eBPF; Liz Rice; O'Reilly -* Systemprogrammierung in Go; Frank Müller; dpunkt -* Java ist auch eine Insel; Christian Ullenboom; -* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson -* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf -* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly +* Modern Perl; Chromatic ; Onyx Neon Press +* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers +* Chaos Engineering - System Resiliency in Practice; Casey Rosenthal and Nora Jones; eBook * Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press -* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly -* Ultimate Go Notebook; Bill Kennedy +* Java ist auch eine Insel; Christian Ullenboom; +* Systemprogrammierung in Go; Frank Müller; dpunkt * Data Science at the Command Line; Jeroen Janssens; O'Reilly +* Developing Games in Java; David Brackeen and others...; New Riders * Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly -* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications * Funktionale Programmierung; Peter Pepper; Springer -* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible -* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly -* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly -* Higher Order Perl; Mark Dominus; Morgan Kaufmann -* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner -* DNS and BIND; Cricket Liu; O'Reilly -* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers +* Seeking SRE: Conversations About Running Production Systems at Scale; David N. Blank-Edelman; eBook * Pro Puppet; James Turnbull, Jeffrey McCune; Apress -* Developing Games in Java; David Brackeen and others...; New Riders +* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook * 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly -* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible +* The Docker Book; James Turnbull; Kindle +* Perl New Features; Joshua McAdams, brian d foy; Perl School +* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly * The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton -* Chaos Engineering - System Resiliency in Practice; Casey Rosenthal and Nora Jones; eBook +* Effective Java; Joshua Bloch; Addison-Wesley Professional +* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf +* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly +* C++ Programming Language; Bjarne Stroustrup; +* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson +* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner +* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications +* Ultimate Go Notebook; Bill Kennedy +* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible +* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers +* Site Reliability Engineering; How Google runs production systems; O'Reilly +* Leanring eBPF; Liz Rice; O'Reilly * The Pragmatic Programmer; David Thomas; Addison-Wesley +* The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional Pro Git; Scott Chacon, Ben Straub; Apress +* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly +* Higher Order Perl; Mark Dominus; Morgan Kaufmann +* Effective awk programming; Arnold Robbins; O'Reilly +* Raku Fundamentals; Moritz Lenz; Apress +* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt * Polished Ruby Programming; Jeremy Evans; Packt Publishing -* Perl New Features; Joshua McAdams, brian d foy; Perl School -* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications -* The Docker Book; James Turnbull; Kindle -* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press -* Modern Perl; Chromatic ; Onyx Neon Press -* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers +* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible +* Concurrency in Go; Katherine Cox-Buday; O'Reilly +* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications * Raku Recipes; J.J. Merelo; Apress -* C++ Programming Language; Bjarne Stroustrup; -* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly -* Seeking SRE: Conversations About Running Production Systems at Scale; David N. Blank-Edelman; eBook -* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt -* The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional Pro Git; Scott Chacon, Ben Straub; Apress -* Effective Java; Joshua Bloch; Addison-Wesley Professional -* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook +* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional +* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press * Terraform Cookbook; Mikael Krief; Packt Publishing -* Effective awk programming; Arnold Robbins; O'Reilly -* Site Reliability Engineering; How Google runs production systems; O'Reilly +* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly +* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly +* DNS and BIND; Cricket Liu; O'Reilly ## Technical references I didn't read them from the beginning to the end, but I am using them to look up things. The books are in random order: -* The Linux Programming Interface; Michael Kerrisk; No Starch Press +* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley * Go: Design Patterns for Real-World Projects; Mat Ryer; Packt -* Relayd and Httpd Mastery; Michael W Lucas +* The Linux Programming Interface; Michael Kerrisk; No Starch Press +* Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly * Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly +* Relayd and Httpd Mastery; Michael W Lucas * Implementing Service Level Objectives; Alex Hidalgo; O'Reilly -* Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly * BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley -* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley ## Self-development and soft-skills books In random order: -* 97 Things Every Engineering Manager Should Know; Camille Fournier; Audiobook * Atomic Habits; James Clear; Random House Business -* Slow Productivity; Cal Newport; Penguin Random House -* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books +* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion +* Meditation for Mortals, Oliver Burkeman, Audiobook +* 101 Essays that change the way you think; Brianna Wiest; Audiobook * Never Split the Difference; Chris Voss, Tahl Raz; Random House Business -* Soft Skills; John Sommez; Manning Publications -* Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook -* Eat That Frog; Brian Tracy +* Solve for Happy; Mo Gawdat (RE-READ 1ST TIME) +* The Joy of Missing Out; Christina Crook; New Society Publishers +* The Good Enough Job; Simone Stolzoff; Ebury Edge * So Good They Can't Ignore You; Cal Newport; Business Plus -* Stop starting, start finishing; Arne Roock; Lean-Kanban University -* Getting Things Done; David Allen -* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press +* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook * The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook -* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME) -* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion -* Eat That Frog!; Brian Tracy; Hodder Paperbacks +* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne +* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing +* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press +* Digital Minimalism; Cal Newport; Portofolio Penguin +* Deep Work; Cal Newport; Piatkus +* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books +* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK +* Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook +* The Bullet Journal Method; Ryder Carroll; Fourth Estate * The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select -* Meditation for Mortals, Oliver Burkeman, Audiobook -* The Good Enough Job; Simone Stolzoff; Ebury Edge -* The Joy of Missing Out; Christina Crook; New Society Publishers -* Solve for Happy; Mo Gawdat (RE-READ 1ST TIME) -* Psycho-Cybernetics; Maxwell Maltz; Perigee Books -* The Software Engineer's Guidebook: Navigating senior, tech lead, and staff engineer positions at tech companies and startups; Gergely Orosz; Audiobook * The Courage to Be Disliked; Ichiro Kishimi and Fumitake Koga; Audiobook -* Ultralearning; Anna Laurent; Self-published via Amazon -* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly -* Ultralearning; Scott Young; Thorsons +* Soft Skills; John Sommez; Manning Publications +* Slow Productivity; Cal Newport; Penguin Random House * The Power of Now; Eckhard Tolle; Yellow Kite -* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing -* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK -* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne +* Eat That Frog; Brian Tracy * Influence without Authority; A. Cohen, D. Bradford; Wiley -* The Bullet Journal Method; Ryder Carroll; Fourth Estate -* 101 Essays that change the way you think; Brianna Wiest; Audiobook -* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook -* Digital Minimalism; Cal Newport; Portofolio Penguin +* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME) +* Getting Things Done; David Allen +* Psycho-Cybernetics; Maxwell Maltz; Perigee Books +* Ultralearning; Scott Young; Thorsons +* 97 Things Every Engineering Manager Should Know; Camille Fournier; Audiobook +* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly +* The Software Engineer's Guidebook: Navigating senior, tech lead, and staff engineer positions at tech companies and startups; Gergely Orosz; Audiobook +* Ultralearning; Anna Laurent; Self-published via Amazon +* Eat That Frog!; Brian Tracy; Hodder Paperbacks * The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd -* Deep Work; Cal Newport; Piatkus +* Stop starting, start finishing; Arne Roock; Lean-Kanban University => ../notes/index.gmi Here are notes of mine for some of the books @@ -146,29 +146,29 @@ In random order: Some of these were in-person with exams; others were online learning lectures only. In random order: +* Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon * Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training +* Structure and Interpretation of Computer Programs; Harold Abelson and more...; * Scripting Vim; Damian Conway; O'Reilly Online * Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online -* Apache Tomcat Best Practises; 3-day on-site training -* Red Hat Certified System Administrator; Course + certification (Although I had the option, I decided not to take the next course as it is more effective to self learn what I need) +* F5 Loadbalancers Training; 2-day on-site training; F5, Inc. * The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online * Developing IaC with Terraform (with Live Lessons); O'Reilly Online -* Functional programming lecture; Remote University of Hagen -* F5 Loadbalancers Training; 2-day on-site training; F5, Inc. -* Structure and Interpretation of Computer Programs; Harold Abelson and more...; -* AWS Immersion Day; Amazon; 1-day interactive online training -* Ultimate Go Programming; Bill Kennedy; O'Reilly Online * MySQL Deep Dive Workshop; 2-day on-site training +* Red Hat Certified System Administrator; Course + certification (Although I had the option, I decided not to take the next course as it is more effective to self learn what I need) +* Functional programming lecture; Remote University of Hagen * The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online -* Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon * Protocol buffers; O'Reilly Online +* Ultimate Go Programming; Bill Kennedy; O'Reilly Online +* AWS Immersion Day; Amazon; 1-day interactive online training +* Apache Tomcat Best Practises; 3-day on-site training ## Technical guides These are not whole books, but guides (smaller or larger) which I found very useful. in random order: -* How CPUs work at https://cpu.land * Advanced Bash-Scripting Guide +* How CPUs work at https://cpu.land * Raku Guide at https://raku.guide ## Podcasts @@ -177,57 +177,57 @@ These are not whole books, but guides (smaller or larger) which I found very use In random order: -* Dev Interrupted -* BSD Now [BSD] -* Cup o' Go [Golang] -* Wednesday Wisdom -* Pratical AI -* Hidden Brain -* Backend Banter -* Deep Questions with Cal Newport * Fallthrough [Golang] -* The Changelog Podcast(s) * Modern Mentor +* Hidden Brain +* Deep Questions with Cal Newport * The ProdCast (Google SRE Podcast) +* The Changelog Podcast(s) * Maintainable * The Pragmatic Engineer Podcast +* Cup o' Go [Golang] +* Dev Interrupted * Fork Around And Find Out +* Backend Banter +* Wednesday Wisdom +* BSD Now [BSD] +* Pratical AI ### Podcasts I liked I liked them but am not listening to them anymore. The podcasts have either "finished" (no more episodes) or I stopped listening to them due to time constraints or a shift in my interests. -* Java Pub House -* Go Time (predecessor of fallthrough) -* CRE: Chaosradio Express [german] * FLOSS weekly * Ship It (predecessor of Fork Around And Find Out) +* Go Time (predecessor of fallthrough) +* CRE: Chaosradio Express [german] +* Java Pub House * Modern Mentor ## Newsletters I like This is a mix of tech and non-tech newsletters I am subscribed to. In random order: -* Register Spill -* The Pragmatic Engineer +* byteSizeGo +* Applied Go Weekly Newsletter +* Changelog News * Ruby Weekly -* Andreas Brandhorst Newsletter (Sci-Fi author) -* The Imperfectionist +* VK Newsletter * The Valuable Dev +* The Imperfectionist +* Andreas Brandhorst Newsletter (Sci-Fi author) * Monospace Mentor +* The Pragmatic Engineer * Golang Weekly -* VK Newsletter -* byteSizeGo -* Changelog News -* Applied Go Weekly Newsletter +* Register Spill ## Magazines I like(d) This is a mix of tech I like(d). I may not be a current subscriber, but now and then, I buy an issue. In random order: +* freeX (not published anymore) * Linux Magazine * LWN (online only) -* freeX (not published anymore) * Linux User # Formal education diff --git a/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi b/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi index df2d1654..90de2f83 100644 --- a/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi +++ b/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi @@ -34,15 +34,15 @@ This is the sixth blog post about the f3s series for self-hosting demands in a h * ⇢ ⇢ ⇢ Verifying replication after reboot * ⇢ ⇢ ⇢ Understanding Failover Limitations and Design Decisions * ⇢ ⇢ ⇢ Mounting the NFS datasets -* ⇢ ⇢ ⇢ Troubleshooting: Files not appearing in replication +* ⇢ ⇢ Troubleshooting: Files not appearing in replication * ⇢ ⇢ ⇢ Configuring automatic key loading on boot * ⇢ ⇢ ⇢ Troubleshooting: zrepl Replication Not Working -* ⇢ ⇢ ⇢# Check if zrepl Services are Running -* ⇢ ⇢ ⇢# Check zrepl Status for Errors -* ⇢ ⇢ ⇢# Fixing "No Common Snapshot" Errors -* ⇢ ⇢ ⇢# Network Connectivity Issues -* ⇢ ⇢ ⇢# Encryption Key Issues -* ⇢ ⇢ ⇢# Monitoring Ongoing Replication +* ⇢ ⇢ ⇢ Check if zrepl Services are Running +* ⇢ ⇢ ⇢ Check zrepl Status for Errors +* ⇢ ⇢ ⇢ Fixing "No Common Snapshot" Errors +* ⇢ ⇢ ⇢ Network Connectivity Issues +* ⇢ ⇢ ⇢ Encryption Key Issues +* ⇢ ⇢ ⇢ Monitoring Ongoing Replication * ⇢ ⇢ CARP (Common Address Redundancy Protocol) * ⇢ ⇢ ⇢ How CARP Works * ⇢ ⇢ ⇢ Configuring CARP @@ -389,10 +389,14 @@ jobs: interval: 1m pruning: keep_sender: + - type: last_n + count: 10 - type: grid grid: 4x7d | 6x30d regex: "^zrepl_.*" keep_receiver: + - type: last_n + count: 10 - type: grid grid: 4x7d | 6x30d regex: "^zrepl_.*" @@ -414,9 +418,15 @@ jobs: keep_sender: - type: last_n count: 10 + - type: grid + grid: 4x7d + regex: "^zrepl_.*" keep_receiver: - type: last_n count: 10 + - type: grid + grid: 4x7d + regex: "^zrepl_.*" EOF ``` @@ -633,7 +643,7 @@ paul@f1:~ % doas zfs set readonly=on zdata/sink/f0/zdata/enc/nfsdata And replication should work again! -### Troubleshooting: Files not appearing in replication +## Troubleshooting: Files not appearing in replication If you write files to `/data/nfs/` on `f0` but they don't appear on `f1`, check if the dataset is mounted on `f0`? @@ -699,7 +709,7 @@ Important notes: If `zrepl` replication is not working, here's a systematic approach to diagnose and fix common issues: -#### Check if zrepl Services are Running +### Check if zrepl Services are Running First, verify that `zrepl` is running on both nodes: @@ -713,7 +723,7 @@ paul@f0:~ % doas service zrepl start paul@f1:~ % doas service zrepl start ``` -#### Check zrepl Status for Errors +### Check zrepl Status for Errors Use the status command to see detailed error information: @@ -725,7 +735,7 @@ paul@f0:~ % doas zrepl status --mode raw # Common errors include "no common snapshot" or connection failures ``` -#### Fixing "No Common Snapshot" Errors +### Fixing "No Common Snapshot" Errors This is the most common replication issue, typically occurring when: @@ -777,7 +787,7 @@ paul@f0:~ % doas zrepl status --mode raw | grep -A10 "ZFSCmds.*Active" paul@f0:~ % doas zrepl status --mode raw | grep BytesReplicated ``` -#### Network Connectivity Issues +### Network Connectivity Issues If replication fails to connect: @@ -792,7 +802,7 @@ paul@f1:~ % doas netstat -an | grep 8888 paul@f0:~ % ping 192.168.2.131 ``` -#### Encryption Key Issues +### Encryption Key Issues If encrypted replication fails: @@ -806,7 +816,7 @@ paul@f1:~ % doas zfs load-key -L file:///keys/f0.lan.buetow.org:zdata.key \ zdata/sink/f0/zdata/enc/nfsdata ``` -#### Monitoring Ongoing Replication +### Monitoring Ongoing Replication After fixing issues, monitor replication health: @@ -1193,13 +1203,13 @@ if [ ! -f /data/nfs/nfs.DO_NOT_REMOVE ]; then zfs load-key -L file:///keys/f0.lan.buetow.org:zdata.key zdata/enc/nfsdata zfs set mountpoint=/data/nfs zdata/enc/nfsdata else - doas zfs load-key -L file:///keys/f0.lan.buetow.org:zdata.key zdata/sink/f0/zdata/enc/nfsdata - doas zfs set mountpoint=/data/nfs zdata/sink/f0/zdata/enc/nfsdata - doas zfs mount zdata/sink/f0/zdata/enc/nfsdata - doas zfs set readonly=on zdata/sink/f0/zdata/enc/nfsdata + zfs load-key -L file:///keys/f0.lan.buetow.org:zdata.key zdata/sink/f0/zdata/enc/nfsdata + zfs set mountpoint=/data/nfs zdata/sink/f0/zdata/enc/nfsdata + zfs mount zdata/sink/f0/zdata/enc/nfsdata + zfs set readonly=on zdata/sink/f0/zdata/enc/nfsdata fi - doas service nfsd stop 2>&1 - doas service mountd stop 2>&1 + service nfsd stop 2>&1 + service mountd stop 2>&1 fi diff --git a/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi.tpl b/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi.tpl index b5920c6b..69ee77d0 100644 --- a/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi.tpl +++ b/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi.tpl @@ -1146,13 +1146,13 @@ if [ ! -f /data/nfs/nfs.DO_NOT_REMOVE ]; then zfs load-key -L file:///keys/f0.lan.buetow.org:zdata.key zdata/enc/nfsdata zfs set mountpoint=/data/nfs zdata/enc/nfsdata else - doas zfs load-key -L file:///keys/f0.lan.buetow.org:zdata.key zdata/sink/f0/zdata/enc/nfsdata - doas zfs set mountpoint=/data/nfs zdata/sink/f0/zdata/enc/nfsdata - doas zfs mount zdata/sink/f0/zdata/enc/nfsdata - doas zfs set readonly=on zdata/sink/f0/zdata/enc/nfsdata + zfs load-key -L file:///keys/f0.lan.buetow.org:zdata.key zdata/sink/f0/zdata/enc/nfsdata + zfs set mountpoint=/data/nfs zdata/sink/f0/zdata/enc/nfsdata + zfs mount zdata/sink/f0/zdata/enc/nfsdata + zfs set readonly=on zdata/sink/f0/zdata/enc/nfsdata fi - doas service nfsd stop 2>&1 - doas service mountd stop 2>&1 + service nfsd stop 2>&1 + service mountd stop 2>&1 fi diff --git a/gemfeed/2025-12-07-f3s-kubernetes-with-freebsd-part-8.gmi b/gemfeed/2025-12-07-f3s-kubernetes-with-freebsd-part-8.gmi index d7ecc0d3..d76c3f6e 100644 --- a/gemfeed/2025-12-07-f3s-kubernetes-with-freebsd-part-8.gmi +++ b/gemfeed/2025-12-07-f3s-kubernetes-with-freebsd-part-8.gmi @@ -467,7 +467,10 @@ spec: - record: node_memory_MemTotal_bytes expr: node_memory_size_bytes{os="freebsd"} - record: node_memory_MemAvailable_bytes - expr: node_memory_free_bytes{os="freebsd"} + node_memory_inactive_bytes{os="freebsd"} + node_memory_cache_bytes{os="freebsd"} + expr: | + node_memory_free_bytes{os="freebsd"} + + node_memory_inactive_bytes{os="freebsd"} + + node_memory_cache_bytes{os="freebsd"} - record: node_memory_MemFree_bytes expr: node_memory_free_bytes{os="freebsd"} - record: node_memory_Buffers_bytes @@ -574,7 +577,10 @@ spec: labels: os: openbsd - record: node_memory_MemAvailable_bytes - expr: node_memory_free_bytes{os="openbsd"} + node_memory_inactive_bytes{os="openbsd"} + node_memory_cache_bytes{os="openbsd"} + expr: | + node_memory_free_bytes{os="openbsd"} + + node_memory_inactive_bytes{os="openbsd"} + + node_memory_cache_bytes{os="openbsd"} labels: os: openbsd - record: node_memory_MemFree_bytes diff --git a/gemfeed/2025-12-07-f3s-kubernetes-with-freebsd-part-8.gmi.tpl b/gemfeed/2025-12-07-f3s-kubernetes-with-freebsd-part-8.gmi.tpl index 52b6a987..7521965f 100644 --- a/gemfeed/2025-12-07-f3s-kubernetes-with-freebsd-part-8.gmi.tpl +++ b/gemfeed/2025-12-07-f3s-kubernetes-with-freebsd-part-8.gmi.tpl @@ -431,7 +431,10 @@ spec: - record: node_memory_MemTotal_bytes expr: node_memory_size_bytes{os="freebsd"} - record: node_memory_MemAvailable_bytes - expr: node_memory_free_bytes{os="freebsd"} + node_memory_inactive_bytes{os="freebsd"} + node_memory_cache_bytes{os="freebsd"} + expr: | + node_memory_free_bytes{os="freebsd"} + + node_memory_inactive_bytes{os="freebsd"} + + node_memory_cache_bytes{os="freebsd"} - record: node_memory_MemFree_bytes expr: node_memory_free_bytes{os="freebsd"} - record: node_memory_Buffers_bytes @@ -538,7 +541,10 @@ spec: labels: os: openbsd - record: node_memory_MemAvailable_bytes - expr: node_memory_free_bytes{os="openbsd"} + node_memory_inactive_bytes{os="openbsd"} + node_memory_cache_bytes{os="openbsd"} + expr: | + node_memory_free_bytes{os="openbsd"} + + node_memory_inactive_bytes{os="openbsd"} + + node_memory_cache_bytes{os="openbsd"} labels: os: openbsd - record: node_memory_MemFree_bytes diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml index 5373fb62..fcffb188 100644 --- a/gemfeed/atom.xml +++ b/gemfeed/atom.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> - <updated>2025-12-07T00:32:01+02:00</updated> + <updated>2025-12-07T10:08:23+02:00</updated> <title>foo.zone feed</title> <subtitle>To be in the .zone!</subtitle> <link href="gemini://foo.zone/gemfeed/atom.xml" rel="self" /> @@ -554,7 +554,10 @@ spec: - record: node_memory_MemTotal_bytes expr: node_memory_size_bytes{os="freebsd"} - record: node_memory_MemAvailable_bytes - expr: node_memory_free_bytes{os="freebsd"} + node_memory_inactive_bytes{os="freebsd"} + node_memory_cache_bytes{os="freebsd"} + expr: | + node_memory_free_bytes{os="freebsd"} + + node_memory_inactive_bytes{os="freebsd"} + + node_memory_cache_bytes{os="freebsd"} - record: node_memory_MemFree_bytes expr: node_memory_free_bytes{os="freebsd"} - record: node_memory_Buffers_bytes @@ -676,7 +679,10 @@ spec: labels: os: openbsd - record: node_memory_MemAvailable_bytes - expr: node_memory_free_bytes{os="openbsd"} + node_memory_inactive_bytes{os="openbsd"} + node_memory_cache_bytes{os="openbsd"} + expr: | + node_memory_free_bytes{os="openbsd"} + + node_memory_inactive_bytes{os="openbsd"} + + node_memory_cache_bytes{os="openbsd"} labels: os: openbsd - record: node_memory_MemFree_bytes @@ -4002,15 +4008,15 @@ content = "{CODE}" <li>⇢ ⇢ <a href='#verifying-replication-after-reboot'>Verifying replication after reboot</a></li> <li>⇢ ⇢ <a href='#understanding-failover-limitations-and-design-decisions'>Understanding Failover Limitations and Design Decisions</a></li> <li>⇢ ⇢ <a href='#mounting-the-nfs-datasets'>Mounting the NFS datasets</a></li> -<li>⇢ ⇢ <a href='#troubleshooting-files-not-appearing-in-replication'>Troubleshooting: Files not appearing in replication</a></li> +<li>⇢ <a href='#troubleshooting-files-not-appearing-in-replication'>Troubleshooting: Files not appearing in replication</a></li> <li>⇢ ⇢ <a href='#configuring-automatic-key-loading-on-boot'>Configuring automatic key loading on boot</a></li> <li>⇢ ⇢ <a href='#troubleshooting-zrepl-replication-not-working'>Troubleshooting: zrepl Replication Not Working</a></li> -<li>⇢ <a href='#-check-if-zrepl-services-are-running'>⇢# Check if zrepl Services are Running</a></li> -<li>⇢ <a href='#-check-zrepl-status-for-errors'>⇢# Check zrepl Status for Errors</a></li> -<li>⇢ <a href='#-fixing-no-common-snapshot-errors'>⇢# Fixing "No Common Snapshot" Errors</a></li> -<li>⇢ <a href='#-network-connectivity-issues'>⇢# Network Connectivity Issues</a></li> -<li>⇢ <a href='#-encryption-key-issues'>⇢# Encryption Key Issues</a></li> -<li>⇢ <a href='#-monitoring-ongoing-replication'>⇢# Monitoring Ongoing Replication</a></li> +<li>⇢ ⇢ <a href='#check-if-zrepl-services-are-running'>Check if zrepl Services are Running</a></li> +<li>⇢ ⇢ <a href='#check-zrepl-status-for-errors'>Check zrepl Status for Errors</a></li> +<li>⇢ ⇢ <a href='#fixing-no-common-snapshot-errors'>Fixing "No Common Snapshot" Errors</a></li> +<li>⇢ ⇢ <a href='#network-connectivity-issues'>Network Connectivity Issues</a></li> +<li>⇢ ⇢ <a href='#encryption-key-issues'>Encryption Key Issues</a></li> +<li>⇢ ⇢ <a href='#monitoring-ongoing-replication'>Monitoring Ongoing Replication</a></li> <li>⇢ <a href='#carp-common-address-redundancy-protocol'>CARP (Common Address Redundancy Protocol)</a></li> <li>⇢ ⇢ <a href='#how-carp-works'>How CARP Works</a></li> <li>⇢ ⇢ <a href='#configuring-carp'>Configuring CARP</a></li> @@ -4404,10 +4410,14 @@ global: interval: 1m pruning: keep_sender: + - <b><u><font color="#000000">type</font></u></b>: last_n + count: <font color="#000000">10</font> - <b><u><font color="#000000">type</font></u></b>: grid grid: 4x7d | 6x30d regex: <font color="#808080">"^zrepl_.*"</font> keep_receiver: + - <b><u><font color="#000000">type</font></u></b>: last_n + count: <font color="#000000">10</font> - <b><u><font color="#000000">type</font></u></b>: grid grid: 4x7d | 6x30d regex: <font color="#808080">"^zrepl_.*"</font> @@ -4429,9 +4439,15 @@ global: keep_sender: - <b><u><font color="#000000">type</font></u></b>: last_n count: <font color="#000000">10</font> + - <b><u><font color="#000000">type</font></u></b>: grid + grid: 4x7d + regex: <font color="#808080">"^zrepl_.*"</font> keep_receiver: - <b><u><font color="#000000">type</font></u></b>: last_n count: <font color="#000000">10</font> + - <b><u><font color="#000000">type</font></u></b>: grid + grid: 4x7d + regex: <font color="#808080">"^zrepl_.*"</font> EOF </pre> <br /> @@ -4676,7 +4692,7 @@ paul@f1:~ % doas zfs <b><u><font color="#000000">set</font></u></b> <b><u><font <br /> <span>And replication should work again!</span><br /> <br /> -<h3 style='display: inline' id='troubleshooting-files-not-appearing-in-replication'>Troubleshooting: Files not appearing in replication</h3><br /> +<h2 style='display: inline' id='troubleshooting-files-not-appearing-in-replication'>Troubleshooting: Files not appearing in replication</h2><br /> <br /> <span>If you write files to <span class='inlinecode'>/data/nfs/</span> on <span class='inlinecode'>f0</span> but they don't appear on <span class='inlinecode'>f1</span>, check if the dataset is mounted on <span class='inlinecode'>f0</span>?</span><br /> <br /> @@ -4755,7 +4771,7 @@ paul@f1:~ % doas zfs <b><u><font color="#000000">set</font></u></b> \ <br /> <span>If <span class='inlinecode'>zrepl</span> replication is not working, here's a systematic approach to diagnose and fix common issues:</span><br /> <br /> -<span>#### Check if zrepl Services are Running</span><br /> +<h3 style='display: inline' id='check-if-zrepl-services-are-running'>Check if zrepl Services are Running</h3><br /> <br /> <span>First, verify that <span class='inlinecode'>zrepl</span> is running on both nodes:</span><br /> <br /> @@ -4772,7 +4788,7 @@ paul@f0:~ % doas service zrepl start paul@f1:~ % doas service zrepl start </pre> <br /> -<span>#### Check zrepl Status for Errors</span><br /> +<h3 style='display: inline' id='check-zrepl-status-for-errors'>Check zrepl Status for Errors</h3><br /> <br /> <span>Use the status command to see detailed error information:</span><br /> <br /> @@ -4787,7 +4803,7 @@ paul@f0:~ % doas zrepl status --mode raw <i><font color="silver"># Common errors include "no common snapshot" or connection failures</font></i> </pre> <br /> -<span>#### Fixing "No Common Snapshot" Errors</span><br /> +<h3 style='display: inline' id='fixing-no-common-snapshot-errors'>Fixing "No Common Snapshot" Errors</h3><br /> <br /> <span>This is the most common replication issue, typically occurring when:</span><br /> <br /> @@ -4846,7 +4862,7 @@ paul@f0:~ % doas zrepl status --mode raw | grep -A<font color="#000000">10</font paul@f0:~ % doas zrepl status --mode raw | grep BytesReplicated </pre> <br /> -<span>#### Network Connectivity Issues</span><br /> +<h3 style='display: inline' id='network-connectivity-issues'>Network Connectivity Issues</h3><br /> <br /> <span>If replication fails to connect:</span><br /> <br /> @@ -4864,7 +4880,7 @@ paul@f1:~ % doas netstat -an | grep <font color="#000000">8888</font> paul@f0:~ % ping <font color="#000000">192.168</font>.<font color="#000000">2.131</font> </pre> <br /> -<span>#### Encryption Key Issues</span><br /> +<h3 style='display: inline' id='encryption-key-issues'>Encryption Key Issues</h3><br /> <br /> <span>If encrypted replication fails:</span><br /> <br /> @@ -4881,7 +4897,7 @@ paul@f1:~ % doas zfs load-key -L file:///keys/f<font color="#000000">0</font>.la zdata/sink/f<font color="#000000">0</font>/zdata/enc/nfsdata </pre> <br /> -<span>#### Monitoring Ongoing Replication</span><br /> +<h3 style='display: inline' id='monitoring-ongoing-replication'>Monitoring Ongoing Replication</h3><br /> <br /> <span>After fixing issues, monitor replication health:</span><br /> <br /> @@ -5317,13 +5333,13 @@ HOSTNAME=`hostname` zfs load-key -L file:///keys/f<font color="#000000">0</font>.lan.buetow.org:zdata.key zdata/enc/nfsdata zfs <b><u><font color="#000000">set</font></u></b> mountpoint=/data/nfs zdata/enc/nfsdata <b><u><font color="#000000">else</font></u></b> - doas zfs load-key -L file:///keys/f<font color="#000000">0</font>.lan.buetow.org:zdata.key zdata/sink/f<font color="#000000">0</font>/zdata/enc/nfsdata - doas zfs <b><u><font color="#000000">set</font></u></b> mountpoint=/data/nfs zdata/sink/f<font color="#000000">0</font>/zdata/enc/nfsdata - doas zfs mount zdata/sink/f<font color="#000000">0</font>/zdata/enc/nfsdata - doas zfs <b><u><font color="#000000">set</font></u></b> <b><u><font color="#000000">readonly</font></u></b>=on zdata/sink/f<font color="#000000">0</font>/zdata/enc/nfsdata + zfs load-key -L file:///keys/f<font color="#000000">0</font>.lan.buetow.org:zdata.key zdata/sink/f<font color="#000000">0</font>/zdata/enc/nfsdata + zfs <b><u><font color="#000000">set</font></u></b> mountpoint=/data/nfs zdata/sink/f<font color="#000000">0</font>/zdata/enc/nfsdata + zfs mount zdata/sink/f<font color="#000000">0</font>/zdata/enc/nfsdata + zfs <b><u><font color="#000000">set</font></u></b> <b><u><font color="#000000">readonly</font></u></b>=on zdata/sink/f<font color="#000000">0</font>/zdata/enc/nfsdata <b><u><font color="#000000">fi</font></u></b> - doas service nfsd stop <font color="#000000">2</font>>&<font color="#000000">1</font> - doas service mountd stop <font color="#000000">2</font>>&<font color="#000000">1</font> + service nfsd stop <font color="#000000">2</font>>&<font color="#000000">1</font> + service mountd stop <font color="#000000">2</font>>&<font color="#000000">1</font> <b><u><font color="#000000">fi</font></u></b> @@ -1,6 +1,6 @@ # Hello! -> This site was generated at 2025-12-07T00:34:51+02:00 by `Gemtexter` +> This site was generated at 2025-12-07T10:08:23+02:00 by `Gemtexter` Welcome to the foo.zone! diff --git a/uptime-stats.gmi b/uptime-stats.gmi index 1316aa02..a1aa3d5f 100644 --- a/uptime-stats.gmi +++ b/uptime-stats.gmi @@ -1,6 +1,6 @@ # My machine uptime stats -> This site was last updated at 2025-12-07T00:34:50+02:00 +> This site was last updated at 2025-12-07T10:08:23+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. |
