Files

Debian NFS-Client Setup in bhyve (XigmaNAS Umgebung)

Dieses Setup beschreibt, wie eine Debian-VM unter bhyve (z. B. auf XigmaNAS) eingerichtet wird,
um NFSv4-Freigaben von einem XigmaNAS-Server automatisch zu mounten.
Das Setup funktioniert mit Debian 12/13 und ist auf deine Konfiguration abgestimmt.


🧩 Vorbereitung

1. Root-Login per SSH erlauben

Nach der Debian-Installation ist der SSH-Zugang für root standardmäßig deaktiviert.
Damit du dich als root anmelden kannst, musst du die Datei anpassen:

nano /etc/ssh/sshd_config

Finde die Zeile:

#PermitRootLogin prohibit-password

und ändere sie zu:

PermitRootLogin yes

Dann Dienst neu starten:

systemctl restart ssh

🧰 Einrichtung des NFS-Clients

2. Setup-Skript ausführen

Kopiere das Skript setup-debian-nfs.sh auf die VM (z. B. nach /root/)
und führe es als root aus:

chmod +x /root/setup-debian-nfs.sh
./setup-debian-nfs.sh

Das Skript führt folgende Schritte aus:

  • Aktualisiert das System und installiert NFS-Komponenten
    (nfs-common, rpcbind, rpc-statd, nano)
  • Aktiviert die Dienste rpcbind, nfs-client.target, rpc-statd
  • Erstellt lokale Mountpoints (z. B. /docker/backups)
  • Sichert deine alte /etc/fstab
  • Fügt automatisch den passenden NFSv4-Mount-Eintrag hinzu:
    xigmanas.lan:/Backups/docker  /docker/backups  nfs4  rw,_netdev,nofail,sec=sys,minorversion=1,proto=tcp,sourceaddr=172.16.1.51  0  0
    
  • Mountet alle Freigaben direkt (mount -a)
  • Prüft am Ende mit findmnt, ob der Mount aktiv ist

🧠 Hinweise

  • Voraussetzung:
    Auf dem XigmaNAS-Server muss NFSv4 aktiviert sein und der Basis-NFS-Pfad
    (/mnt/Daten) im Freigabemenü angegeben sein.
    Dadurch mountet der Client das Dataset als /Backups/docker.

  • Netzwerk:
    Die VM nutzt die LAN-IP 172.16.1.51.
    Das Skript erzwingt die Nutzung dieses Interfaces, um nicht über Tailscale zu gehen.

  • Mount prüfen:

    mount | grep nfs
    

    Ausgabe sollte z. B. lauten:

    xigmanas.lan:/Backups/docker on /docker/backups type nfs4 (rw,sec=sys,vers=4.1,proto=tcp,...)
    
  • Fehlerbehebung:
    Wenn der Mount nicht klappt, sieh dir mit an:

    journalctl -xe | grep nfs
    

🧱 bhyve-Konfiguration (Beispiel)

guest="debian"
loader="uefi"
graphics="yes"
xhci_mouse="yes"
graphics_res="1024x768"

cpu=3
memory=4G

network0_type="virtio-net"
network0_switch="public"
network0_mac="58:9c:fc:07:6b:a5"

disk0_type="virtio-blk"
disk0_name="disk0"
disk0_dev="sparse-zvol"
uuid="7d2c86a8-ab61-11f0-a354-0cc47a66543c"

Ergebnis

Nach Ausführung des Skripts und Anpassung der sshd_config kannst du dich als root anmelden,
und die VM mountet beim Boot automatisch die Freigabe:

/docker/backups  →  xigmanas.lan:/Backups/docker

Überprüfen:

df -h | grep docker

Fertig 🎉