mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-02 19:02:31 +00:00
129 lines
11 KiB
JSON
129 lines
11 KiB
JSON
{
|
||||
|
|
"meta": {
|
|||
|
|
"title": "NFS Client in LXC | ProxMenux Dokumentation",
|
|||
|
|
"description": "NFS-Freigaben direkt in einem Proxmox-LXC-Container mit ProxMenux einhängen. Installiert nfs-common automatisch, unterstützt automatische Erkennung im LAN, dauerhafte Mounts über /etc/fstab und sichere Starteinstellungen. Erfordert einen privilegierten Container.",
|
|||
|
|
"ogTitle": "NFS Client in LXC | ProxMenux Dokumentation",
|
|||
|
|
"ogDescription": "NFS-Freigaben in einem privilegierten LXC einhängen. Automatische Erkennung, dauerhafte Einträge in /etc/fstab und sichere Starteinstellungen."
|
|||
|
|
},
|
|||
|
|
"header": {
|
|||
|
|
"title": "NFS-Client in LXC",
|
|||
|
|
"description": "NFS-Freigaben direkt in einem Proxmox-LXC-Container einhängen. Der Container ist ein eigener NFS-Client: Er kommuniziert über das Netzwerk mit dem Server, führt mount.nfs aus und schreibt in /etc/fstab. ProxMenux installiert nfs-common, hilft beim Auffinden von Servern und Exporten und setzt sichere Starteinstellungen.",
|
|||
|
|
"section": "Speicher und Freigaben · LXC"
|
|||
|
|
},
|
|||
|
|
"privReq": {
|
|||
|
|
"title": "Privilegierter Container erforderlich",
|
|||
|
|
"body": "Der Kernel-<code>mount.nfs</code>-Client benötigt Funktionen (mindestens <code>SYS_ADMIN</code>), die nicht privilegierte LXC-Container nicht bereitstellen. Das Skript erzwingt dies - es fordert Sie auf, einen CT auszuwählen, und <strong>bricht bei unprivilegierten CTs ab</strong>. Wenn Sie die Freigabe in einem unprivilegierten CT benötigen, montieren Sie sie zuerst auf dem Proxmox-Host (mit <hostNfsLink>NFS-Freigabe als Proxmox-Speicher</hostNfsLink>) und binden Sie sie mit dem <mountLink>LXC-Mount-Manager</mountLink> in den CT ein."
|
|||
|
|
},
|
|||
|
|
"what": {
|
|||
|
|
"heading": "Was das macht",
|
|||
|
|
"body": "Im Gegensatz zum LXC Mount Manager, der den CT dazu bringt, etwas <em>via</em> im Proxmox-Host zu sehen, gibt dieses Skript dem Container seinen <strong>eigenen NFS-Client</strong>: Er spricht NFS über das Netzwerk, mountet Shares direkt vom NFS-Server und speichert das Mount im <code>/etc/fstab</code> des Containers. Der Proxmox-Host befindet sich nicht im Datenpfad.",
|
|||
|
|
"diagramServerLabel": "NFS-Server",
|
|||
|
|
"diagramServerDetail": "/export/data",
|
|||
|
|
"diagramHostLabel": "Proxmox-Host",
|
|||
|
|
"diagramHostDetail": "(nur eine\nNetzwerkbrücke)",
|
|||
|
|
"diagramCtLabel": "LXC (privilegiert)",
|
|||
|
|
"diagramCtDetail": "/mnt/data\nmount.nfs im CT",
|
|||
|
|
"diagramArrow": "NFS",
|
|||
|
|
"twoWaysTitle": "Zwei Möglichkeiten, einem CT NFS Zugang zu gewähren - wählen Sie einen",
|
|||
|
|
"twoWaysBind": "<strong>Bind-Mount über den Host</strong> (<mountLink>LXC Mount Manager</mountLink>): Der Host bindet die NFS-Freigabe einmal ein; jeder CT erhält denselben Pfad als Bind-Mount. Funktioniert mit unprivilegierten CTs und empfiehlt sich, wenn mehrere CTs dieselbe Freigabe benötigen.",
|
|||
|
|
"twoWaysDirect": "<strong>Direct NFS Mount im CT</strong> (diese Seite): Der CT montiert den NFS selbst. Erfordert Privilegien. Nützlich, wenn der CT seine Verbindung / Anmeldeinformationen besitzen muss, oder für Setups, bei denen jeder CT mit einem anderen Server spricht."
|
|||
|
|
},
|
|||
|
|
"opening": {
|
|||
|
|
"heading": "Öffnen des Tools",
|
|||
|
|
"body": "Öffnen Sie im Hauptmenü von ProxMenux <strong>Storage & Share Manager → NFS-Client in LXC (nur privilegiert)</strong> konfigurieren. ProxMenux fordert Sie zuerst auf, <strong> das Ziel CT</strong> auszuwählen (und startet es, wenn es gestoppt wird); abbricht, wenn es nicht privilegiert ist. Sobald das CT ausgewählt ist, sehen Sie dieses sub-Menü:",
|
|||
|
|
"imageAlt": "NFS Client-Manager-Menü — Mount / View / Unmount / Testverbindung"
|
|||
|
|
},
|
|||
|
|
"howRuns": {
|
|||
|
|
"heading": "Wie das Skript läuft (Mount Flow)"
|
|||
|
|
},
|
|||
|
|
"fstabFlags": {
|
|||
|
|
"heading": "Warum diese Fstab Flags",
|
|||
|
|
"intro": "Für permanente Mounts fügt das Skript drei Flags hinzu, die über die Standard-NFS-Optionen hinausgehen: <code>_netdev,x-systemd.automount,noauto</code>. Jeder löst ein echtes Boot-Time-Problem:",
|
|||
|
|
"headerFlag": "Flagge",
|
|||
|
|
"headerEffect": "Was es tut",
|
|||
|
|
"rows": [
|
|||
|
|
{
|
|||
|
|
"flag": "_netdev",
|
|||
|
|
"effect": "Sagt dem init-system, dass dieses mount das netzwerk benötigt. Boot blockiert nicht das Warten darauf, bevor das Netzwerk aufgebaut ist."
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"flag": "x-systemd.automount",
|
|||
|
|
"effectRich": "Erstellt eine automatische systemd-Einheit: Die Mount erfolgt nur beim ersten Zugriff auf <code>/mnt/<path></code>. NFS-Server, der beim Booten nicht erreichbar ist, stoppt den CT nicht."
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"flag": "noauto",
|
|||
|
|
"effect": "Überspringt das sofortige Einhängen beim Booten. Zusammen mit der Automount-Einheit wird der Mount erst beim ersten Zugriff eingerichtet."
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"netEffectTitle": "Nettoeffekt",
|
|||
|
|
"netEffectBody": "Das NFS-Dateisystem wird beim <em>ersten Zugriff</em> eingehängt statt sofort beim Booten. Ist der Server offline, kann dieser Zugriff warten oder fehlschlagen; davon abhängige Dienste können betroffen sein. Automount verringert die Abhängigkeit beim Booten, garantiert aber nicht, dass alle CT-Dienste von einem NFS-Ausfall unberührt bleiben."
|
|||
|
|
},
|
|||
|
|
"manual": {
|
|||
|
|
"heading": "Manuelles Äquivalent",
|
|||
|
|
"body": "Replizieren Sie den gesamten Ablauf per Hand – jeder Befehl führt <strong> im CT</strong> über <code>pct exec <ctid> --</code> oder direkt über <code>pct enter <ctid></code> aus:"
|
|||
|
|
},
|
|||
|
|
"view": {
|
|||
|
|
"heading": "Aktuelle Mounts anzeigen",
|
|||
|
|
"body": "Listet jeden NFS-Montagepunkt auf, der innerhalb des CT (<code>mount | grep nfs</code>) aktiv ist, sowie jede NFS-Linie im <code>/etc/fstab</code> des CT. Für jeden fstab-eintrag wird der live-mount-status angezeigt - nützlich, um permanente mounts zu erkennen, die beim booten nicht aufgekommen sind."
|
|||
|
|
},
|
|||
|
|
"unmount": {
|
|||
|
|
"heading": "NFS-Freigabe aushängen",
|
|||
|
|
"body": "Kombiniert die Live-Mounts und die fstab-Einträge in einer Liste, lässt Sie einen auswählen und <strong>entfernt die entsprechende Zeile aus <code>/etc/fstab</code></strong>. Das Skript führt <em>nicht</em> <code>umount</code> auf dem Live-Mount aus – stattdessen teilt es Ihnen mit, dass ein CT Neustart erforderlich ist, damit das Unmounten wirksam wird.",
|
|||
|
|
"warnTitle": "Das Skript entfernt fstab-Einträge, nicht Live-Mounts",
|
|||
|
|
"warnBody": "Dies ist eine bewusste Entscheidung: <code>umount</code> schlägt bei einem noch verwendeten Mount mit „device busy“ fehl, wenn ein Prozess im CT darauf zugreift. Ohne den fstab-Eintrag wird der Mount beim nächsten CT-Start nicht erneut eingerichtet. Soll er <em>sofort</em> verschwinden und sind Sie sicher, dass nichts mehr darauf zugreift, führen Sie nach Abschluss des Skripts <code>pct exec <ctid> -- umount /mnt/<path></code> manuell aus."
|
|||
|
|
},
|
|||
|
|
"test": {
|
|||
|
|
"heading": "NFS-Verbindung testen",
|
|||
|
|
"body": "Diagnose im CT: Prüft, ob <code>nfs-common</code> installiert ist und <code>rpcbind</code> läuft, und listet die aktuellen NFS-Mounts auf. Anschließend wird für jeden in fstab eingetragenen NFS-Server die Folge Ping → Port 2049 → <code>showmount -e</code> geprüft. Ein sinnvoller erster Schritt, wenn ein dauerhafter Mount nicht verfügbar wird."
|
|||
|
|
},
|
|||
|
|
"troubleshoot": {
|
|||
|
|
"heading": "Fehlerbehebung",
|
|||
|
|
"privTitle": "Privilegierter Container erforderlich (Skript bricht ab)",
|
|||
|
|
"privBody": "Der ausgewählte CT ist unprivilegiert. Der Kernel-NFS-Client benötigt <code>SYS_ADMIN</code>-Fähigkeiten, die nicht privilegierte CTs nicht aussetzen. Entweder konvertieren Sie die CT in privilegierte (die Konvertierung von Disk Manager & ist auf der <importLink>Import Disk in LXC</importLink> Seite dokumentiert) oder verwenden Sie den alternativen Pfad, der in der Warnung oben auf dieser Seite beschrieben ist.",
|
|||
|
|
"aptTitle": "apt-get install nfs-common fails",
|
|||
|
|
"aptIntro": "Das Skript nimmt eine Debian-Familie CT (<code>apt-get</code>) an. Wenn der CT Alpine / Arch / Rocky / Alma läuft, schlägt der Installationsschritt lautlos fehl. Installieren Sie den NFS-Client von Hand für diese Distribution:",
|
|||
|
|
"aptItems": [
|
|||
|
|
"Alpine: <code>apk add nfs-utils</code>",
|
|||
|
|
"Arch: <code>pacman -S nfs-utils</code>",
|
|||
|
|
"Rocky / Alma: <code>dnf install nfs-utils</code>"
|
|||
|
|
],
|
|||
|
|
"aptOutro": "Führen Sie dann das ProxMenux-Skript erneut aus - der Installationsschritt überspringt, wenn die Tools bereits vorhanden sind.",
|
|||
|
|
"portTitle": "\"NFS port (2049) is not accessible\"",
|
|||
|
|
"portBody": "Ping war erfolgreich, aber <code>nc -z <server> 2049</code> scheiterte innerhalb des CT. Überprüfen Sie, ob der NFS-Dienst auf dem Server ausgeführt wird, ob die Firewall 2049 aus dem Netzwerk des CT zulässt und ob der CT tatsächlich eine gültige Netzwerkroute hat (probieren Sie <code>pct exec <ctid> -- ip route</code>).",
|
|||
|
|
"bootTitle": "Permanent Mount gelingt, kommt aber nicht beim Booten",
|
|||
|
|
"bootBody": "Fast immer einer von: Das Netzwerk ist nicht bereit, wenn die CT-Mounts (die <code>_netdev,x-systemd.automount,noauto</code>-Flags des Skripts beheben dies - fügen Sie das Mount über das Skript erneut hinzu, wenn Sie die Fstab-Zeile von Hand ohne diese geschrieben haben), der Server ist beim Booten nicht erreichbar (Auto-Mount wartet auf den ersten Zugriff - das ist normal), oder DNS ist beim Booten ungelöst (verwenden Sie die IP des Servers, nicht seinen Hostnamen).",
|
|||
|
|
"squashTitle": "Server Squashes root, kein Schreibzugriff von innen CT",
|
|||
|
|
"squashIntro": "Der NFS-Export verwendet <code>root_squash</code> (Standard) und der CT schreibt als root. Zwei Optionen:",
|
|||
|
|
"squashItems": [
|
|||
|
|
"Server-Seite: Ändern Sie den Export in <code>no_root_squash</code> (nur wenn Sie dem CT vertrauen).",
|
|||
|
|
"CT-Seite: Schreiben Sie als Nicht-Root-Benutzer, den der Server akzeptiert, oder chownen Sie die Freigabe entsprechend."
|
|||
|
|
],
|
|||
|
|
"squashOutro": "ProxMenux kann dies nicht beheben - es ist eine Serverrichtlinie."
|
|||
|
|
},
|
|||
|
|
"related": {
|
|||
|
|
"heading": "Verwandte Themen",
|
|||
|
|
"items": [
|
|||
|
|
{
|
|||
|
|
"href": "/docs/storage-share/lxc-mount-points",
|
|||
|
|
"label": "LXC-Einhängepunkte (Host ↔ Container)",
|
|||
|
|
"tail": "— die Alternative für unprivilegierte CTs: mount on host, bind in CT."
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"href": "/docs/storage-share/lxc-samba-client",
|
|||
|
|
"label": "Samba-Client in LXC",
|
|||
|
|
"tail": " — verwandte Seite mit demselben Ablauf für SMB-/CIFS-Freigaben."
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"href": "/docs/storage-share/lxc-nfs-server",
|
|||
|
|
"label": "NFS Server in LXC",
|
|||
|
|
"tailRich": " — die umgekehrte Richtung: Ordner <em>aus</em> einem CT über NFS freigeben."
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"href": "/docs/storage-share/host-nfs",
|
|||
|
|
"label": "NFS-Freigabe als Proxmox-Speicher",
|
|||
|
|
"tail": " — die Freigabe direkt in Proxmox statt in einem einzelnen CT registrieren."
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|