From ff0a1c8256713be0eff34a6afc4672fe1a93c71c Mon Sep 17 00:00:00 2001 From: migatu Date: Fri, 21 Aug 2026 12:40:24 +0200 Subject: [PATCH] =?UTF-8?q?docs(w=C4=99z=C5=82y):=20klient=20NFS=20jako=20?= =?UTF-8?q?jawny=20wym=C3=B3g=20wdro=C5=BCenia?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pody przestały wstawać z komunikatem „bad option ... you might need a /sbin/mount. helper program". To NIE jest problem z udziałem ani z uprawnieniami — serwer w ogóle nie został zapytany; jądro nie znalazło programu pomocniczego, bo na węźle brakowało nfs-common. Wymogu klienta NFS nie było w żadnym runbooku, choć wszystkie trzy warstwy montują udziały z NAS-a. Luka była uśpiona: wszystko stało na jednym węźle, który klienta miał, więc braku na pozostałych nie było jak zauważyć. Ujawniło się dopiero, gdy zejście do zera replik — przy zupełnie innej naprawie — przeplanowało pody gdzie indziej. Dopisana tabela odróżniająca trzy komunikaty, które łatwo pomylić, bo wszystkie kończą się niewstającym podem: brak klienta na węźle, odmowa serwera i brak praw do zapisu. Każdy ma inną przyczynę i inne miejsce naprawy. Co-Authored-By: Claude Opus 5 --- astrololo/README.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/astrololo/README.md b/astrololo/README.md index d887e7f..a9859b1 100644 --- a/astrololo/README.md +++ b/astrololo/README.md @@ -29,6 +29,49 @@ Runbook: **[README-pliki.md](README-pliki.md)**. Ekran „Pliki" wymaga zapisu d udziału z bazami, więc znosi gwarancję z DAN-25, że baz nie da się zmienić przez NFS. Co zostaje z zabezpieczeń i jak to wdrożyć — w runbooku. +## ⚠️ Wymóg węzłów: klient NFS + +Wszystkie warstwy montują udziały z NAS-a, więc **każdy węzeł, na którym może +wylądować pod, musi mieć klienta NFS**. Bez niego kubelet nie zamontuje wolumenu: + +``` +mount: ... bad option; for several filesystems (e.g. nfs, cifs) you might need +a /sbin/mount. helper program +``` + +Ten komunikat **nie oznacza problemu z udziałem ani z uprawnieniami** — serwer +w ogóle nie został zapytany. Jądro nie znalazło programu pomocniczego +`/sbin/mount.nfs`. + +### Sprawdzenie + +```bash +for N in 192.168.1.73 192.168.1.80 192.168.1.81; do + printf "%-15s " "$N" + ssh hammer@$N 'test -x /sbin/mount.nfs && echo MA-KLIENTA || echo BRAK-KLIENTA' +done +``` + +### Instalacja + +```bash +ssh hammer@ 'sudo apt-get update && sudo apt-get install -y nfs-common' +``` + +> **Na WSZYSTKICH węzłach, nie tylko na tym, gdzie pod stoi teraz.** Braku na +> pozostałych nie widać, dopóki scheduler tam czegoś nie przeniesie — a wtedy +> awaria wygląda na nagłą, choć przyczyna leżała od dawna. Dokładnie tak wyszło +> za pierwszym razem: pody działały miesiącami na jednym węźle, aż zejście do +> zera replik przy innej naprawie przeplanowało je gdzie indziej. + +### Skąd wiadomo, że to TO + +| komunikat | co znaczy | +|---|---| +| `bad option ... mount. helper program` | **brak `nfs-common` na węźle** — serwer niepytany | +| `access denied by server while mounting` | serwer odmawia: eksport nieprzeładowany, węzła nie ma na liście `hosts`, albo udział wyłączony | +| `Permission denied` przy zapisie | montowanie działa, brakuje praw — patrz `mapall_user` i właściciel katalogu | + ## ⚠️ Sekret `astrololo-auth` — utwórz PRZED wdrożeniem Aplikacja wystawia treść **oryginalnych baz interpretacyjnych**, dlatego wymaga