summaryrefslogtreecommitdiff
path: root/gemfeed
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-07-28 15:10:45 +0300
committerPaul Buetow <paul@buetow.org>2025-07-28 15:10:45 +0300
commita042ad419e7347c9d63f068aa94759e689c9f96f (patch)
tree194cbbea3ce0d4d70fd93b14a60737d8e17dcb28 /gemfeed
parentf7914ce3ebdd000c049a09de76ad22d750b247e8 (diff)
Update content for gemtext
Diffstat (limited to 'gemfeed')
-rw-r--r--gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi72
-rw-r--r--gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi.tpl72
-rw-r--r--gemfeed/atom.xml74
3 files changed, 124 insertions, 94 deletions
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 f02d2c9f..d4377b82 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
@@ -1414,7 +1414,6 @@ For the automatic recovery, we create a script:
MOUNT_POINT="/data/nfs/k3svolumes"
LOCK_FILE="/var/run/nfs-mount-check.lock"
-STATE_FILE="/var/run/nfs-mount.state"
# Use a lock file to prevent concurrent runs
if [ -f "$LOCK_FILE" ]; then
@@ -1423,46 +1422,57 @@ fi
touch "$LOCK_FILE"
trap "rm -f $LOCK_FILE" EXIT
-remount_it () {
- # Try to fix
- echo "Attempting to fix/remount NFS mount at $(date)" | systemd-cat -t nfs-monitor -p notice
- umount -f "$MOUNT_POINT" 2>/dev/null
- sleep 1
+fix_mount () {
+ echo "Attempting to remount NFS mount $MOUNT_POINT"
+ if mount -o remount -f "$MOUNT_POINT" 2>/dev/null; then
+ echo "Remount command issued for $MOUNT_POINT"
+ else
+ echo "Failed to remount NFS mount $MOUNT_POINT"
+ fi
- if mount "$MOUNT_POINT"; then
- echo "NFS mount fixed at $(date)" | systemd-cat -t nfs-monitor -p info
- rm -f "$STATE_FILE"
+ echo "Checking if $MOUNT_POINT is a mountpoint"
+ if mountpoint "$MOUNT_POINT" >/dev/null 2>&1; then
+ echo "$MOUNT_POINT is a valid mountpoint"
else
- echo "Failed to fix NFS mount at $(date)" | systemd-cat -t nfs-monitor -p err
+ echo "$MOUNT_POINT is not a valid mountpoint, attempting mount"
+ if mount "$MOUNT_POINT"; then
+ echo "Successfully mounted $MOUNT_POINT"
+ return
+ else
+ echo "Failed to mount $MOUNT_POINT"
+ fi
fi
-}
-# Quick check - ensure it's actually mounted
-if ! mountpoint -q "$MOUNT_POINT"; then
- echo "NFS mount not found at $(date)" | systemd-cat -t nfs-monitor -p err
- remount_it
-fi
+ echo "Attempting to unmount $MOUNT_POINT"
+ if umount -f "$MOUNT_POINT" 2>/dev/null; then
+ echo "Successfully unmounted $MOUNT_POINT"
+ else
+ echo "Failed to unmount $MOUNT_POINT (it might not be mounted)"
+ fi
-# Quick check - try to stat a directory with a very short timeout
-if timeout 2s stat "$MOUNT_POINT" >/dev/null 2>&1; then
- # Mount appears healthy
- if [ -f "$STATE_FILE" ]; then
- # Was previously unhealthy, log recovery
- echo "NFS mount recovered at $(date)" | systemd-cat -t nfs-monitor -p info
- rm -f "$STATE_FILE"
+ echo "Attempting to mount $MOUNT_POINT"
+ if mount "$MOUNT_POINT"; then
+ echo "NFS mount $MOUNT_POINT mounted successfully"
+ return
+ else
+ echo "Failed to mount NFS mount $MOUNT_POINT"
fi
- exit 0
-fi
-# Mount is unhealthy
-if [ ! -f "$STATE_FILE" ]; then
- # First detection of unhealthy state
- echo "NFS mount unhealthy detected at $(date)" | systemd-cat -t nfs-monitor -p warning
- touch "$STATE_FILE"
+ echo "Failed to fix NFS mount $MOUNT_POINT"
+ exit 1
+}
+
+if ! mountpoint "$MOUNT_POINT" >/dev/null 2>&1; then
+ echo "NFS mount $MOUNT_POINT not found"
+ fix_mount
fi
-remount_it
+if ! timeout 2s stat "$MOUNT_POINT" >/dev/null 2>&1; then
+ echo "NFS mount $MOUNT_POINT appears to be unresponsive"
+ fix_mount
+fi
EOF
+
[root@r0 ~]# chmod +x /usr/local/bin/check-nfs-mount.sh
```
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 b1a260c9..5548c7a6 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
@@ -1367,7 +1367,6 @@ For the automatic recovery, we create a script:
MOUNT_POINT="/data/nfs/k3svolumes"
LOCK_FILE="/var/run/nfs-mount-check.lock"
-STATE_FILE="/var/run/nfs-mount.state"
# Use a lock file to prevent concurrent runs
if [ -f "$LOCK_FILE" ]; then
@@ -1376,46 +1375,57 @@ fi
touch "$LOCK_FILE"
trap "rm -f $LOCK_FILE" EXIT
-remount_it () {
- # Try to fix
- echo "Attempting to fix/remount NFS mount at $(date)" | systemd-cat -t nfs-monitor -p notice
- umount -f "$MOUNT_POINT" 2>/dev/null
- sleep 1
+fix_mount () {
+ echo "Attempting to remount NFS mount $MOUNT_POINT"
+ if mount -o remount -f "$MOUNT_POINT" 2>/dev/null; then
+ echo "Remount command issued for $MOUNT_POINT"
+ else
+ echo "Failed to remount NFS mount $MOUNT_POINT"
+ fi
- if mount "$MOUNT_POINT"; then
- echo "NFS mount fixed at $(date)" | systemd-cat -t nfs-monitor -p info
- rm -f "$STATE_FILE"
+ echo "Checking if $MOUNT_POINT is a mountpoint"
+ if mountpoint "$MOUNT_POINT" >/dev/null 2>&1; then
+ echo "$MOUNT_POINT is a valid mountpoint"
else
- echo "Failed to fix NFS mount at $(date)" | systemd-cat -t nfs-monitor -p err
+ echo "$MOUNT_POINT is not a valid mountpoint, attempting mount"
+ if mount "$MOUNT_POINT"; then
+ echo "Successfully mounted $MOUNT_POINT"
+ return
+ else
+ echo "Failed to mount $MOUNT_POINT"
+ fi
fi
-}
-# Quick check - ensure it's actually mounted
-if ! mountpoint -q "$MOUNT_POINT"; then
- echo "NFS mount not found at $(date)" | systemd-cat -t nfs-monitor -p err
- remount_it
-fi
+ echo "Attempting to unmount $MOUNT_POINT"
+ if umount -f "$MOUNT_POINT" 2>/dev/null; then
+ echo "Successfully unmounted $MOUNT_POINT"
+ else
+ echo "Failed to unmount $MOUNT_POINT (it might not be mounted)"
+ fi
-# Quick check - try to stat a directory with a very short timeout
-if timeout 2s stat "$MOUNT_POINT" >/dev/null 2>&1; then
- # Mount appears healthy
- if [ -f "$STATE_FILE" ]; then
- # Was previously unhealthy, log recovery
- echo "NFS mount recovered at $(date)" | systemd-cat -t nfs-monitor -p info
- rm -f "$STATE_FILE"
+ echo "Attempting to mount $MOUNT_POINT"
+ if mount "$MOUNT_POINT"; then
+ echo "NFS mount $MOUNT_POINT mounted successfully"
+ return
+ else
+ echo "Failed to mount NFS mount $MOUNT_POINT"
fi
- exit 0
-fi
-# Mount is unhealthy
-if [ ! -f "$STATE_FILE" ]; then
- # First detection of unhealthy state
- echo "NFS mount unhealthy detected at $(date)" | systemd-cat -t nfs-monitor -p warning
- touch "$STATE_FILE"
+ echo "Failed to fix NFS mount $MOUNT_POINT"
+ exit 1
+}
+
+if ! mountpoint "$MOUNT_POINT" >/dev/null 2>&1; then
+ echo "NFS mount $MOUNT_POINT not found"
+ fix_mount
fi
-remount_it
+if ! timeout 2s stat "$MOUNT_POINT" >/dev/null 2>&1; then
+ echo "NFS mount $MOUNT_POINT appears to be unresponsive"
+ fix_mount
+fi
EOF
+
[root@r0 ~]# chmod +x /usr/local/bin/check-nfs-mount.sh
```
diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml
index 2d953034..23402770 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-07-28T14:27:18+03:00</updated>
+ <updated>2025-07-28T15:09:21+03:00</updated>
<title>foo.zone feed</title>
<subtitle>To be in the .zone!</subtitle>
<link href="gemini://foo.zone/gemfeed/atom.xml" rel="self" />
@@ -1609,7 +1609,6 @@ http://www.gnu.org/software/src-highlite -->
MOUNT_POINT=<font color="#808080">"/data/nfs/k3svolumes"</font>
LOCK_FILE=<font color="#808080">"/var/run/nfs-mount-check.lock"</font>
-STATE_FILE=<font color="#808080">"/var/run/nfs-mount.state"</font>
<i><font color="silver"># Use a lock file to prevent concurrent runs</font></i>
<b><u><font color="#000000">if</font></u></b> [ -f <font color="#808080">"$LOCK_FILE"</font> ]; <b><u><font color="#000000">then</font></u></b>
@@ -1618,46 +1617,57 @@ STATE_FILE=<font color="#808080">"/var/run/nfs-mount.state"</font>
touch <font color="#808080">"$LOCK_FILE"</font>
<b><u><font color="#000000">trap</font></u></b> <font color="#808080">"rm -f $LOCK_FILE"</font> EXIT
-remount_it () {
- <i><font color="silver"># Try to fix</font></i>
- echo <font color="#808080">"Attempting to fix/remount NFS mount at $(date)"</font> | systemd-cat -t nfs-monitor -p notice
- umount -f <font color="#808080">"$MOUNT_POINT"</font> <font color="#000000">2</font>&gt;/dev/null
- sleep <font color="#000000">1</font>
+fix_mount () {
+ echo <font color="#808080">"Attempting to remount NFS mount $MOUNT_POINT"</font>
+ <b><u><font color="#000000">if</font></u></b> mount -o remount -f <font color="#808080">"$MOUNT_POINT"</font> <font color="#000000">2</font>&gt;/dev/null; <b><u><font color="#000000">then</font></u></b>
+ echo <font color="#808080">"Remount command issued for $MOUNT_POINT"</font>
+ <b><u><font color="#000000">else</font></u></b>
+ echo <font color="#808080">"Failed to remount NFS mount $MOUNT_POINT"</font>
+ <b><u><font color="#000000">fi</font></u></b>
- <b><u><font color="#000000">if</font></u></b> mount <font color="#808080">"$MOUNT_POINT"</font>; <b><u><font color="#000000">then</font></u></b>
- echo <font color="#808080">"NFS mount fixed at $(date)"</font> | systemd-cat -t nfs-monitor -p info
- rm -f <font color="#808080">"$STATE_FILE"</font>
+ echo <font color="#808080">"Checking if $MOUNT_POINT is a mountpoint"</font>
+ <b><u><font color="#000000">if</font></u></b> mountpoint <font color="#808080">"$MOUNT_POINT"</font> &gt;/dev/null <font color="#000000">2</font>&gt;&amp;<font color="#000000">1</font>; <b><u><font color="#000000">then</font></u></b>
+ echo <font color="#808080">"$MOUNT_POINT is a valid mountpoint"</font>
<b><u><font color="#000000">else</font></u></b>
- echo <font color="#808080">"Failed to fix NFS mount at $(date)"</font> | systemd-cat -t nfs-monitor -p err
+ echo <font color="#808080">"$MOUNT_POINT is not a valid mountpoint, attempting mount"</font>
+ <b><u><font color="#000000">if</font></u></b> mount <font color="#808080">"$MOUNT_POINT"</font>; <b><u><font color="#000000">then</font></u></b>
+ echo <font color="#808080">"Successfully mounted $MOUNT_POINT"</font>
+ <b><u><font color="#000000">return</font></u></b>
+ <b><u><font color="#000000">else</font></u></b>
+ echo <font color="#808080">"Failed to mount $MOUNT_POINT"</font>
+ <b><u><font color="#000000">fi</font></u></b>
<b><u><font color="#000000">fi</font></u></b>
-}
-<i><font color="silver"># Quick check - ensure it's actually mounted</font></i>
-<b><u><font color="#000000">if</font></u></b> ! mountpoint -q <font color="#808080">"$MOUNT_POINT"</font>; <b><u><font color="#000000">then</font></u></b>
- echo <font color="#808080">"NFS mount not found at $(date)"</font> | systemd-cat -t nfs-monitor -p err
- remount_it
-<b><u><font color="#000000">fi</font></u></b>
+ echo <font color="#808080">"Attempting to unmount $MOUNT_POINT"</font>
+ <b><u><font color="#000000">if</font></u></b> umount -f <font color="#808080">"$MOUNT_POINT"</font> <font color="#000000">2</font>&gt;/dev/null; <b><u><font color="#000000">then</font></u></b>
+ echo <font color="#808080">"Successfully unmounted $MOUNT_POINT"</font>
+ <b><u><font color="#000000">else</font></u></b>
+ echo <font color="#808080">"Failed to unmount $MOUNT_POINT (it might not be mounted)"</font>
+ <b><u><font color="#000000">fi</font></u></b>
-<i><font color="silver"># Quick check - try to stat a directory with a very short timeout</font></i>
-<b><u><font color="#000000">if</font></u></b> timeout 2s stat <font color="#808080">"$MOUNT_POINT"</font> &gt;/dev/null <font color="#000000">2</font>&gt;&amp;<font color="#000000">1</font>; <b><u><font color="#000000">then</font></u></b>
- <i><font color="silver"># Mount appears healthy</font></i>
- <b><u><font color="#000000">if</font></u></b> [ -f <font color="#808080">"$STATE_FILE"</font> ]; <b><u><font color="#000000">then</font></u></b>
- <i><font color="silver"># Was previously unhealthy, log recovery</font></i>
- echo <font color="#808080">"NFS mount recovered at $(date)"</font> | systemd-cat -t nfs-monitor -p info
- rm -f <font color="#808080">"$STATE_FILE"</font>
+ echo <font color="#808080">"Attempting to mount $MOUNT_POINT"</font>
+ <b><u><font color="#000000">if</font></u></b> mount <font color="#808080">"$MOUNT_POINT"</font>; <b><u><font color="#000000">then</font></u></b>
+ echo <font color="#808080">"NFS mount $MOUNT_POINT mounted successfully"</font>
+ <b><u><font color="#000000">return</font></u></b>
+ <b><u><font color="#000000">else</font></u></b>
+ echo <font color="#808080">"Failed to mount NFS mount $MOUNT_POINT"</font>
<b><u><font color="#000000">fi</font></u></b>
- <b><u><font color="#000000">exit</font></u></b> <font color="#000000">0</font>
-<b><u><font color="#000000">fi</font></u></b>
-<i><font color="silver"># Mount is unhealthy</font></i>
-<b><u><font color="#000000">if</font></u></b> [ ! -f <font color="#808080">"$STATE_FILE"</font> ]; <b><u><font color="#000000">then</font></u></b>
- <i><font color="silver"># First detection of unhealthy state</font></i>
- echo <font color="#808080">"NFS mount unhealthy detected at $(date)"</font> | systemd-cat -t nfs-monitor -p warning
- touch <font color="#808080">"$STATE_FILE"</font>
+ echo <font color="#808080">"Failed to fix NFS mount $MOUNT_POINT"</font>
+ <b><u><font color="#000000">exit</font></u></b> <font color="#000000">1</font>
+}
+
+<b><u><font color="#000000">if</font></u></b> ! mountpoint <font color="#808080">"$MOUNT_POINT"</font> &gt;/dev/null <font color="#000000">2</font>&gt;&amp;<font color="#000000">1</font>; <b><u><font color="#000000">then</font></u></b>
+ echo <font color="#808080">"NFS mount $MOUNT_POINT not found"</font>
+ fix_mount
<b><u><font color="#000000">fi</font></u></b>
-remount_it
+<b><u><font color="#000000">if</font></u></b> ! timeout 2s stat <font color="#808080">"$MOUNT_POINT"</font> &gt;/dev/null <font color="#000000">2</font>&gt;&amp;<font color="#000000">1</font>; <b><u><font color="#000000">then</font></u></b>
+ echo <font color="#808080">"NFS mount $MOUNT_POINT appears to be unresponsive"</font>
+ fix_mount
+<b><u><font color="#000000">fi</font></u></b>
EOF
+
[root@r0 ~]<i><font color="silver"># chmod +x /usr/local/bin/check-nfs-mount.sh</font></i>
</pre>
<br />