summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--about/index.md3
-rw-r--r--about/resources.md200
-rw-r--r--gemfeed/2021-07-04-the-well-grounded-rubyist.md2
-rw-r--r--gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.md139
-rw-r--r--gemfeed/2025-10-11-key-takeaways-from-the-well-grounded-rubyist.md2
-rw-r--r--index.md2
-rw-r--r--uptime-stats.md32
7 files changed, 260 insertions, 120 deletions
diff --git a/about/index.md b/about/index.md
index 755feda0..a81bfb2f 100644
--- a/about/index.md
+++ b/about/index.md
@@ -39,7 +39,8 @@
### Unread books already in my shelf
* Inhibitor Phase; Alastair Reynolds; Audiobook
-* A Fire Upon the Deep (german: Ein Feuer auf der Tiefe); Vernor Vinge; eBook
+* A Fire Upon the Deep (german: Ein Feuer auf der Tiefe); Vernor Vinge; eBook (buecher.de)
+* Origin: Die Entdecknug (german); Andreas Brandhorst; eBook (buecher.de)
### Books on my wishlist
diff --git a/about/resources.md b/about/resources.md
index 0f66c368..87395d04 100644
--- a/about/resources.md
+++ b/about/resources.md
@@ -35,107 +35,107 @@ You won't find any links on this site because, over time, the links will break.
In random order:
-* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications
-* Concurrency in Go; Katherine Cox-Buday; O'Reilly
-* Ultimate Go Notebook; Bill Kennedy
-* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press
-* Leanring eBPF; Liz Rice; O'Reilly
-* Effective Java; Joshua Bloch; Addison-Wesley Professional
-* Pro Puppet; James Turnbull, Jeffrey McCune; Apress
-* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf
-* Raku Recipes; J.J. Merelo; Apress
-* Perl New Features; Joshua McAdams, brian d foy; Perl School
-* Systemprogrammierung in Go; Frank Müller; dpunkt
-* Terraform Cookbook; Mikael Krief; Packt Publishing
* The Docker Book; James Turnbull; Kindle
+* Terraform Cookbook; Mikael Krief; Packt Publishing
+* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
+* Pro Puppet; James Turnbull, Jeffrey McCune; Apress
+* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional
+* 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
* Data Science at the Command Line; Jeroen Janssens; O'Reilly
-* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly
-* The Pragmatic Programmer; David Thomas; Addison-Wesley
-* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible
+* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible
+* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt
+* Systemprogrammierung in Go; Frank Müller; dpunkt
+* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly
+* Funktionale Programmierung; Peter Pepper; Springer
+* DNS and BIND; Cricket Liu; O'Reilly
* Effective awk programming; Arnold Robbins; O'Reilly
-* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner
-* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly
-* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional
-* Chaos Engineering - System Resiliency in Practice; Casey Rosenthal and Nora Jones; eBook
+* Raku Recipes; J.J. Merelo; Apress
+* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press
* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson
+* Ultimate Go Notebook; Bill Kennedy
+* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly
+* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton
+* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications
+* Concurrency in Go; Katherine Cox-Buday; O'Reilly
* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly
-* Polished Ruby Programming; Jeremy Evans; Packt Publishing
-* Site Reliability Engineering; How Google runs production systems; O'Reilly
-* 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
+* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner
+* C++ Programming Language; Bjarne Stroustrup;
+* Perl New Features; Joshua McAdams, brian d foy; Perl School
+* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly
* Raku Fundamentals; Moritz Lenz; Apress
-* Modern Perl; Chromatic ; Onyx Neon Press
-* Higher Order Perl; Mark Dominus; Morgan Kaufmann
-* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press
-* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
-* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible
-* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton
+* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible
* Java ist auch eine Insel; Christian Ullenboom;
+* Chaos Engineering - System Resiliency in Practice; Casey Rosenthal and Nora Jones; eBook
+* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf
* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers
+* Higher Order Perl; Mark Dominus; Morgan Kaufmann
+* The Pragmatic Programmer; David Thomas; Addison-Wesley
+* Leanring eBPF; Liz Rice; O'Reilly
+* Effective Java; Joshua Bloch; Addison-Wesley Professional
* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers
-* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly
-* C++ Programming Language; Bjarne Stroustrup;
-* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly
-* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly
-* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt
-* DNS and BIND; Cricket Liu; O'Reilly
-* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly
+* Modern Perl; Chromatic ; Onyx Neon Press
+* Polished Ruby Programming; Jeremy Evans; Packt Publishing
+* Site Reliability Engineering; How Google runs production systems; O'Reilly
* Developing Games in Java; David Brackeen and others...; New Riders
-* Funktionale Programmierung; Peter Pepper; Springer
+* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly
+* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press
+* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly
+* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly
* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications
## 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:
+* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly
+* BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley
* Implementing Service Level Objectives; Alex Hidalgo; O'Reilly
* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley
-* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly
-* Relayd and Httpd Mastery; Michael W Lucas
* The Linux Programming Interface; Michael Kerrisk; No Starch Press
* Go: Design Patterns for Real-World Projects; Mat Ryer; Packt
* Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly
-* BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley
+* Relayd and Httpd Mastery; Michael W Lucas
## Self-development and soft-skills books
In random order:
-* Getting Things Done; David Allen
-* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd
-* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select
-* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly
-* 97 Things Every Engineering Manager Should Know; Camille Fournier; Audiobook
-* The Bullet Journal Method; Ryder Carroll; Fourth Estate
+* Influence without Authority; A. Cohen, D. Bradford; Wiley
+* Eat That Frog!; Brian Tracy; Hodder Paperbacks
* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook
-* So Good They Can't Ignore You; Cal Newport; Business Plus
-* Soft Skills; John Sommez; Manning Publications
-* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing
-* Solve for Happy; Mo Gawdat (RE-READ 1ST TIME)
+* Atomic Habits; James Clear; Random House Business
+* The Good Enough Job; Simone Stolzoff; Ebury Edge
+* Deep Work; Cal Newport; Piatkus
+* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)
* Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook
+* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing
+* Stop starting, start finishing; Arne Roock; Lean-Kanban University
+* Digital Minimalism; Cal Newport; Portofolio Penguin
+* 97 Things Every Engineering Manager Should Know; Camille Fournier; Audiobook
+* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd
+* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business
+* Soft Skills; John Sommez; Manning Publications
+* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly
+* Meditation for Mortals, Oliver Burkeman, Audiobook
+* Psycho-Cybernetics; Maxwell Maltz; Perigee Books
* Ultralearning; Anna Laurent; Self-published via Amazon
+* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion
* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK
-* The Power of Now; Eckhard Tolle; Yellow Kite
-* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook
-* Psycho-Cybernetics; Maxwell Maltz; Perigee Books
-* Eat That Frog!; Brian Tracy; Hodder Paperbacks
+* Solve for Happy; Mo Gawdat (RE-READ 1ST TIME)
+* 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
* The Joy of Missing Out; Christina Crook; New Society Publishers
-* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business
-* Meditation for Mortals, Oliver Burkeman, Audiobook
+* The Power of Now; Eckhard Tolle; Yellow Kite
+* Slow Productivity; Cal Newport; Penguin Random House
+* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne
* 101 Essays that change the way you think; Brianna Wiest; Audiobook
-* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)
* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press
-* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne
-* Digital Minimalism; Cal Newport; Portofolio Penguin
-* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion
-* Atomic Habits; James Clear; Random House Business
-* Stop starting, start finishing; Arne Roock; Lean-Kanban University
-* Slow Productivity; Cal Newport; Penguin Random House
-* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books
-* Eat That Frog; Brian Tracy
-* The Good Enough Job; Simone Stolzoff; Ebury Edge
-* Influence without Authority; A. Cohen, D. Bradford; Wiley
-* Deep Work; Cal Newport; Piatkus
+* So Good They Can't Ignore You; Cal Newport; Business Plus
* Ultralearning; Scott Young; Thorsons
+* Eat That Frog; Brian Tracy
+* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook
+* Getting Things Done; David Allen
+* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books
[Here are notes of mine for some of the books](../notes/index.md)
@@ -143,22 +143,22 @@ In random order:
Some of these were in-person with exams; others were online learning lectures only. In random order:
-* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online
-* Ultimate Go Programming; Bill Kennedy; O'Reilly Online
-* F5 Loadbalancers Training; 2-day on-site training; F5, Inc.
+* 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)
+* Scripting Vim; Damian Conway; O'Reilly Online
+* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training
* 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
-* 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)
-* Developing IaC with Terraform (with Live Lessons); O'Reilly Online
+* MySQL Deep Dive Workshop; 2-day on-site training
+* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online
+* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online
* Functional programming lecture; Remote University of Hagen
-* Structure and Interpretation of Computer Programs; Harold Abelson and more...;
+* F5 Loadbalancers Training; 2-day on-site training; F5, Inc.
* Protocol buffers; O'Reilly Online
-* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online
+* Developing IaC with Terraform (with Live Lessons); O'Reilly Online
+* Ultimate Go Programming; Bill Kennedy; O'Reilly Online
* AWS Immersion Day; Amazon; 1-day interactive online training
-* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training
+* Structure and Interpretation of Computer Programs; Harold Abelson and more...;
* Apache Tomcat Best Practises; 3-day on-site training
-* MySQL Deep Dive Workshop; 2-day on-site training
-* Scripting Vim; Damian Conway; O'Reilly Online
## Technical guides
@@ -174,58 +174,58 @@ These are not whole books, but guides (smaller or larger) which I found very use
In random order:
-* Wednesday Wisdom
+* BSD Now [BSD]
* Deep Questions with Cal Newport
-* Dev Interrupted
+* Fallthrough [Golang]
* Backend Banter
-* Maintainable
-* Hidden Brain
-* Pratical AI
-* Cup o' Go [Golang]
-* Modern Mentor
+* Wednesday Wisdom
* The Pragmatic Engineer Podcast
-* BSD Now [BSD]
-* Fallthrough [Golang]
-* Fork Around And Find Out
* The ProdCast (Google SRE Podcast)
+* Hidden Brain
+* Dev Interrupted
+* Fork Around And Find Out
+* Modern Mentor
+* Pratical AI
* The Changelog Podcast(s)
+* Maintainable
+* Cup o' Go [Golang]
### 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.
-* Modern Mentor
-* Ship It (predecessor of Fork Around And Find Out)
-* Go Time (predecessor of fallthrough)
-* FLOSS weekly
-* Java Pub House
* CRE: Chaosradio Express [german]
+* Java Pub House
+* FLOSS weekly
+* Go Time (predecessor of fallthrough)
+* Ship It (predecessor of Fork Around And Find Out)
+* Modern Mentor
## Newsletters I like
This is a mix of tech and non-tech newsletters I am subscribed to. In random order:
-* Register Spill
-* Applied Go Weekly Newsletter
+* byteSizeGo
* Ruby Weekly
* Golang Weekly
+* The Pragmatic Engineer
+* Applied Go Weekly Newsletter
* The Valuable Dev
-* Monospace Mentor
+* Register Spill
* The Imperfectionist
+* Monospace Mentor
+* Andreas Brandhorst Newsletter (Sci-Fi author)
* Changelog News
* VK Newsletter
-* Andreas Brandhorst Newsletter (Sci-Fi author)
-* byteSizeGo
-* The Pragmatic Engineer
## 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 User
* Linux Magazine
* LWN (online only)
-* Linux User
+* freeX (not published anymore)
# Formal education
diff --git a/gemfeed/2021-07-04-the-well-grounded-rubyist.md b/gemfeed/2021-07-04-the-well-grounded-rubyist.md
index c2efecf0..c0c0e612 100644
--- a/gemfeed/2021-07-04-the-well-grounded-rubyist.md
+++ b/gemfeed/2021-07-04-the-well-grounded-rubyist.md
@@ -120,7 +120,7 @@ E-Mail your comments to `paul@nospam.buetow.org` :-)
Other Ruby-related posts:
-[2025-10-11 Key Takeaways from The Well-Grounded Rubyist](./2025-10-11-key-takeaways-from-the-well-grounded-rubyist.md)
+[2025-10-11 Key kakeaways from The Well-Grounded Rubyist](./2025-10-11-key-takeaways-from-the-well-grounded-rubyist.md)
[2021-07-04 The Well-Grounded Rubyist (You are currently reading this)](./2021-07-04-the-well-grounded-rubyist.md)
[Back to the main site](../)
diff --git a/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.md b/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.md
index 4e060a6d..1a22e60d 100644
--- a/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.md
+++ b/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.md
@@ -35,6 +35,13 @@ This is the sixth blog post about the f3s series for self-hosting demands in a h
* [⇢ ⇢ ⇢ Mounting the NFS datasets](#mounting-the-nfs-datasets)
* [⇢ ⇢ ⇢ Troubleshooting: Files not appearing in replication](#troubleshooting-files-not-appearing-in-replication)
* [⇢ ⇢ ⇢ Configuring automatic key loading on boot](#configuring-automatic-key-loading-on-boot)
+* [⇢ ⇢ ⇢ Troubleshooting: zrepl Replication Not Working](#troubleshooting-zrepl-replication-not-working)
+* [⇢ ⇢ ⇢# Check if zrepl Services are Running](#-check-if-zrepl-services-are-running)
+* [⇢ ⇢ ⇢# Check zrepl Status for Errors](#-check-zrepl-status-for-errors)
+* [⇢ ⇢ ⇢# Fixing "No Common Snapshot" Errors](#-fixing-no-common-snapshot-errors)
+* [⇢ ⇢ ⇢# Network Connectivity Issues](#-network-connectivity-issues)
+* [⇢ ⇢ ⇢# Encryption Key Issues](#-encryption-key-issues)
+* [⇢ ⇢ ⇢# Monitoring Ongoing Replication](#-monitoring-ongoing-replication)
* [⇢ ⇢ CARP (Common Address Redundancy Protocol)](#carp-common-address-redundancy-protocol)
* [⇢ ⇢ ⇢ How CARP Works](#how-carp-works)
* [⇢ ⇢ ⇢ Configuring CARP](#configuring-carp)
@@ -685,6 +692,138 @@ Important notes:
* Always verify datasets are mounted after reboot with `zfs list -o name,mounted`
* Critical: Always ensure the replicated dataset on `f1` remains read-only with `doas zfs set readonly=on zdata/sink/f0/zdata/enc/nfsdata`
+### Troubleshooting: zrepl Replication Not Working
+
+If `zrepl` replication is not working, here's a systematic approach to diagnose and fix common issues:
+
+#### Check if zrepl Services are Running
+
+First, verify that `zrepl` is running on both nodes:
+
+```sh
+# Check service status on both f0 and f1
+paul@f0:~ % doas service zrepl status
+paul@f1:~ % doas service zrepl status
+
+# If not running, start the service
+paul@f0:~ % doas service zrepl start
+paul@f1:~ % doas service zrepl start
+```
+
+#### Check zrepl Status for Errors
+
+Use the status command to see detailed error information:
+
+```sh
+# Check detailed status (use --mode raw for non-tty environments)
+paul@f0:~ % doas zrepl status --mode raw
+
+# Look for error messages in the replication section
+# Common errors include "no common snapshot" or connection failures
+```
+
+#### Fixing "No Common Snapshot" Errors
+
+This is the most common replication issue, typically occurring when:
+
+* The receiver has existing snapshots that don't match the sender
+* Different snapshot naming schemes are in use
+* The receiver dataset was created independently
+
+**Error message example:**
+```
+no common snapshot or suitable bookmark between sender and receiver
+```
+
+**Solution: Clean up conflicting snapshots on receiver**
+
+```sh
+# First, identify the destination dataset on f1
+paul@f1:~ % doas zfs list | grep sink
+
+# Check existing snapshots on the problematic dataset
+paul@f1:~ % doas zfs list -t snapshot | grep nfsdata
+
+# If you see snapshots with different naming (e.g., @daily-*, @weekly-*)
+# these conflict with zrepl's @zrepl_* snapshots
+
+# Destroy the entire destination dataset to allow clean replication
+paul@f1:~ % doas zfs destroy -r zdata/sink/f0/zdata/enc/nfsdata
+
+# For VM replication, do the same for the fedora dataset
+paul@f1:~ % doas zfs destroy -r zdata/sink/f0/zroot/bhyve/fedora
+
+# Wake up zrepl to start fresh replication
+paul@f0:~ % doas zrepl signal wakeup f0_to_f1_nfsdata
+paul@f0:~ % doas zrepl signal wakeup f0_to_f1_fedora
+
+# Check replication status
+paul@f0:~ % doas zrepl status --mode raw
+```
+
+**Verification that replication is working:**
+
+```sh
+# Look for "stepping" state and active zfs send processes
+paul@f0:~ % doas zrepl status --mode raw | grep -A5 "State.*stepping"
+
+# Check for active ZFS commands
+paul@f0:~ % doas zrepl status --mode raw | grep -A10 "ZFSCmds.*Active"
+
+# Monitor progress - bytes replicated should be increasing
+paul@f0:~ % doas zrepl status --mode raw | grep BytesReplicated
+```
+
+#### Network Connectivity Issues
+
+If replication fails to connect:
+
+```sh
+# Test connectivity between nodes
+paul@f0:~ % nc -zv 192.168.2.131 8888
+
+# Check if zrepl is listening on f1
+paul@f1:~ % doas netstat -an | grep 8888
+
+# Verify WireGuard tunnel is working
+paul@f0:~ % ping 192.168.2.131
+```
+
+#### Encryption Key Issues
+
+If encrypted replication fails:
+
+```sh
+# Verify encryption keys are available on both nodes
+paul@f0:~ % doas zfs get keystatus zdata/enc/nfsdata
+paul@f1:~ % doas zfs get keystatus zdata/sink/f0/zdata/enc/nfsdata
+
+# Load keys if unavailable
+paul@f1:~ % doas zfs load-key -L file:///keys/f0.lan.buetow.org:zdata.key \
+ zdata/sink/f0/zdata/enc/nfsdata
+```
+
+#### Monitoring Ongoing Replication
+
+After fixing issues, monitor replication health:
+
+```sh
+# Monitor replication progress (run repeatedly to check status)
+paul@f0:~ % doas zrepl status --mode raw | grep -A10 BytesReplicated
+
+# Or install watch from ports and use it
+paul@f0:~ % doas pkg install watch
+paul@f0:~ % watch -n 5 'doas zrepl status --mode raw | grep -A10 BytesReplicated'
+
+# Check for new snapshots being created
+paul@f0:~ % doas zfs list -t snapshot | grep zrepl | tail -5
+
+# Verify snapshots appear on receiver
+paul@f1:~ % doas zfs list -t snapshot -r zdata/sink | grep zrepl | tail -5
+```
+
+This troubleshooting process resolves the most common `zrepl` issues and ensures continuous data replication between your storage nodes.
+
## CARP (Common Address Redundancy Protocol)
High availability is crucial for storage systems. If the storage server goes down, all NFS clients (which will also be Kubernetes pods later on in this series) lose access to their persistent data. CARP provides a solution by creating a virtual IP address that automatically migrates to a different server during failures. This means that clients point to that VIP for NFS mounts and are always contacting the current primary node.
diff --git a/gemfeed/2025-10-11-key-takeaways-from-the-well-grounded-rubyist.md b/gemfeed/2025-10-11-key-takeaways-from-the-well-grounded-rubyist.md
index 9ab01443..1667546f 100644
--- a/gemfeed/2025-10-11-key-takeaways-from-the-well-grounded-rubyist.md
+++ b/gemfeed/2025-10-11-key-takeaways-from-the-well-grounded-rubyist.md
@@ -217,7 +217,7 @@ E-Mail your comments to `paul@nospam.buetow.org` :-)
Other Ruby-related posts:
-[2025-10-11 Key Takeaways from The Well-Grounded Rubyist (You are currently reading this)](./2025-10-11-key-takeaways-from-the-well-grounded-rubyist.md)
+[2025-10-11 Key kakeaways from The Well-Grounded Rubyist (You are currently reading this)](./2025-10-11-key-takeaways-from-the-well-grounded-rubyist.md)
[2021-07-04 The Well-Grounded Rubyist](./2021-07-04-the-well-grounded-rubyist.md)
[Back to the main site](../)
diff --git a/index.md b/index.md
index baf0775e..288f6845 100644
--- a/index.md
+++ b/index.md
@@ -1,6 +1,6 @@
# Hello!
-> This site was generated at 2025-10-11T15:44:10+03:00 by `Gemtexter`
+> This site was generated at 2025-10-12T11:09:49+03:00 by `Gemtexter`
Welcome to the foo.zone!
diff --git a/uptime-stats.md b/uptime-stats.md
index 58387cce..64c61dc7 100644
--- a/uptime-stats.md
+++ b/uptime-stats.md
@@ -1,6 +1,6 @@
# My machine uptime stats
-> This site was last updated at 2025-10-11T15:44:10+03:00
+> This site was last updated at 2025-10-12T11:09:49+03: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.
@@ -23,7 +23,7 @@ Boots is the total number of host boots over the entire lifespan.
+-----+----------------+-------+-------------------------------+
| 1. | alphacentauri | 671 | FreeBSD 11.4-RELEASE-p7 |
| 2. | mars | 207 | Linux 3.2.0-4-amd64 |
-| 3. | *earth | 206 | Linux 6.16.10-200.fc42.x86_64 |
+| 3. | *earth | 207 | Linux 6.16.10-200.fc42.x86_64 |
| 4. | callisto | 153 | Linux 4.0.4-303.fc22.x86_64 |
| 5. | dionysus | 136 | FreeBSD 13.0-RELEASE-p11 |
| 6. | tauceti-e | 120 | Linux 3.2.0-4-amd64 |
@@ -33,8 +33,8 @@ Boots is the total number of host boots over the entire lifespan.
| 10. | *f0 | 62 | FreeBSD 14.3-RELEASE |
| 11. | uranus | 59 | NetBSD 10.1 |
| 12. | pluto | 51 | Linux 3.2.0-4-amd64 |
-| 13. | *mega-m3-pro | 50 | Darwin 24.6.0 |
-| 14. | mega15289 | 50 | Darwin 23.4.0 |
+| 13. | mega15289 | 50 | Darwin 23.4.0 |
+| 14. | *mega-m3-pro | 50 | Darwin 24.6.0 |
| 15. | *fishfinger | 46 | OpenBSD 7.7 |
| 16. | *t450 | 44 | FreeBSD 14.2-RELEASE |
| 17. | *blowfish | 43 | OpenBSD 7.7 |
@@ -54,8 +54,8 @@ Uptime is the total uptime of a host over the entire lifespan.
+-----+----------------+-----------------------------+-----------------------------------+
| 1. | vulcan | 4 years, 5 months, 6 days | Linux 3.10.0-1160.81.1.el7.x86_64 |
| 2. | *blowfish | 3 years, 10 months, 2 days | OpenBSD 7.7 |
-| 3. | sun | 3 years, 9 months, 26 days | FreeBSD 10.3-RELEASE-p24 |
-| 4. | *earth | 3 years, 9 months, 26 days | Linux 6.16.10-200.fc42.x86_64 |
+| 3. | *earth | 3 years, 9 months, 29 days | Linux 6.16.10-200.fc42.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 |
| 7. | *fishfinger | 3 years, 1 months, 28 days | OpenBSD 7.7 |
@@ -150,7 +150,7 @@ Lifespan is the total uptime + the total downtime of a host.
| 3. | alphacentauri | 6 years, 9 months, 13 days | FreeBSD 11.4-RELEASE-p7 |
| 4. | vulcan | 4 years, 5 months, 6 days | Linux 3.10.0-1160.81.1.el7.x86_64 |
| 5. | makemake | 4 years, 4 months, 7 days | Linux 6.9.9-200.fc40.x86_64 |
-| 6. | *earth | 4 years, 3 months, 15 days | Linux 6.16.10-200.fc42.x86_64 |
+| 6. | *earth | 4 years, 3 months, 19 days | Linux 6.16.10-200.fc42.x86_64 |
| 7. | *blowfish | 3 years, 10 months, 3 days | OpenBSD 7.7 |
| 8. | sun | 3 years, 10 months, 2 days | FreeBSD 10.3-RELEASE-p24 |
| 9. | uugrn | 3 years, 5 months, 5 days | FreeBSD 11.2-RELEASE-p4 |
@@ -179,7 +179,7 @@ Boots is the total number of host boots over the entire lifespan.
| 1. | FreeBSD 10... | 551 |
| 2. | Linux 3... | 550 |
| 3. | *FreeBSD 14... | 215 |
-| 4. | *Linux 6... | 186 |
+| 4. | *Linux 6... | 187 |
| 5. | Linux 5... | 162 |
| 6. | Linux 4... | 161 |
| 7. | FreeBSD 11... | 153 |
@@ -187,15 +187,15 @@ Boots is the total number of host boots over the entire lifespan.
| 9. | *OpenBSD 7... | 99 |
| 10. | Darwin 13... | 40 |
| 11. | Darwin 23... | 30 |
-| 12. | *Darwin 24... | 25 |
-| 13. | FreeBSD 5... | 25 |
+| 12. | FreeBSD 5... | 25 |
+| 13. | *Darwin 24... | 25 |
| 14. | Linux 2... | 22 |
| 15. | Darwin 21... | 17 |
| 16. | Darwin 15... | 15 |
| 17. | Darwin 22... | 12 |
| 18. | Darwin 18... | 11 |
| 19. | OpenBSD 4... | 10 |
-| 20. | FreeBSD 6... | 10 |
+| 20. | FreeBSD 7... | 10 |
+-----+----------------+-------+
```
@@ -211,7 +211,7 @@ Uptime is the total uptime of a host over the entire lifespan.
| 2. | *OpenBSD 7... | 7 years, 6 months, 29 days |
| 3. | FreeBSD 10... | 5 years, 9 months, 9 days |
| 4. | Linux 5... | 4 years, 10 months, 21 days |
-| 5. | *Linux 6... | 2 years, 12 months, 23 days |
+| 5. | *Linux 6... | 2 years, 12 months, 26 days |
| 6. | Linux 4... | 2 years, 7 months, 22 days |
| 7. | FreeBSD 11... | 2 years, 4 months, 28 days |
| 8. | *FreeBSD 14... | 2 years, 3 months, 24 days |
@@ -242,7 +242,7 @@ Score is calculated by combining all other metrics.
| 2. | *OpenBSD 7... | 484 |
| 3. | FreeBSD 10... | 406 |
| 4. | Linux 5... | 317 |
-| 5. | *Linux 6... | 206 |
+| 5. | *Linux 6... | 207 |
| 6. | Linux 4... | 175 |
| 7. | *FreeBSD 14... | 161 |
| 8. | FreeBSD 11... | 159 |
@@ -269,7 +269,7 @@ Boots is the total number of host boots over the entire lifespan.
+-----+------------+-------+
| Pos | KernelName | Boots |
+-----+------------+-------+
-| 1. | *Linux | 1081 |
+| 1. | *Linux | 1082 |
| 2. | *FreeBSD | 1080 |
| 3. | *Darwin | 155 |
| 4. | *OpenBSD | 109 |
@@ -285,7 +285,7 @@ Uptime is the total uptime of a host over the entire lifespan.
+-----+------------+-----------------------------+
| Pos | KernelName | Uptime |
+-----+------------+-----------------------------+
-| 1. | *Linux | 28 years, 1 months, 15 days |
+| 1. | *Linux | 28 years, 1 months, 18 days |
| 2. | *FreeBSD | 12 years, 2 months, 24 days |
| 3. | *OpenBSD | 8 years, 2 months, 7 days |
| 4. | *Darwin | 4 years, 12 months, 18 days |
@@ -301,7 +301,7 @@ Score is calculated by combining all other metrics.
+-----+------------+-------+
| Pos | KernelName | Score |
+-----+------------+-------+
-| 1. | *Linux | 1865 |
+| 1. | *Linux | 1866 |
| 2. | *FreeBSD | 862 |
| 3. | *OpenBSD | 523 |
| 4. | *Darwin | 329 |