Merge pull request #490 from jcastro/docs/review-storage-share

docs: review storage sharing documentation in all seven translations
This commit is contained in:
MacRimi
2026-10-18 14:03:54 +02:00
committed by GitHub
88 changed files with 10001 additions and 155 deletions
@@ -0,0 +1,123 @@
{
"meta": {
"title": "Host: Hinzufügen von iSCSI-Ziel als Proxmox-Speicher | ProxMenux Dokumentation",
"description": "Registrieren Sie ein iSCSI-Ziel als Proxmox-Speicher mit ProxMenux. Das Werkzeug installiert open-iscsi, erkennt Ziele am Portal per sendtargets, lässt ein Ziel auswählen und führt pvesm add iscsi aus. Es stellt rohe Blockgeräte für VM-Festplattenabbilder bereit.",
"ogTitle": "Host: Hinzufügen von iSCSI-Ziel als Proxmox-Speicher | ProxMenux Dokumentation",
"ogDescription": "Registrieren Sie ein iSCSI-Ziel als Proxmox-Speicher mit geführter Entdeckung. Verwendet pvesm add iscsi und bietet rohe Blockgeräte für VM Festplatten."
},
"header": {
"title": "Host: Hinzufügen von iSCSI-Ziel als Proxmox-Speicher",
"description": "Registrieren Sie ein iSCSI-Ziel (von einem SAN, TrueNAS / FreeNAS, Synology, einem Windows Server-Ziel, einem Array, das iSCSI spricht) als Proxmox-Speicher. Die exportierten LUNs erscheinen als Blockgeräte und können VM-Disk-Images mit nahezu lokaler Leistung über das Netzwerk hosten.",
"section": "Speicher und Freigaben · Host"
},
"intro": {
"title": "Was das macht",
"body": "ProxMenux wickelt <code>pvesm add iscsi</code> mit einem geführten Fluss ab: Es installiert <code>open-iscsi</code> bei Bedarf, fragt nach dem iSCSI-Portal (IP:port), führt <code>iscsiadm --mode discovery --type sendtargets</code> dagegen aus, lässt Sie einen Ziel-IQN auswählen und registriert den iSCSI-Speicher in Proxmox. Der <code>iscsid</code>-Dienst hält dann die iSCSI-Sitzung über Neustarts hinweg am Leben."
},
"vocab": {
"heading": "iSCSI Vokabular (schnelle Referenz)",
"headerTerm": "Begriff",
"headerMeaning": "Bedeutung",
"rows": [
{
"term": "Portal",
"meaningRich": "Der iSCSI-Service-Endpunkt auf dem Zielserver – eine IP (oder ein Hostname) sowie ein TCP-Port. Standard-Port ist <code>3260</code>; ProxMenux nimmt es an, wenn Sie keinen angeben."
},
{
"term": "Ziel",
"meaningRich": "Ein einzelner exportierter \"Server\" innerhalb des Portals, der durch seine IQN identifiziert wird (<em>iSCSI Qualified Name</em>). Ein Portal kann viele Ziele hosten."
},
{
"term": "IQN",
"meaningRich": "Canonical Form ist <code>iqn.YYYY-MM.reverse.domain:identifier</code>, zum Beispiel <code>iqn.2024-08.com.truenas:proxmox-pool</code>. Sowohl das Ziel als auch der Initiator haben ihren eigenen IQN."
},
{
"term": "LUN",
"meaningRich": "Ein Blockgerät innerhalb eines Ziels (Logical Unit Number). Ein einzelnes Ziel kann mehrere LUNs freilegen; jede LUN erscheint als eigene Festplatte in Proxmox und kann eine VM-Festplatte werden."
},
{
"term": "Initiator",
"meaningRich": "Der Client, der sich mit einem Ziel verbindet - in diesem Fall Ihr Proxmox-Host. Der Initiator hat seine eigene IQN in <code>/etc/iscsi/initiatorname.iscsi</code> gespeichert. Ziele akzeptieren in der Regel nur Sitzungen von vorautorisierten Initiator-IQNs."
}
]
},
"opening": {
"heading": "Öffnen des Tools",
"body": "Öffnen Sie im Hauptmenü von ProxMenux <strong>Storage &amp; Share Manager → iSCSI Target als Proxmox Storage</strong> hinzufügen. Sie sehen dieses sub-Menü mit vier Optionen:",
"imageAlt": "iSCSI Host Manager-Menü – Konnektivität hinzufügen / anzeigen / entfernen / testen"
},
"howRuns": {
"heading": "Wie das Skript läuft (Flow hinzufügen)",
"body": "Der Fluss hat zwei Phasen mit klarer Trennung zwischen \"Einrichten des Initiators, Auffinden von Zielen\" und \"tatsächliche Registrierung von Speicher in Proxmox\". Im Gegensatz zu NFS / Samba gibt es keine automatische Entdeckung im Subnetz - Sie müssen die Portaladresse kennen (iSCSI ist nicht sendefreundlich)."
},
"add": {
"heading": "Hinzufügen von iSCSI-Ziel als Proxmox-Speicher",
"items": [
"<strong>Portal eingeben</strong> — geben Sie die IP-Adresse oder den Hostnamen des iSCSI-Zielservers ein. Port <code>3260</code> wird angenommen, es sei denn, Sie geben <code>host:port</code> ein.",
"<strong>Zielerkennung</strong> — ProxMenux ruft <code>iscsiadm --mode discovery --type sendtargets --portal &lt;ip:port&gt;</code> auf. Der Server antwortet mit jedem IQN, den dieser Initiator sehen kann. Wenn die Entdeckung fehlschlägt, zeigt das Skript den genauen Fehler aus <code>iscsiadm</code> und listet die häufigsten Ursachen auf (falsche IP, Firewall, Initiator IQN nicht autorisiert).",
"<strong>Zielauswahl</strong> — einzelnes Ziel wird automatisch ausgewählt; mehrere Ziele zeigen ein Menü an.",
"<strong>Storage ID</strong> — Standard ist <code>iscsi-&lt;last IQN segment, 20 chars max&gt;</code>. Nur Buchstaben, Ziffern, <code>-</code> und <code>_</code>.",
"<strong>Inhaltstyp</strong> — im Gegensatz zu NFS/Samba ist der iSCSI-Inhalt <strong>fest auf <code>images</code></strong> eingestellt. iSCSI stellt rohe Blockgeräte bereit, kein Dateisystem; deshalb sind dort nur VM-Festplatten möglich."
],
"authTitle": "Autorisieren Sie den Proxmox-Initiator auf dem Target",
"authBody1": "Bevor der Add-Flow Ende-zu-Ende funktioniert, muss das iSCSI-Ziel Ihren Proxmox-Host kennen. Holen Sie sich Ihren Initiator IQN:",
"authBody2": "Fügen Sie dieses IQN zur Zugriffsliste des Ziels hinzu (TrueNAS: <em>Sharing → Block → Initiators Groups</em>; Synology: <em>SAN Manager → iSCSI → Target → Edit → Initiators</em>; usw.). Ist der Initiator nicht autorisiert, liefert die Erkennung mit <code>iscsiadm</code> eine leere Liste oder einen Authentifizierungsfehler."
},
"manual": {
"heading": "Manuelles Äquivalent",
"body": "Der gesamte Flow bildet diese Befehle ab:"
},
"view": {
"heading": "Ansicht konfigurierter iSCSI-Speicher",
"body": "Listet jeden iSCSI-Eintrag in Proxmox (<code>pvesm status | awk ''$2 == \"iscsi\"''</code>) mit Portal, Ziel-IQN, Inhaltstyp und Live-Status auf."
},
"remove": {
"heading": "iSCSI-Speicher entfernen",
"body": "Führt <code>pvesm remove &lt;storage-id&gt;</code> nach Bestätigung von Portal, Ziel und Inhalt aus. Nur die Proxmox-Registrierung wird entfernt - <strong>das iSCSI-Ziel selbst wird nicht berührt</strong> und bestehende Sitzungen auf der Kernelseite können bis zum nächsten Neustart verweilen.",
"warnTitle": "Zuerst vorhandene VM-Festplatten auf diesem iSCSI prüfen",
"warnBody": "Das Entfernen eines iSCSI-Speichers, während VMs noch Festplatten haben, lässt diese VMs auf einen verschwundenen Speicher zeigen. Proxmox markiert den Fehler, aber die LUN-Daten sind auf dem Ziel unberührt - Sie können den Speicher später erneut registrieren, um die Festplatten zurückzubekommen. Bewegen oder sichern Sie die VMs zuerst, um sicher zu sein."
},
"test": {
"heading": "iSCSI-Konnektivität testen",
"body": "Führt einen Diagnosedurchlauf aus: Prüft, ob <code>iscsiadm</code> installiert ist, druckt Ihren Initiator IQN aus, bestätigt, dass <code>iscsid</code> ausgeführt wird, pingt jedes registrierte Portal, prüft seinen Port und meldet <code>pvesm status</code> sowie, ob eine iSCSI-Sitzung derzeit aktiv ist (<code>iscsiadm --mode session</code>). Aktive Sitzung plus erreichbares Portal, aber \"inaktiv\" in Proxmox bedeutet normalerweise einen abgestandenen Zustand - versuchen Sie <code>pvesm set &lt;id&gt; --disable 0</code>."
},
"troubleshoot": {
"heading": "Fehlerbehebung",
"portalTitle": "\"Kann das Portal nicht erreichen\", aber die Server-IP antwortet an anderer Stelle",
"portalBody": "Ping scheiterte an der Portaladresse. Überprüfen Sie, ob Sie die <em>storage-Netzwerk</em>-Schnittstelle erreichen (iSCSI lebt oft in einem separaten VLAN / Subnetz aus dem Verwaltungsnetzwerk). Überprüfen Sie auch DNS, wenn Sie einen Hostnamen eingegeben haben.",
"discoverTitle": "\"iSCSI Discovery failed\" von iscsiadm",
"discoverIntro": "Das Skript zeigt den genauen Fehler. Die häufigsten Ursachen:",
"discoverItems": [
"Portal IP / Port falsch (Doppelprüfung, standardmäßig 3260).",
"iSCSI-Dienst läuft nicht auf dem Zielserver.",
"Firewall blockiert 3260 zwischen Proxmox und dem Ziel.",
"<strong>Die Initiator-IQN ist auf dem Ziel nicht autorisiert.</strong> Dies ist die häufigste Ursache bei Unternehmens-Arrays. Tragen Sie die Proxmox-IQN zuerst in die Initiator-ACL des Ziels ein."
],
"noTargetTitle": "Keine Ziele gefunden, aber Entdeckung erfolgreich",
"noTargetBody": "Der Server hat Ihren Initiator akzeptiert, setzt ihm aber kein Ziel aus. Überprüfen Sie die Authentifizierung / Zugriffskontrollen des Ziels - einige Arrays ermöglichen die Erkennung für alle IQNs, filtern jedoch, welche Ziele jedes IQN sehen kann.",
"noLunTitle": "LUNs erscheinen nicht in /dev/disk/by-path nach der Registrierung",
"noLunBody": "<code>pvesm add iscsi</code> war erfolgreich, aber der Kernel sieht keine Blockgeräte. Überprüfen Sie <code>iscsiadm --mode session</code> - wenn keine Sitzung aktiv ist, starten Sie eine manuell mit <code>iscsiadm --mode node --login</code>. Wenn eine Sitzung existiert, aber keine LUNs angezeigt werden, erzwingen Sie ein Rescannen: <code>iscsiadm --mode session --rescan</code>. Wenn immer noch nichts, hat das Ziel wahrscheinlich noch keine LUNs diesem IQN zugewiesen (Konfigurieren Sie die LUN-Zuordnung auf dem Ziel).",
"chapTitle": "CHAP-Authentifizierung",
"chapBody": "ProxMenux bietet im interaktiven Ablauf keine Felder für CHAP-Benutzername und -Passwort. Schlägt die Erkennung fehl, stoppt das Skript vor <code>pvesm add</code>; der Speicher wird nicht trotzdem registriert. Konfigurieren Sie die CHAP-Anforderungen des Ziels separat in <code>open-iscsi</code>, einschließlich der Erkennungsauthentifizierung, falls nötig, und versuchen Sie es erneut. Prüfen Sie die Konfiguration mit <code>iscsiadm</code> und aktive Sitzungen mit <code>iscsiadm --mode session</code>."
},
"related": {
"heading": "Verwandte Themen",
"items": [
{
"href": "/docs/storage-share/host-nfs",
"label": "NFS-Freigabe als Proxmox-Speicher",
"tail": "— Alternative auf Dateiebene. Einfacher einzurichten, flexibler (Backup / ISO / tmpl / Images), etwas langsamer für VM-Live-Disketten."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS als Proxmox-Speicher",
"tail": " — eine weitere Option auf Dateiebene; wegen der Sperrsemantik für Festplatten laufender VMs vermeiden."
},
{
"href": "/docs/storage-share/host-local-disk",
"label": "Lokale Festplatte als Proxmox-Speicher hinzufügen",
"tail": "- wenn die Festplatte lokal auf dem Proxmox-Host ist, nicht auf einer anderen Box über das Netzwerk."
}
]
}
}
@@ -0,0 +1,186 @@
{
"meta": {
"title": "Host: Lokale Festplatte als Proxmox-Speicher hinzufügen | ProxMenux Dokumentation",
"description": "Formatieren Sie einen lokalen SATA-, SAS- oder NVMe-Datenträger auf einem Proxmox-Host und registrieren Sie ihn als Verzeichnis- oder ZFS-Pool-Storage. Mit sicherer Datenträgerauswahl, Bestätigung vor destruktiven Schritten, UUID-basiertem fstab, ZFS-Pool-Erstellung und pvesm add dir / zfspool im Hintergrund.",
"ogTitle": "Host: Lokale Festplatte als Proxmox-Speicher hinzufügen | ProxMenux Dokumentation",
"ogDescription": "Formatieren Sie eine lokale Festplatte und registrieren Sie sie als Proxmox-Verzeichnis oder ZFS-Poolspeicher mit einem geführten, sicherheitsgefilterten Fluss."
},
"header": {
"title": "Host: Lokale Festplatte als Proxmox-Speicher hinzufügen",
"description": "Nehmen Sie eine physische Festplatte auf dem Proxmox-Host, formatieren Sie sie optional (ext4 / xfs / btrfs / zfs) und registrieren Sie sie als Proxmox-Speicher - entweder als Verzeichnis (pvesm add dir) oder als ZFS-Pool (pvesm add zfspool). ProxMenux filtert die Festplattenliste, so dass Sie die Systemfestplatte oder etwas in Gebrauch nicht auswählen können, und macht jeden destruktiven Schritt explizit, bevor Sie sie ausführen.",
"section": "Speicher und Freigaben · Host"
},
"intro": {
"title": "Was das macht",
"body": "Andere <em>Host</em>-Tools in diesem Abschnitt befassen sich mit <strong>Netzwerkspeicher</strong> (NFS / Samba / iSCSI). Dieser befasst sich mit <strong>lokalen</strong> Festplatten - Ersatzlaufwerke, die physisch an Ihren Proxmox-Host angeschlossen sind und die Sie für VM-Festplatten, Backups, ISOs oder Vorlagen verwenden möchten. ProxMenux bereitet die Festplatte (Partition + Format + Mount) vor und registriert sie in Proxmox, damit die Benutzeroberfläche Inhalte dort platzieren kann."
},
"destructive": {
"title": "Zerstörendes Werkzeug für den \"Format\"-Pfad",
"body": "Der Ablauf <em>Formatieren</em> <strong>zerstört die vorhandenen Partitionen und Daten auf dem ausgewählten Datenträger</strong>. ProxMenux zeigt eine Warnung, filtert verwendete Datenträger heraus und verlangt eine Bestätigung vor <code>wipefs</code> / <code>sgdisk</code> / <code>mkfs</code>. Dies ist kein sicheres Überschreiben jedes Bytes. Prüfen Sie den Gerätepfad vor der Bestätigung zweimal."
},
"compare": {
"heading": "Verzeichnis oder ZFS-Pool — was wählen?",
"headerDir": "Verzeichnis (ext4 / xfs / btrfs)",
"headerZfs": "ZFS-Pool",
"rows": [
{
"label": "Proxmox-Speichertyp",
"dirRich": "<code>dir</code>",
"zfsRich": "<code>zfspool</code>"
},
{
"label": "VM Plattenformat",
"dir": "qcow2-/raw-Datei in einem Dateisystem",
"zfs": "Nativer ZFS-Datensatz (zvol) pro Festplatte"
},
{
"label": "Momentaufnahmen",
"dir": "qcow2-Snapshots; btrfs-Snapshots bei fs=btrfs",
"zfs": "Native, Instant, Copy-on-Write"
},
{
"label": "Dynamische Speicherzuweisung",
"dir": "Ja (qcow2-Standard)",
"zfs": "Ja (ZFS Standard)"
},
{
"label": "RAM Bedürfnisse",
"dir": "niedrig",
"zfs": "Hoch — ZFS nutzt freien RAM als ARC-Cache"
},
{
"label": "Unterstützt Inhaltstypen",
"dir": "images, backup, iso, vztmpl, snippets, rootdir",
"zfs": "nur images und rootdir (Blockspeicher)"
},
{
"label": "Am besten für",
"dir": "Allzweck-Disk: Mix aus VM-Disks, Backups, ISOs",
"zfs": "Reine VM / LXC-Datenplatte mit Snapshot + Integritätsanforderungen"
}
]
},
"opening": {
"heading": "Öffnen des Tools",
"body": "Öffnen Sie im ProxMenux-Hauptmenü <strong>Storage &amp; Share Manager → Add Local Disk as Proxmox Storage</strong>. Das Untermenü enthält vier Optionen:",
"imageAlt": "Lokales Disk Manager-Menü – Hinzufügen / Anzeigen / Entfernen / Auflisten verfügbarer Festplatten"
},
"howRuns": {
"heading": "Wie das Skript läuft (Flow hinzufügen)",
"body": "Der Ablauf hat zwei Phasen mit einem Sicherheitsfilter mit drei Prüfungen. Phase 1 entdeckt sichere Festplatten, entscheidet, was mit der gewählten zu tun ist und sammelt Speicherparameter; Phase 2 erledigt die destruktive Arbeit. Bis zur endgültigen Bestätigung ist die Festplatte unberührt."
},
"format": {
"heading": "Leeren Datenträger formatieren",
"intro": "Der Pfad für eine neue Festplatte oder eine, deren Inhalt Ihnen egal ist.",
"items": [
"Wählen Sie die Festplatte (System / In-Use-Disks sind versteckt).",
"Wählen Sie \"Formatdiskette (ERASE alle Daten)\".",
"Wählen Sie das Dateisystem aus - siehe Tabelle oben für Kompromisse.",
"Storage ID (default <code>disk-&lt;device&gt;</code>), Mount-Pfad, Voreinstellung des Inhaltstyps.",
"Bestätigen Sie im <strong>FINAL CONFIRMATION — DATA WILL BE ERASED</strong> Dialog.",
"ProxMenux löscht die Partitionstabelle und erstellt eine Partition über den Datenträger. Es führt <code>mkfs.&lt;fs&gt;</code> oder <code>zpool create</code> aus und hängt das Ergebnis ein. Normale Dateisysteme erhalten einen UUID-Eintrag in <code>/etc/fstab</code> mit <code>defaults,nofail</code>; ZFS verwendet die Mount-Konfiguration des Pools. Ist <em>Als Proxmox-Speicher</em> markiert (bei ZFS immer), wird er anschließend mit <code>pvesm add dir</code> oder <code>pvesm add zfspool</code> registriert; andernfalls bleibt er nur ein Host-Mount."
],
"tipTitle": "Warum UUID + nofail in /etc/fstab",
"tipBody": "Das Skript schreibt <code>UUID=… /mnt/&lt;id&gt; &lt;fs&gt; defaults,nofail 0 2</code>. UUID überlebt die Geräteumordnung über Neustarts hinweg (so dass <code>/dev/sdc</code>, das <code>/dev/sdd</code> wird, den Boot nicht unterbricht). <code>nofail</code> bedeutet, dass, wenn die Festplatte jemals verschwindet (Hardwarefehler, Unplugged), Proxmox immer noch bootet - der Speicher wird nur als inaktiv angezeigt, bis die Festplatte zurückkommt."
},
"reuse": {
"heading": "Wiederverwendung eines vorhandenen Dateisystems",
"intro": "Der Pfad für eine Festplatte, auf der Sie die Daten behalten möchten - vielleicht haben Sie sie von einem anderen Proxmox-Host verschoben, oder die Festplatte verfügt bereits über Backups / ISOs, die Sie zugänglich halten möchten.",
"items": [
"Wählen Sie den Datenträger.",
"Wählen Sie \"Vorhandenes Dateisystem verwenden\".",
"Speicher-ID, Mount-Pfad und Inhaltstyp-Voreinstellung.",
"ProxMenux berührt die Daten <strong>nicht</strong>: Es erstellt den Mount-Punkt, mountet die Festplatte, fügt einen UUID-Eintrag zu <code>/etc/fstab</code> hinzu und registriert ihn als Proxmox-<code>dir</code>-Speicher."
],
"warnTitle": "Wiederverwendungspfad behandelt keine ZFS-Pools",
"warnBody": "Wenn die Festplatte bereits einen ZFS-Pool enthält, versucht der <em>reuse</em>-Pfad hier nur, ihn als reguläres Dateisystem zu montieren - was fehlschlägt. Um einen vorhandenen ZFS-Pool zu importieren, verwenden Sie <code>zpool import &lt;name&gt;</code> auf der Kommandozeile und registrieren Sie ihn dann manuell bei <code>pvesm add zfspool</code>."
},
"presets": {
"heading": "Inhaltstyp-Presets",
"intro": "ProxMenux bietet drei Voreinstellungen und eine eigene Eingabe. Die gewählte Inhaltsliste wird an <code>pvesm add … --content &lt;csv&gt;</code> übergeben:",
"headerPreset": "Voreinstellung",
"headerContent": "Inhaltsliste",
"headerUse": "Anwendungsfall",
"rows": [
{
"preset": "VM Speicherplatz",
"content": "images,backup",
"use": "Ein dedizierter VM-Festplattenspeicher, der auch Backups dieser VMs in der Nähe hält."
},
{
"preset": "Standard-NAS",
"content": "backup,iso,vztmpl",
"use": "Ein Archiv / Media Disk - Backups, ISOs und LXC Vorlagen. Keine live VM Festplatten hier."
},
{
"preset": "Alle Typen",
"content": "images,backup,iso,vztmpl,snippets",
"use": "Diese breite Voreinstellung aktiviert Images, Sicherungen, ISOs, LXC-Vorlagen und Snippets. Fügen Sie weitere unterstützte Typen wie rootdir bei Bedarf über Benutzerdefiniert hinzu."
},
{
"preset": "Benutzerdefiniert",
"content": "(freier Input)",
"useRich": "Geben Sie den genauen CSV selbst ein, z.B. <code>images</code> allein oder <code>rootdir,images</code>."
}
],
"zfsTitle": "ZFS Pool-Inhalte sind schmaler",
"zfsBody": "Bei <strong>zfs</strong> unterstützt ein <code>zfspool</code> nur <code>images</code> und <code>rootdir</code>, keine ISO- oder Sicherungsdateien. Geben Sie unter Benutzerdefiniert eine unterstützte Liste ein. Das Skript reicht sie unverändert weiter; unzulässige Typen können die Registrierung scheitern lassen. Prüfen Sie danach <code>pvesm status</code>."
},
"manual": {
"heading": "Manuelles Äquivalent",
"extIntro": "Format + Registrierung einer Festplatte als ext4-Verzeichnisspeicher:",
"zfsIntro": "Oder als ZFS Pool:"
},
"view": {
"heading": "Datenträgerspeicher anzeigen",
"body": "Listet alle plattengestützten Proxmox-Speicher auf (sowohl <code>dir</code> als auch <code>zfspool</code>, die vom Benutzer erstellt wurden – Systempools wie <code>rpool</code> sind ausgeblendet). Zeigt den Mount-Pfad / Pool-Namen, Inhaltstypen und Live-Status an."
},
"remove": {
"heading": "Disk Storage entfernen",
"body": "Hebt die Registrierung des Speichers bei Proxmox auf (<code>pvesm remove</code>) und bietet an, den passenden Eintrag in <code>/etc/fstab</code> zu bereinigen. Für ZFS pools zerstört das Skript <strong>nicht</strong> automatisch das pool – das ist ein separater <code>zpool destroy &lt;name&gt;</code>-Schritt, den Sie manuell ausführen, wenn Sie sicher sind.",
"warnTitle": "Daten und bestehende VM Abhängigkeiten",
"warnBody": "Das Entfernen des Speichers berührt nicht das Dateisystem oder den Pool - die Daten bleiben auf der Festplatte. Aber VMs / CTs, die diesen Speicher nach ID referenzieren, können nach dem Entfernen nicht starten. Verschieben Sie diese VM-Festplatten in einen anderen Speicher (oder nehmen Sie ein Backup), bevor Sie sie entfernen."
},
"list": {
"heading": "Liste der verfügbaren Datenträger",
"body": "Eine schreibgeschützte Diagnoseansicht: Druckt die Ausgabe von <code>lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,MODEL</code>, gefolgt von den <code>dir</code>/<code>zfspool</code>-Speichern, die Proxmox bereits kennt. Guter erster Stopp, wenn Sie das Tool öffnen und sehen möchten \"Was ist auf diesem Host?\", Bevor Sie etwas hinzufügen."
},
"troubleshoot": {
"heading": "Fehlerbehebung",
"noDisksTitle": "\"Keine verfügbaren Festplatten gefunden\"",
"noDisksIntro": "Der Sicherheitsfilter hat alle Datenträger ausgeblendet. Häufige Gründe:",
"noDisksItems": [
"Nur die Root Disc ist vorhanden.",
"Jede andere Festplatte ist Teil eines aktiven ZFS / LVM / RAID-Arrays.",
"Jede andere Festplatte wird durch eine VM- oder LXC-Konfiguration (Durchgang) referenziert.",
"Die Festplatte befindet sich im schreibgeschützten Modus (ausfallende Hardware oder Schreibblocker)."
],
"noDisksOutro": "Verwenden Sie <em>List Available Disks</em> aus dem Menü, um die <code>lsblk</code>-Rohausgabe zu sehen und zu verstehen, was passiert.",
"mountedTitle": "Format fehlschlägt mit \"Device is mount\"",
"mountedBody": "Etwas hat die Festplatte automatisch gemountet (udisksd, ein Desktop-Manager, eine anhaltende systemd-Einheit). Unmount: <code>umount /dev/sdX?*</code> oder <code>systemctl stop &lt;whatever-mounts-it&gt;</code>, dann wiederholen. Der Sicherheitsfilter des Skripts sollte versteckte montierte Festplatten haben, so dass, wenn Sie diesen Fehler erreicht haben, die Mount zwischen dem angezeigten Menü und der Bestätigung stattgefunden hat.",
"zpoolTitle": "zpool create schlägt mit „invalid vdev specification“ fehl",
"zpoolBody": "Normalerweise bedeutet dies, dass die Festplatte immer noch veraltete GPT / LVM / ZFS-Signaturen aufweist, die <code>zpool</code> nicht ohne Erzwingen überschreiben möchte. Das Skript führt <code>wipefs</code> und <code>sgdisk --zap-all</code> vor dem Formatieren aus, aber eine sehr hartnäckige Festplatte kann immer noch ein veraltetes Label haben. Erzwingen Sie manuell eine Bereinigung: <code>zpool labelclear -f /dev/sdX</code> oder <code>dd if=/dev/zero of=/dev/sdX bs=1M count=10</code> und wiederholen Sie es.",
"inactiveTitle": "Storage wird nach dem Neustart als inaktiv angezeigt",
"inactiveBody": "Überprüfen Sie <code>findmnt &lt;mount-path&gt;</code> - wenn die Mount fehlt, ist etwas in <code>/etc/fstab</code> fehlgeschlagen. <code>dmesg | tail</code> zeigt normalerweise auf den Grund (UUID-Mismatch, Dateisystemkorruption, <code>nofail</code> ließ die Wiederholung fallen). Ein <code>mount -a</code> reaktiviert normalerweise den Speicher, sobald die Ursache behoben ist."
},
"related": {
"heading": "Verwandte Themen",
"items": [
{
"href": "/docs/disk-manager/format-disk",
"label": "Datenträgerverwaltung: Physischen Datenträger formatieren / löschen",
"tail": "Low-Level-Alternative, wenn Sie nur eine Festplatte vorbereiten möchten, ohne sie als Proxmox-Speicher zu registrieren."
},
{
"href": "/docs/storage-share/host-iscsi",
"label": "Hinzufügen von iSCSI-Ziel als Proxmox-Speicher",
"tail": " — Entsprechende Netzwerklösung, wenn sich das Blockgerät auf einem anderen Rechner befindet."
},
{
"href": "/docs/storage-share/host-local-shared",
"label": "Shared Directory auf Host hinzufügen",
"tail": "Bereiten Sie ein Verzeichnis für LXC-Bind-Mounts auf dem Host vor (registriert keinen Proxmox-Speicher)."
}
]
}
}
@@ -0,0 +1,103 @@
{
"meta": {
"title": "Host: Freigegebenes Verzeichnis auf dem Host hinzufügen | ProxMenux-Dokumentation",
"description": "Erstellen Sie ein Hostverzeichnis, das für LXC-Bind-Mounts bereit ist, mit Berechtigungen, die für privilegierte und unprivilegierte Container gleichzeitig funktionieren. Sticky Bit + World-Rwx + ACLs für die Standardvererbung.",
"ogTitle": "Host: Freigegebenes Verzeichnis auf dem Host hinzufügen | ProxMenux-Dokumentation",
"ogDescription": "Bereiten Sie ein Hostverzeichnis für LXC-Bind-Mounts vor, dessen Berechtigungen mit privilegierten und unprivilegierten CTs kompatibel sind."
},
"header": {
"title": "Host: Freigegebenes Verzeichnis hinzufügen",
"description": "Erstellen Sie ein Host-Verzeichnis, das so konzipiert ist, dass es in einen oder mehrere LXC-Container eingebunden wird. ProxMenux wendet eine Reihe von Berechtigungen an, die sowohl für privilegierte als auch für unprivilegierte CTs gleichzeitig funktionieren - keine verschobenen UID-Kopfschmerzen, keine pro-Container-Chowns - und registriert das Verzeichnis, damit der LXC Mount Manager es später abholen kann.",
"section": "Speicher und Freigaben · Host"
},
"intro": {
"title": "Was das ist (und nicht ist)",
"body": "Dieses Tool registriert <strong>nicht</strong> irgendetwas in Proxmox (kein <code>pvesm add</code> hier). Es bereitet lediglich ein Verzeichnis auf dem Host vor – standardmäßig <code>/mnt/shared</code> – mit Berechtigungen, die jeder LXC-Container lesen und schreiben kann, unabhängig davon, ob der CT privilegiert oder nicht privilegiert ist. Der übliche nächste Schritt besteht darin, es mit dem <mountLink>LXC-Mount-Manager</mountLink> in jedes CT einzubinden."
},
"why": {
"heading": "Warum ein dediziertes Tool dafür",
"intro": "Wenn Sie ein Hostverzeichnis in einen LXC-Container binden, hängen die Berechtigungen ab von:",
"items": [
"Ob der CT <strong>privilegiert</strong> ist (UID 0 im CT = UID 0 auf dem Host) oder <strong>unprivilegiert</strong> (UID 0 im CT = UID 100000 auf dem Host — alle UIDs sind um +100000 verschoben).",
"Der Besitz des Hostverzeichnisses (eine Datei im Besitz von UID 1000 auf dem Host erscheint als \"andere\" aus der Perspektive eines unprivilegierten CT, da kein CT-Benutzer UID 1000 zuordnet).",
"Ob mehrere CTs das gleiche Verzeichnis teilen (unterschiedliche CTs können unterschiedliche UID-Bereiche haben)."
],
"outro": "ProxMenux verwendet hier einen pragmatischen Ansatz: <strong>allen Zugriff gewähren</strong>, und zwar auf Dateisystemebene. Dazu kommen rwx-Rechte für alle, das Sticky-Bit und ACLs zur Vererbung der Rechte an neue Dateien. Jede zugeordnete UID kann lesen und schreiben; ein Abgleich von UIDs/GIDs ist nicht nötig."
},
"howRuns": {
"heading": "Wie das Skript läuft",
"body": "Das Skript hat kein Hauptmenü – es führt eine einzelne Aktion aus, <strong>Freigegebenes Verzeichnis erstellen</strong>. Phase 1 sammelt den Zielpfad; Phase 2 erstellt das Verzeichnis und wendet Berechtigungen an."
},
"bits": {
"heading": "Was jedes Berechtigungsbit tut",
"intro": "Die Nummer <strong>1777</strong> ist nicht willkürlich - es ist der gleiche Modus, den Linux für <code>/tmp</code> verwendet. Drei Eigenschaften kombiniert:",
"headerBit": "Bit",
"headerEffect": "Wirkung",
"headerWhy": "Warum es hier wichtig ist",
"rows": [
{
"bit": "1 (sticky bit)",
"effect": "Löschen und Umbenennen sind auf den Datei- oder Verzeichniseigentümer und ausreichend privilegierte Prozesse beschränkt.",
"why": "Hilft Benutzern mit unterschiedlichen zugeordneten UIDs, fremde Dateien vor Löschung zu schützen. CTs mit derselben zugeordneten UID oder privilegiertem Root-Zugriff sind dadurch nicht voneinander isoliert."
},
{
"bit": "777 (rwx-rwx-rwx)",
"effect": "Jeder kann lesen, schreiben und das Verzeichnis betreten.",
"why": "Unprivilegierte CT UIDs (100000+) erscheinen als \"andere\" vom Host, so dass world-rwx ihnen Zugriff gibt."
},
{
"bit": "ACLs (Standard)",
"effect": "Vererbt auf jeder neu erstellten Datei / Subdir.",
"why": "Neue Inhalte erben die Standard-ACLs, ohne das Skript erneut auszuführen. Anwendungen können weiterhin restriktive Modi anfordern oder Rechte später ändern."
}
],
"privTitle": "Privilegierte CTs sehen dasselbe, nur ohne die Verschiebung",
"privBody": "Für einen privilegierten CT ist UID 0 im CT UID 0 auf dem Host, so dass <code>root</code> im CT das Hostverzeichnis direkt lesen / schreiben kann. <code>1777</code> ist immer noch in Ordnung - es bedeutet nur, dass Nicht-Root-Benutzer im CT auch das Verzeichnis verwenden können. Die gleichen Berechtigungen decken beide Fälle ab."
},
"where": {
"heading": "Wo das freigegebene Verzeichnis liegen soll",
"intro": "Der Location Picker bietet vier Optionen:",
"opt1Title": "1. Erstellen Sie einen neuen Ordner in /mnt",
"opt1Body": "Die übliche Wahl. ProxMenux schlägt automatisch den ersten freien Namen vor (<code>shared</code>, <code>shared2</code>, <code>shared3</code>, ...). Sie bestätigen oder geben nur einen anderen Namen ein.",
"opt2Title": "2. Benutzerdefinierter Pfad",
"opt2Body": "Für Verzeichnisse außerhalb von <code>/mnt</code>. Jeder absolute Pfad funktioniert (z.B. <code>/srv/media</code>, <code>/data/family</code>). Das Skript verwendet die gleichen Berechtigungen.",
"opt3Title": "3. Bestehende Ordner in /mnt anzeigen",
"opt3Body": "Read-only Diagnose: listet jedes Verzeichnis unter <code>/mnt</code> mit seinen Berechtigungen, Eigentümer und verfügbaren Speicherplatz auf. Nützlich, bevor Sie eine neue erstellen, um Namenskollisionen zu vermeiden.",
"opt4Title": "4. Abbrechen",
"opt4Body": "Beendet den Vorgang, ohne etwas zu erstellen. Entspricht <kbd>Esc</kbd>.",
"tipTitle": "Wo lebt /mnt?",
"tipBody": "Standardmäßig befindet sich <code>/mnt</code> auf dem Proxmox-Root-Dateisystem. Wenn Sie das freigegebene Verzeichnis auf einer anderen Festplatte (einer Datenplatte, einem ZFS-Pool) haben möchten, mounten Sie diese Festplatte zuerst unter <code>/mnt/&lt;name&gt;</code> (Disk Manager oder <diskLink>Lokale Festplatte als Proxmox-Speicher hinzufügen</diskLink>) und erstellen Sie dann das freigegebene Verzeichnis als Unterordner darin - oder wählen Sie \"Benutzerdefinierten Pfad eingeben\" hier und zeigen Sie auf die eingehängte Festplatte."
},
"manual": {
"heading": "Manuelles Äquivalent",
"body": "Der gesamte Flow kann von Hand wiedergegeben werden:"
},
"next": {
"heading": "Nächster Schritt: Bind-Mount in Container",
"body": "Durch das Erstellen des Verzeichnisses wird es nur vorbereitet – noch wird es von keinem Container gesehen. Um es in einem oder mehreren LXCs sichtbar zu machen, verwenden Sie den Mount-Manager <mountLink>LXC</mountLink>, um <code>/mnt/&lt;name&gt;</code> in die CTs einzubinden. Da die Berechtigungen bereits geöffnet sind, bietet der Mount-Manager <strong>nicht</strong> an, sie zu ändern – das Verzeichnis kann unverändert verwendet werden."
},
"troubleshoot": {
"heading": "Fehlerbehebung",
"mkdirTitle": "\"Failed to create directory\"",
"mkdirBody": "Normalerweise ein Dateisystemproblem: <code>/mnt</code> befindet sich in einem schreibgeschützten Dateisystem, der Pfad enthält eine Komponente, die kein Verzeichnis ist (z. B. Sie haben <code>/etc/passwd/sub</code> eingegeben), oder die Festplatte ist voll. Überprüfen Sie mit <code>df -h /mnt</code> und <code>mount | grep /mnt</code>.",
"writeTitle": "Container kann trotz offener Berechtigungen nicht schreiben",
"writeBody": "Überprüfen Sie, ob der CT tatsächlich den Bind-Mount (<code>pct config &lt;ctid&gt; | grep ^mp</code>) verwendet. Führen Sie im CT <code>touch /mnt/data/test-$(date +%s)</code> aus – wenn dies mit verweigerter Berechtigung fehlschlägt, befindet sich das Mount möglicherweise auf einem Host-Dateisystem, das ACLs nicht berücksichtigt (einige ältere <code>ext3</code>- oder <code>vfat</code>-Mounts). Verschieben Sie das freigegebene Verzeichnis in ein ext4 / xfs / btrfs / zfs Backing.",
"aclTitle": "ACL Befehle leise nicht verfügbar",
"aclBody": "Bei einer minimalen Proxmox-Installation sind <code>setfacl</code> / <code>getfacl</code> möglicherweise nicht installiert. Das Skript fällt anmutig zurück (<code>command -v setfacl</code>-Check) und wendet nur POSIX-Berechtigungen an - was oft genug ist, aber neue Dateien werden das permissive Profil nicht automatisch erben. Installieren Sie <code>acl</code> mit <code>apt-get install -y acl</code> und führen Sie das Skript im Verzeichnis erneut aus."
},
"related": {
"heading": "Verwandte Themen",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "LXC-Mount-Verwaltung",
"tail": "— der natürliche nächste Schritt: bind-mount dieses Verzeichnis in einen oder mehrere Container."
},
{
"href": "/docs/storage-share/host-local-disk",
"label": "Lokale Festplatte als Proxmox-Speicher hinzufügen",
"tailRich": "Wenn Sie das freigegebene Verzeichnis auf einer dedizierten Festplatte haben möchten, bereiten Sie die Festplatte zuerst vor, mounten Sie sie unter <code>/mnt</code> und erstellen Sie dann den freigegebenen Unterordner hier."
}
]
}
}
@@ -0,0 +1,174 @@
{
"meta": {
"title": "Host: NFS-Freigabe einhängen | ProxMenux-Dokumentation",
"description": "Montieren Sie einen externen NFS-Export auf dem Proxmox-Host - entweder als Proxmox-Speicher (pvesm add nfs), als einfacher fstab-Mount auf dem Host (NICHT sichtbar in Datacenter > Storage) oder beides. Die fstab-Methode ist ideal, um die Freigabe in LXC-Container zu binden, ohne sie als Proxmox-Speicher freizulegen.",
"ogTitle": "Host: NFS-Freigabe einhängen | ProxMenux-Dokumentation",
"ogDescription": "Montieren Sie einen externen NFS-Export auf dem Proxmox-Host über pvesm, fstab oder beides. fstab-Pfad ist ideal für LXC-Bind-Mounts."
},
"header": {
"title": "Host: NFS-Freigabe auf dem Host einhängen",
"description": "Montieren Sie einen externen NFS-Export (von einem NAS, einem anderen Server, einer Homelab-Freigabe ...) auf dem Proxmox-Host. Wählen Sie eine oder beide Methoden aus: Registrieren Sie sie als Proxmox-Speicher (sichtbar in Datacenter > Storage) und/oder fügen Sie einen einfachen Mount über /etc/fstab an einem von Ihnen gewählten Pfad hinzu (nützlich für das Binden der Freigabe in LXC-Container, ohne sie als Proxmox-Speicher freizulegen).",
"section": "Speicher und Freigaben · Host"
},
"intro": {
"title": "Was das macht",
"body": "ProxMenux bietet zwei Mount-Methoden für jeden NFS-Export an: <strong>(1) Proxmox-Speicher</strong> über <code>pvesm add nfs</code> - die Freigabe wird in Datacenter > Storage angezeigt und Proxmox verwaltet das Mount bei <code>/mnt/pve/&lt;id&gt;</code>; <strong>(2) Host-Fstab-Mount</strong> auf einem Weg, den Sie auswählen - persistent über <code>/etc/fstab</code>, NICHT sichtbar als Proxmox-Speicher, ideal für Bindemontage an LXC-Container (Proxmox UI bleibt sauber). Sie können eine Methode, die andere oder beides ausführen."
},
"opening": {
"heading": "Öffnen des Tools",
"body": "Öffnen Sie im Hauptmenü von ProxMenux <strong>Speicher &amp; Freigabe-Manager → NFS Freigabe auf Host bereitstellen</strong>. Sie sehen dieses sub-Menü mit vier Optionen:",
"imageAlt": "NFS-Host-Menü — Einhängen / Anzeigen / Entfernen / Verbindung testen"
},
"howRuns": {
"heading": "Wie das Skript läuft",
"body": "Der Ablauf hat zwei Phasen mit klarer Trennung zwischen \"Entdecken, Validieren und Auswählen\" und \"tatsächlich einhängen und Konfiguration schreiben\". Nachdem Sie einen Export ausgewählt haben, wählen Sie die Mount-Methode(n) über eine Checkliste aus; der Rest der Dialoge fragt nur nach Parametern für die von Ihnen ausgewählten Methoden. Bis zur endgültigen Bestätigung werden weder <code>/etc/pve/storage.cfg</code> noch <code>/etc/fstab</code> berührt."
},
"modes": {
"heading": "Mount-Methode wählen (eine oder beide Optionen)",
"intro": "Nach Auswahl und Validierung des Exports zeigt ProxMenux eine Checkliste mit den beiden Mount-Methoden an. Sie können entweder oder beide markieren. Wenn Sie auf OK drücken, ohne etwas zu markieren, erscheint der Dialog erneut, bis Sie mindestens eine Option auswählen oder auf Abbrechen drücken, um den Fluss zu verlassen.",
"imageAlt": "Mount Method Checkliste mit pvesm und fstab Optionen",
"headerMethod": "Methode",
"headerMount": "Mount-Pfad",
"headerUi": "Sichtbar in Datacenter > Storage",
"headerUseCase": "Typischer Anwendungsfall",
"rows": [
{
"method": "<strong>Als Proxmox-Speicher (pvesm)</strong>",
"mountRich": "<code>/mnt/pve/&lt;storage-id&gt;</code> (verwaltet von Proxmox)",
"ui": "Ja",
"useCase": "VM Disk-Images, Backups, ISOs, LXC-Vorlagen - alles, was in der Proxmox-Benutzeroberfläche angezeigt werden muss."
},
{
"method": "<strong>Nur Host-fstab</strong>",
"mountRich": "<code>/mnt/&lt;path&gt;</code> (Sie wählen den Weg)",
"ui": "Nein",
"useCaseRich": "Die Freigabe per Bind-Mount in einen oder mehrere LXCs einbinden, <em>ohne</em> sie als Proxmox-Speicher anzuzeigen. Hält die Datacenter-Oberfläche übersichtlich."
},
{
"method": "<strong>Beide</strong>",
"mount": "Beide Pfade oben (zwei Mount-Punkte desselben NFS-Exports)",
"ui": "Ja",
"useCase": "Oberflächenintegration und ein separater stabiler Host-Pfad mit offenen Berechtigungen für LXC-Bind-Mounts."
}
],
"bothTitle": "„Beide“ erstellt zwei unabhängige NFS-Mounts",
"bothBody": "Beide Methoden laufen getrennt: pvesm hängt unter <code>/mnt/pve/&lt;id&gt;</code> ein, fstab unter <code>/mnt/&lt;path&gt;</code>. So erhalten Sie einen Proxmox-Mount mit Standardoptionen und einen separaten Host-Mount für LXC-Bind-Mounts. Zwei Mount-Punkte garantieren keine zwei TCP-Verbindungen; der NFS-Client kann Transporte wiederverwenden."
},
"pvesmBranch": {
"heading": "Methode A — als Proxmox-Speicherung (pvesm)",
"intro": "Wenn <em>Als Proxmox-Speicher</em> markiert ist, führt ProxMenux den ursprünglichen pvesm-Flow aus:",
"items": [
"<strong>Storage ID</strong> – was Proxmox diesen Speicher nennen wird. Standardmäßig ist <code>nfs-&lt;server-ip-with-dashes&gt;</code>. Es werden nur Buchstaben, Ziffern, <code>-</code> und <code>_</code> akzeptiert.",
"<strong>Inhaltstypen</strong> — Proxmox verknüpft Inhaltskategorien mit Speichervolumen; wählen Sie aus, was dieser NFS enthalten darf:"
],
"headerType": "Inhaltsart",
"headerAllows": "Was es erlaubt",
"rows": [
{
"type": "import",
"allowsRich": "Datenträgerbildimporte (standardmäßig ausgewählt). Benötigt für <em>Import Disk Image zu VM</em>."
},
{
"type": "backup",
"allowsRich": "VM und CT Backup-Dateien (<code>vzdump</code>)."
},
{
"type": "iso",
"allows": "ISO-Abbildungen für die Installation."
},
{
"type": "vztmpl",
"allows": "LXC-Vorlagen."
},
{
"type": "images",
"allows": "VM-Disk-Images (dadurch wird der NFS in einen VM-Disk-Store verwandelt)."
},
{
"type": "rootdir",
"allows": "LXC Root-Dateisysteme (selten für NFS – lesen Sie den unten stehenden Hinweis)."
},
{
"type": "snippets",
"allows": "Hook-Scripts und Cloud-Init-Snippets."
}
],
"warnTitle": "images und rootdir auf NFS",
"warnBody": "Mit <code>images</code> kann Proxmox VM-Festplatten auf NFS speichern. Die Leistung hängt von Netzwerk, Server und Last ab; ein Ausfall kann davon abhängige E/A blockieren. Mit <code>rootdir</code> liegen LXC-Root-Dateisysteme auf NFS. Unprivilegierte Container können dort Einschränkungen bei UID-Zuordnung, Overlay und Eigentümern haben. Prüfen Sie dies vor der Ablage von <code>images</code> / <code>rootdir</code>; NFS eignet sich auch für <code>backup</code> / <code>iso</code> / <code>vztmpl</code>.",
"result": "Das Ergebnis ist <code>pvesm add nfs &lt;id&gt; --server &lt;srv&gt; --export &lt;path&gt; --content &lt;csv&gt;</code> und Proxmox Auto-Mounts bei <code>/mnt/pve/&lt;id&gt;</code>."
},
"fstabBranch": {
"heading": "Methode B — nur ein fstab-Mount auf dem Host",
"intro": "Wenn <em>Nur fstab-Mount auf dem Host</em> markiert ist, fragt ProxMenux nach einem host mount path und persistenten Optionen, dann mountet und schreibt den Eintrag in <code>/etc/fstab</code>:",
"items": [
"<strong>Mount-Pfad auf dem Host</strong> — standardmäßig <code>/mnt/&lt;export-basename&gt;</code>. Es muss ein absoluter Weg sein. Wenn dort bereits etwas montiert ist oder ein Fstab-Eintrag für den gleichen Pfad existiert, warnt Sie ProxMenux und bietet an, ihn zu ersetzen.",
"<strong>Mount-Optionen</strong> — <em>Lesen/Schreiben</em> (Standard: <code>rw,hard,nofail,_netdev,rsize=131072,wsize=131072,timeo=600,retrans=2</code>), <em>Nur Lesen</em>, <em>Benutzerdefiniert</em> (eigene Optionen eingeben)."
],
"appliesIntro": "Sobald Sie bestätigen, das Skript:",
"applies": [
"<code>mkdir -p</code> der Mount Path.",
"<code>mount -t nfs -o &lt;opts&gt; &lt;srv&gt;:&lt;export&gt; &lt;path&gt;</code>.",
"Schreibt einen einzeiligen Eintrag in <code>/etc/fstab</code>: <code>&lt;srv&gt;:&lt;export&gt; &lt;path&gt; nfs &lt;opts&gt; 0 0</code>.",
"Führt <code>systemctl daemon-reload</code> aus, so dass systemd den neuen Fstab-Eintrag abholt.",
"Versucht <code>chmod 1777</code> und <code>setfacl o::rwx</code> auf dem Mount-Punkt. Fehler werden still ignoriert; es gelingt nur, wenn der NFS-Server es erlaubt. Viele NAS-Exporte sind bereits für alle Benutzer beschreibbar."
],
"lxcTitle": "Den fstab-Mount aus einem LXC verwenden",
"lxcBody": "Das Skript zeigt einen <code>pct set</code>-Befehl für einen Bind-Mount, etwa <code>pct set &lt;ctid&gt; -mp0 /mnt/&lt;path&gt;,mp=/mnt/&lt;ct-path&gt;,shared=1,backup=0</code>. Alternativ erkennt der <mountLink>LXC Mount Manager</mountLink> fstab-Mounts. <strong>Im Container wird nichts geändert</strong>. Der Zugriff unprivilegierter CTs hängt von Serverrechten für ihre zugeordneten UIDs/GIDs ab. Das Skript versucht nur Berechtigungsänderungen vom Host aus; beschreibbare Exporte oder Herstellerstandards sind nicht garantiert. Bei Fehlern siehe Fehlerbehebung.",
"noUiTitle": "Der fstab-Mount ist KEIN Proxmox-Speicher",
"noUiBody": "Der fstab-Mount auf dem Host erscheint bewusst nicht in der Proxmox-Weboberfläche. Er fehlt unter <em>Datacenter > Storage</em>, lässt sich beim Erstellen einer VM oder eines CT nicht auswählen und kann nicht als Ziel eines Proxmox-Sicherungsauftrags dienen. Er ist lediglich ein Pfad im Dateisystem des Hosts. Wünschen Sie zusätzlich die Integration in die Oberfläche, wählen Sie <em>beide</em> Methoden aus."
},
"manual": {
"heading": "Manuelles Äquivalent",
"pvesmIntro": "Methode A (pvesm) bildet ab:",
"fstabIntro": "Methode B (Fstab) bildet ab:"
},
"view": {
"heading": "Ansicht konfigurierter NFS-Speicher",
"body": "Zeigt alle NFS-Einträge in Proxmox (<code>pvesm status | awk ''$2 == \"nfs\"''</code>) mit Server, Export, Inhaltstypen, Mount-Pfad und aktuellem Status. <strong>Hinweis:</strong> Diese Ansicht enthält nur über pvesm registrierte Storages. Reine fstab-Mounts werden nicht aufgeführt; prüfen Sie diese mit <code>findmnt -t nfs</code> oder <code>grep nfs /etc/fstab</code>."
},
"remove": {
"heading": "NFS-Speicher entfernen",
"body": "Führt <code>pvesm remove &lt;storage-id&gt;</code> nach einer Bestätigung aus, die den Server / Export / Inhalt anzeigt. Nur die Registrierung auf Proxmox-Seite wird entfernt — <strong>der entfernte NFS-Server selbst wird nie berührt</strong>, es werden keine Dateien gelöscht. Um ein fstab-only-Halter zu entfernen, bearbeiten Sie <code>/etc/fstab</code> von Hand und führen Sie <code>umount &lt;path&gt;</code> aus.",
"warnTitle": "Abhängigkeiten zuerst sichern",
"warnBody": "Wenn VMs, CTs oder Backup-Jobs immer noch auf diesen Speicher verweisen (nach ID), zeigt das Entfernen auf einen verschwundenen Speicher. Proxmox wird den Fehler markieren, aber nicht bereinigen. Verschieben oder löschen Sie diese Referenzen zuerst und entfernen Sie dann den Speicher."
},
"test": {
"heading": "NFS-Verbindung testen",
"body": "Führt einen Diagnosepass über jeden in Proxmox registrierten NFS-Speicher aus: Prüft, ob <code>showmount</code> verfügbar ist, ob <code>rpcbind</code> ausgeführt wird, pingt jeden Server, prüft den Port 2049, ruft <code>showmount -e</code> auf und meldet schließlich die eigene Ansicht von Proxmox (<code>pvesm status</code>). Gute erste Station, wenn ein Speicher als <em>inactive</em> in der Proxmox-Benutzeroberfläche angezeigt wird."
},
"troubleshoot": {
"heading": "Fehlerbehebung",
"noServersTitle": "\"Keine NFS-Server im Netzwerk gefunden\"",
"noServersBody": "Auto-discover verwendet <code>nmap -p 2049 --open &lt;subnet&gt;/24</code>. Der Server reagiert möglicherweise nicht, wenn: er befindet sich in einem anderen VLAN / Subnetz, seine Firewall blockiert nmap Sonden (viele tun dies) oder der Port 2049 wird absichtlich auf dieser Schnittstelle geschlossen. Verwenden Sie stattdessen die Option <em>Manual</em> mit der IP oder dem Hostnamen des Servers.",
"portTitle": "„NFS-Port (2049) ist nicht erreichbar“",
"portBody": "Ping war erfolgreich, aber <code>nc -z -w 3 &lt;server&gt; 2049</code> scheiterte. Überprüfen Sie, ob der NFS-Dienst auf dem Server ausgeführt wird (<code>systemctl status nfs-server</code> auf Linux, Systemsteuerung → Dateidienste auf Synology, NFS-Plugin auf OMV / TrueNAS) und ob die Firewall 2049 vom Proxmox-Host ermöglicht.",
"showmountTitle": "\"Failed to connect\" von showmount",
"showmountBody": "Der Server lehnte die Exportlistenabfrage ab. Häufige Ursachen: Der Server erzwingt strenge Client-ACLs (Ihre Proxmox-IP steht nicht auf der erlaubten Liste), <code>rpcbind</code> läuft nicht auf dem Server oder der Server stellt nur NFSv4 mit deaktiviertem <code>showmount</code> bereit. Der Exportpfad kann weiterhin manuell hinzugefügt werden, wenn Sie ihn kennen.",
"inactiveTitle": "Storage zeigt als inaktiv in der Proxmox UI",
"inactiveBody": "Starten Sie zuerst <em>NFS-Verbindung testen</em>: Es prüft, ob der Server auf Ping antwortet, Port 2049 offen ist und die Exportliste (<code>showmount -e</code>) verfügbar ist. Bleibt der Speicher bei funktionierender Verbindung inaktiv, prüfen Sie <code>journalctl -u pvestatd</code> und Server-/Exportkonfiguration. Beheben Sie zuerst Verbindungs- oder Berechtigungsprobleme. <code>pvesm set &lt;id&gt; --disable 0</code> aktiviert einen deaktivierten Speicher und ist keine allgemeine NFS-Reparatur.",
"lxcNoWriteTitle": "fstab mount funktioniert, aber unprivilegierte LXC kann nicht durch ein bind-mount schreiben",
"lxcNoWriteBody": "NFS-Zugriff hängt von Eigentümern, ACLs und Squash-Einstellungen auf dem Server ab. CIFS-Optionen wie <code>uid=</code> und <code>file_mode=</code> gelten <strong>nicht</strong> für NFS. Bei der Standard-LXC-Zuordnung wird CT-root zu Host-UID 100000, nicht zu Remote-UID 0. Gewähren Sie der tatsächlich zugeordneten UID/GID oder anonymen Serveridentität Zugriff. <code>no_root_squash</code> betrifft nur Remote-UID 0 und löst Probleme mit UID 100000 nicht allgemein. Das Skript versucht <code>chmod 1777</code>, kann Serverrechte aber nicht umgehen.",
"fstabBootTitle": "fstab Mount wird nach dem Neustart nicht angezeigt",
"fstabBootBody": "Das Skript fügt <code>nofail,_netdev</code> hinzu, so dass ein fehlender Anteil beim Booten den Start nicht blockiert. Wenn das mount nie auftaucht: bestätigen, dass das netzwerk erreichbar ist (<code>ping &lt;server&gt;</code>), überprüfen sie <code>journalctl -u remote-fs.target</code> und überprüfen sie, ob der eintrag mit <code>mount -fav | grep nfs</code> gültig ist. <code>mount -a</code> nach dem Booten montiert alles, was derzeit fehlt."
},
"related": {
"heading": "Verwandte Themen",
"items": [
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS als Proxmox-Speicher",
"tail": "— gleiches Flussmuster (Methode A pvesm + Methode B fstab) für SMB/CIFS-Freigaben."
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "LXC-Mount-Verwaltung",
"tailRich": "— bind-mount den fstab-only Pfad <code>/mnt/&lt;path&gt;</code> in einen oder mehrere Container."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "NFS-Client in LXC",
"tail": "— Alternative: NFS direkt aus einem privilegierten Container montieren (überspringt den Host)."
}
]
}
}
@@ -0,0 +1,172 @@
{
"meta": {
"title": "Host: Samba-Freigabe einhängen | ProxMenux-Dokumentation",
"description": "Montieren Sie eine externe Samba / CIFS-Freigabe auf dem Proxmox-Host - entweder als Proxmox-Speicher (pvesm add cifs), als einfacher fstab-Mount auf dem Host mit offenem uid / gid / file_mode (NICHT sichtbar in Datacenter > Storage) oder beides. Die fstab-Methode öffnet Berechtigungen, so dass eine unprivilegierte LXC-Bindung des Pfades ohne Änderungen im Container lesen / schreiben kann.",
"ogTitle": "Host: Samba-Freigabe einhängen | ProxMenux-Dokumentation",
"ogDescription": "Eine externe Samba-/CIFS-Freigabe auf dem Proxmox-Host über pvesm, fstab mit offenen Berechtigungen für LXC-Bind-Mounts oder beide Methoden einhängen."
},
"header": {
"title": "Host: Samba-Freigabe auf dem Host einhängen",
"description": "Montieren Sie eine externe Samba (SMB / CIFS)-Freigabe - von einem NAS, einer Windows-Box, einem TrueNAS SMB Export - auf dem Proxmox-Host. Wählen Sie eine oder beide Methoden: Registrieren Sie es als Proxmox-Speicher (sichtbar in Datacenter > Storage) und/oder fügen Sie einen einfachen Mount über /etc/fstab an einem von Ihnen gewählten Pfad mit offenem uid/gid/file_mode hinzu, so dass unprivilegierte LXCs ohne Änderungen im Container bind-mounten und schreiben können.",
"section": "Speicher und Freigaben · Host"
},
"intro": {
"title": "Was das macht",
"body": "ProxMenux bietet zwei Methoden für Samba-Freigaben: <strong>(1) Proxmox-Speicher</strong> über <code>pvesm add cifs</code>, sichtbar unter Datacenter > Storage und eingehängt unter <code>/mnt/pve/&lt;id&gt;</code>. Das Passwort liegt im Klartext in <code>/etc/pve/priv/storage/&lt;id&gt;.pw</code>, geschützt durch das nur für root zugängliche private Verzeichnis. Das ist Zugriffsschutz, keine Verschlüsselung. <strong>(2) fstab-Mount auf dem Host</strong> an einem gewählten Pfad, dauerhaft über <code>/etc/fstab</code> und mit <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>, damit unprivilegierte LXCs über Bind-Mounts schreiben können. Die Zugangsdaten liegen in einer nur für root lesbaren Datei unter <code>/etc/samba/credentials/</code>, nie direkt in <code>fstab</code>. Beide Methoden sind einzeln oder gemeinsam nutzbar."
},
"opening": {
"heading": "Öffnen des Tools",
"body": "Öffnen Sie im Hauptmenü von ProxMenux <strong>Speicher &amp; Freigabe-Manager → Samba Freigabe auf Host bereitstellen</strong>. Sie sehen dieses sub-Menü mit vier Optionen:",
"imageAlt": "Samba-Host-Menü — Einhängen / Anzeigen / Entfernen / Verbindung testen"
},
"howRuns": {
"heading": "Wie das Skript läuft",
"body": "Der Ablauf hat zwei Phasen. Phase 1: Server entdecken, Anmeldeinformationen validieren, Share auswählen und dann die Mount-Methode(n) über eine Checkliste auswählen. Phase 2: Nur die von Ihnen markierten Methoden werden ausgeführt. Anmeldeinformationen werden im Voraus benötigt, weil <code>smbclient</code> sie benötigt, um Freigaben aufzulisten. Bis zur endgültigen Bestätigung werden weder <code>/etc/pve/storage.cfg</code> noch <code>/etc/fstab</code> berührt."
},
"modes": {
"heading": "Mount-Methode wählen (eine oder beide Optionen)",
"intro": "Nach Auswahl der Freigabe und Validierung der Anmeldeinformationen zeigt ProxMenux eine Checkliste mit den beiden Mount-Methoden an. Sie können entweder oder beide markieren. Wenn Sie auf OK drücken, ohne etwas zu markieren, erscheint der Dialog erneut, bis Sie mindestens eine Option auswählen oder auf Abbrechen drücken, um den Fluss zu verlassen.",
"headerMethod": "Methode",
"headerMount": "Mount-Pfad",
"headerUi": "Sichtbar in Datacenter > Storage",
"headerUseCase": "Typischer Anwendungsfall",
"rows": [
{
"method": "<strong>Als Proxmox-Speicher (pvesm)</strong>",
"mountRich": "<code>/mnt/pve/&lt;storage-id&gt;</code> (verwaltet von Proxmox)",
"ui": "Ja",
"useCase": "Backups, ISOs, LXC-Vorlagen - alles, was in der Proxmox-Benutzeroberfläche angezeigt werden muss. Live VM-Festplatten werden technisch unterstützt, aber von CIFS (Locking Semantics) abgeraten."
},
{
"method": "<strong>Nur Host-fstab</strong>",
"mountRich": "<code>/mnt/&lt;path&gt;</code> mit offenem uid/gid/file_mode",
"ui": "Nein",
"useCaseRich": "Die Freigabe per Bind-Mount in LXCs einbinden, <em>ohne</em> Proxmox-Speicher zu registrieren. Offene lokale Rechte erleichtern unprivilegierten CTs den Zugriff; Schreibzugriff muss der SMB-Server dem angemeldeten Benutzer trotzdem erlauben."
},
{
"method": "<strong>Beide</strong>",
"mount": "Beide Pfade oben (zwei Mount-Punkte desselben CIFS-Exports)",
"ui": "Ja",
"useCase": "Sie wollen UI-Integration UND einen stabilen hostseitigen Pfad mit offenen Berechtigungen für LXC-Bind-Mounts. Der pvesm-Mount verwendet Proxmox-Standards; der fstab-Mount wendet das offene uid/gid/file_mode separat an."
}
],
"bothTitle": "„Beide“ erstellt zwei CIFS-Mount-Punkte",
"bothBody": "pvesm hängt unter <code>/mnt/pve/&lt;id&gt;</code> mit Proxmox-Standardoptionen ein. fstab verwendet <code>/mnt/&lt;path&gt;</code> mit <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> für lokalen Zugriff über LXC-Bind-Mounts. Der SMB-Server erzwingt weiterhin die Rechte des Mount-Benutzers. Zwei Mount-Punkte garantieren keine zwei getrennten TCP-Verbindungen."
},
"pvesmBranch": {
"heading": "Methode A — als Proxmox-Speicherung (pvesm)",
"intro": "Wenn <em>Als Proxmox-Speicher</em> markiert ist, führt ProxMenux den ursprünglichen pvesm-Flow aus:",
"items": [
"<strong>Storage ID</strong> — Standard <code>cifs-&lt;server-ip-with-dashes&gt;</code>. Nur Buchstaben, Ziffern, <code>-</code> und <code>_</code>.",
"<strong>Inhaltstypen</strong> — diese ProxMenux-Auswahl bietet <strong>6</strong> Optionen. Gegenüber NFS fehlt <code>rootdir</code>. Das ist eine Entscheidung des Skripts und keine Aussage, dass jede Proxmox-CIFS-Version LXC-Root-Dateisysteme verbietet:"
],
"headerType": "Inhaltsart",
"headerAllows": "Was es erlaubt",
"rows": [
{
"type": "import",
"allows": "Datenträgerbildimporte (standardmäßig ausgewählt)."
},
{
"type": "backup",
"allowsRich": "VM und CT Backup-Dateien (<code>vzdump</code>)."
},
{
"type": "iso",
"allows": "ISO-Abbildungen für die Installation."
},
{
"type": "vztmpl",
"allows": "LXC-Vorlagen."
},
{
"type": "images",
"allowsRich": "VM-Festplatten in Betrieb — <strong>mit Warnung im Dialog</strong>, siehe unten."
},
{
"type": "snippets",
"allows": "Hook-Scripts und Cloud-Init-Snippets."
}
],
"warnTitle": "VM-Disks auf CIFS",
"warnBody": "Die Auswahl <code>images</code> löst eine ProxMenux-Warnung aus: CIFS/SMB kann Sperrprobleme bei VM-Festplattenoperationen verursachen. Das Skript empfiehlt NFS, lässt Sie aber fortfahren. Sicherungen und ISOs sind typische CIFS-Anwendungen. Prüfen Sie Sperren, Snapshots, Migration und Last vor der Verwendung für <code>images</code>.",
"credsTitle": "Wo pvesm Anmeldeinformationen speichert",
"credsBody": "Das Passwort steht nicht in <code>/etc/pve/storage.cfg</code>. Proxmox schreibt Klartext-Zugangsdaten in <code>/etc/pve/priv/storage/&lt;storage-id&gt;.pw</code>, im privaten Bereich des Cluster-Dateisystems, den nur <code>root</code> lesen kann (Modus <code>0600</code>); geschützt sind sie durch Zugriffsrechte, nicht durch Verschlüsselung. Nach einer Passwortänderung am Server verwenden Sie <code>pvesm set &lt;id&gt; --password &lt;new&gt;</code> oder entfernen und ergänzen den Speicher über ProxMenux erneut."
},
"fstabBranch": {
"heading": "Methode B — nur ein fstab-Mount auf dem Host",
"intro": "Wenn <em>Nur fstab-Mount auf dem Host</em> ausgewählt ist, fragt ProxMenux nach Host-Pfad und dauerhaften Optionen, erstellt im Benutzermodus eine nur für root lesbare Zugangsdaten-Datei, hängt die Freigabe ein und schreibt den Eintrag in <code>/etc/fstab</code>:",
"items": [
"<strong>Mount-Pfad auf dem Host</strong> — standardmäßig <code>/mnt/&lt;share-name&gt;</code>. Es muss ein absoluter Weg sein. Wenn dort bereits etwas montiert ist oder ein fstab-Eintrag vorhanden ist, bietet ProxMenux an, ihn zu ersetzen.",
"<strong>Mount-Optionen</strong> — <em>Lesen/Schreiben</em> (Standard: <code>rw,uid=0,gid=0,file_mode=0777,dir_mode=0777,iocharset=utf8,nofail,_netdev</code>), <em>Nur Lesen</em> (<code>file_mode=0555,dir_mode=0555</code>), <em>Benutzerdefiniert</em> (eigene Optionen eingeben). Das Skript empfiehlt offene uid/gid/file_mode für Schreibzugriffe über LXC-Bind-Mounts."
],
"credsTitle": "Anmeldedatendatei (Benutzermodus)",
"credsBody": "Wenn Sie sich mit einem Benutzernamen + Passwort authentifiziert haben, schreibt ProxMenux eine Root-Only-Anmeldedatendatei unter <code>/etc/samba/credentials/&lt;server&gt;_&lt;share&gt;.cred</code> (Modus <code>0600</code>) mit <code>username=</code> und <code>password=</code> Zeilen und verweist sie im fstab-Eintrag über die <code>credentials=</code>-Mount-Option. Klartext landet nie in <code>/etc/fstab</code>. Für den Gastmodus wird stattdessen die Option <code>guest</code> angehängt und es wird keine Anmeldedatei erstellt.",
"appliesIntro": "Sobald Sie bestätigen, das Skript:",
"applies": [
"<code>mkdir -p</code> der Mount Path.",
"<code>mount -t cifs -o &lt;opts&gt;,credentials=&lt;file&gt;</code> (oder <code>guest</code>) <code>//&lt;srv&gt;/&lt;share&gt; &lt;path&gt;</code>.",
"Schreibt einen einzeiligen Eintrag in <code>/etc/fstab</code>: <code>//&lt;srv&gt;/&lt;share&gt; &lt;path&gt; cifs &lt;opts&gt; 0 0</code>.",
"Führt <code>systemctl daemon-reload</code> aus, so dass systemd den neuen Fstab-Eintrag abholt."
],
"lxcTitle": "Verwendung des fstab-Mounts aus einem unprivilegierten LXC",
"lxcBody": "Die CIFS-Optionen <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> öffnen lokale Berechtigungsprüfungen für LXC-Bind-Mounts. Server-ACLs und ausgehandelte Unix-/POSIX-Semantik können den Zugriff weiterhin beeinflussen. <strong>Im Container wird nichts geändert</strong>: kein CT-<code>chown</code>, keine Gruppen oder Änderungen an <code>/etc/lxc</code>. Die <code>mp</code>-Zeile verwaltet Proxmox in der CT-Konfiguration. Verwenden Sie den angezeigten <code>pct set</code>-Befehl oder den <mountLink>LXC Mount Manager</mountLink>.",
"noUiTitle": "Der fstab-Mount ist KEIN Proxmox-Speicher",
"noUiBody": "Der fstab-Mount auf dem Host erscheint bewusst nicht in der Proxmox-Weboberfläche. Er fehlt unter <em>Datacenter > Storage</em>, lässt sich beim Erstellen einer VM oder eines CT nicht auswählen und kann nicht als Ziel eines Proxmox-Sicherungsauftrags dienen. Er ist lediglich ein Pfad im Dateisystem des Hosts. Wünschen Sie zusätzlich die Integration in die Oberfläche, wählen Sie <em>beide</em> Methoden aus."
},
"manual": {
"heading": "Manuelles Äquivalent",
"pvesmIntro": "Methode A (pvesm) bildet ab:",
"fstabUserIntro": "Methode B (fstab, user auth) — Anmeldedatendatei + Mount:",
"fstabGuestIntro": "Methode B (fstab, guest auth) — keine Anmeldedatendatei:"
},
"view": {
"heading": "CIFS-Speicher und Host-Mounts anzeigen",
"body": "Zeigt registrierte CIFS-Speicher (<code>pvesm status | awk ''$2 == \"cifs\"''</code>) mit Server, Freigabe, Inhalt, Benutzer oder <em>Gast</em>, Pfad und Status. Passwörter werden <strong>nie ausgegeben</strong>. <strong>Hinweis:</strong> Ein zweiter Abschnitt zeigt Host-fstab-Mounts mit Optionen, Zugangsdaten-Dateipfad und Aktivitätsstatus. Manuelle Prüfung mit <code>findmnt -t cifs</code> oder <code>grep cifs /etc/fstab</code>."
},
"remove": {
"heading": "CIFS-Speicher oder Host-Mount entfernen",
"body": "Die Auswahl enthält pvesm-Speicher und Host-fstab-Mounts. Für pvesm läuft <code>pvesm remove &lt;storage-id&gt;</code>; Proxmox entfernt zugehörige Zugangsdaten. Für fstab versucht das Skript <code>umount &lt;path&gt;</code>, entfernt den Eintrag aus <code>/etc/fstab</code> und Zugangsdaten unter <code>/etc/samba/credentials/</code> sowie nach Möglichkeit das leere Mount-Verzeichnis. Scheitert das Aushängen, sind manueller Unmount oder Neustart nötig. <strong>Der entfernte Samba-Server und seine Dateien bleiben unverändert</strong>.",
"warnTitle": "Abhängigkeiten zuerst sichern",
"warnBody": "VMs, CTs oder Backup-Jobs, die sich auf diesen Speicher nach ID beziehen, schlagen nach dem Entfernen fehl. Verschieben / löschen Sie diese Referenzen, bevor Sie den Speicher entfernen."
},
"test": {
"heading": "Samba Konnektivität testen",
"body": "Führt einen Diagnosepass über jeden in Proxmox registrierten CIFS-Speicher aus: Prüft, ob <code>smbclient</code> verfügbar ist, pingt jeden Server, prüft die Ports 445 und 139, versucht eine Gästeliste und meldet die eigene Ansicht von Proxmox (<code>pvesm status</code>). \"Erfordert Authentifizierung\" auf der Gästeliste bedeutet, dass Ihr Server nur Anteile authentifizierten Benutzern aussetzt - normal für die meisten NAS-Setups."
},
"troubleshoot": {
"heading": "Fehlerbehebung",
"noServersTitle": "\"Keine Samba-Server im Netzwerk gefunden\"",
"noServersBody": "Auto-discover verwendet <code>nmap -p 139,445</code>. Der Server kann sich in einem anderen Subnetz befinden, eine Firewall haben oder nur über den Hostnamen (mDNS / WINS) erreichbar sein. Verwenden Sie stattdessen die Option <em>Manual</em> mit IP oder Hostname.",
"noSharesTitle": "„Keine zugänglichen Freigaben gefunden“",
"noSharesBody": "<code>smbclient -L</code> gab nichts für diese Anmeldeinformationen zurück. Ursachen: Der Benutzer hat keine Berechtigung zum Auflisten von Shares (versuchen Sie es einmal mit Admin-Anmeldeinformationen oder geben Sie den Share-Namen manuell ein), der Server hat die Share-Sichtbarkeit deaktiviert oder die Anmeldeinformationen sind falsch. Mit dem Skript können Sie den Share-Namen in diesem Fall von Hand eingeben.",
"denyTitle": "Proxmox Mount scheitert mit NT_STATUS_ACCESS_DENIED",
"denyBody": "Die gespeicherten Anmeldeinformationen pvesm sind nicht mit dem Samba-Server synchronisiert (Passwort geändert, Konto deaktiviert, Domain / Arbeitsgruppenfehlanpassung). Wiedereingabe von Anmeldeinformationen mit <code>pvesm set &lt;id&gt; --username &lt;u&gt; --password &lt;p&gt;</code> oder Entfernen und erneutes Hinzufügen von ProxMenux. Wenn sich der Server in einer AD-Domäne befindet, fügen Sie <code>--domain &lt;DOMAIN&gt;</code> an den <code>pvesm set</code>-Aufruf an.",
"sleepTitle": "\"host is down\" oder der Speicherstatus wird nachts inaktiv",
"sleepBody": "Einige NAS-Appliances setzen SMB aggressiv schlafen. <code>pvestatd</code> sieht den Speicher dann als inaktiv, bis der erste Zugriff den NAS weckt. Wenn das kosmetisch ist, ist nichts kaputt. Wenn es zu Backup-Fehlern kommt, deaktivieren Sie die SMB Leerlauftrennung am NAS oder planen Sie Backups außerhalb des Schlaffensters.",
"lxcNoWriteTitle": "Unprivilegiertes LXC bind-mount kann nicht in den fstab Pfad schreiben",
"lxcNoWriteBody": "Prüfen Sie <code>findmnt /mnt/&lt;path&gt;</code> auf die vorgesehenen Optionen, etwa <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>. Fehlende lokale Schreibrechte können zugeordnete LXC-UIDs blockieren. Wenden Sie das RW-Profil erneut an oder passen Sie eigene Optionen an. Prüfen Sie auch die Schreibrechte des SMB-Benutzers auf dem Server und ob Unix-/POSIX-Erweiterungen Servermodi liefern. Offene lokale Modi umgehen keine Server-ACLs.",
"fstabBootTitle": "fstab Mount wird nach dem Neustart nicht angezeigt",
"fstabBootBody": "Das Skript fügt <code>nofail,_netdev</code> hinzu, so dass ein fehlende Freigabe beim Booten den Start nicht blockiert. Wenn der Mount nie auftaucht: Bestätigen Sie, dass das Netzwerk erreichbar ist (<code>ping &lt;server&gt;</code>), überprüfen Sie <code>journalctl -u remote-fs.target</code>, überprüfen Sie, ob die Anmeldedatendatei noch vorhanden ist (<code>ls -l /etc/samba/credentials/</code>) und lesbar ist, und versuchen Sie <code>mount -a</code> manuell."
},
"related": {
"heading": "Verwandte Themen",
"items": [
{
"href": "/docs/storage-share/host-nfs",
"label": "NFS-Freigabe als Proxmox-Speicher",
"tail": "— Geschwisterseite mit dem gleichen Flussmuster (Methode A pvesm + Methode B fstab) und Side-by-Side-Trade-offs."
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "LXC-Mount-Verwaltung",
"tailRich": "— bind-mount den fstab-only Pfad <code>/mnt/&lt;path&gt;</code> in einen oder mehrere Container."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Samba-Client in LXC",
"tail": "— Alternative: Samba direkt aus einem privilegierten Container montieren (überspringt den Host)."
}
]
}
}
@@ -0,0 +1,135 @@
{
"meta": {
"title": "Proxmox NFS, Samba, iSCSI und LXC-Mounts — Speicher und Freigaben | ProxMenux",
"description": "Integrieren Sie externen und lokalen Speicher in Proxmox VE und teilen Sie Ordner zwischen dem Host und LXC-Containern. Fügen Sie NFS-Freigaben, Samba-Freigaben (CIFS) und iSCSI-Ziele als Proxmox-Speicher hinzu, richten Sie LXC-Bind-Mounts mit dem Mount Manager ein und betreiben Sie NFS-/Samba-Clients und -Server in Containern.",
"ogTitle": "Proxmox NFS, Samba, iSCSI und LXC-Mounts — Speicher und Freigaben",
"ogDescription": "Integrieren Sie externen / lokalen Speicher in Proxmox VE - NFS, Samba, iSCSI-Registrierung sowie LXC-Bind-Mounts und Netzwerkfreigabe.",
"twitterTitle": "Proxmox NFS, Samba, iSCSI | ProxMenux",
"twitterDescription": "Fügen Sie NFS / Samba / iSCSI als Proxmox-Speicher hinzu und teilen Sie Ordner zwischen Host und LXC."
},
"header": {
"title": "Speicher- und Freigabemanager",
"description": "Integrieren Sie externen oder lokalen Speicher in Proxmox VE und teilen Sie Ordner zwischen dem Host und LXC-Containern. Drei Werkzeuggruppen: Host-Speicherintegration (Speicher direkt in Proxmox registrieren), der LXC Mount Manager (Bind-Mounts mit pragmatischer Rechteverwaltung) und LXC-Netzwerkfreigaben (NFS-/Samba-Client- und -Server-Abläufe für bestimmte Anwendungsfälle).",
"section": "Speicher und Freigaben"
},
"intro": {
"title": "Wofür dieses Menü ist",
"body": "Der Disk Manager arbeitet auf der Ebene von <em>individuellen physischen Disks</em>. Der Storage &amp; Share Manager arbeitet eine Ebene höher – er <strong> registriert Speicherpools und Netzwerkfreigaben in Proxmox</strong> (damit die Benutzeroberfläche und der VM-Ersteller sie verwenden können) und <strong> richtet die Dateifreigabe zwischen dem Host und Ihren Containern</strong> ein."
},
"opening": {
"heading": "Öffnen des Menüs",
"body": "Wählen Sie im Hauptmenü von ProxMenux <strong>Storage &amp; Share Manager</strong>. Sie werden sehen:",
"imageAlt": "Storage & Share Manager Menü mit HOST und LXC Blöcken"
},
"groups": {
"heading": "Drei Werkzeuggruppen",
"intro": "Das Menü ist in drei Gruppen aufgeteilt. <strong>Host-Speicherintegration</strong> registriert externen oder lokalen Speicher direkt in Proxmox. Der <strong>LXC Mount Manager</strong> ist das Hauptwerkzeug zur Ordnerfreigabe für Container — ein pragmatischer Bind-Mount-Ablauf, der die UID-Zuordnung unprivilegierter CTs auf dem Host berücksichtigt. <strong>LXC-Netzwerkfreigaben</strong> decken vier zusätzliche Szenarien ab, in denen ein Container NFS-/Samba-Freigaben direkt <em>nutzen</em> oder <em>bereitstellen</em> muss.",
"hostTitle": "Host-Speicher",
"hostBody": "Registrieren Sie externe und lokale Speicherung in Proxmox über <code>pvesm add …</code>. Nach der Registrierung erscheint der Speicher in der Proxmox-Benutzeroberfläche und steht den VM- und CT-Erstellern zur Verfügung.",
"hostItems": [
"Externer NFS / Samba / iSCSI → Proxmox Speicher",
"Lokale Festplatte → Proxmox Verzeichnis oder ZFS Speicher",
"Lokales freigegebenes Verzeichnis (für Bind-Mounts in mehrere CTs)"
],
"lxcMountTitle": "LXC-Mount-Verwaltung",
"lxcMountBody": "Das primäre LXC-Sharing-Tool. Bindet Host-Verzeichnisse über <code>pct set -mpN</code> in Container ein und verarbeitet die Besonderheiten der Berechtigungen von unprivilegierten CTs, ohne eine Gruppe oder einen Benutzer im Container zu erstellen.",
"lxcMountItems": [
"Arbeitet mit privilegierten und unprivilegierten CTs",
"Bietet <code>o+rwx</code> für das Hostverzeichnis an, um unprivilegierte UIDs zu unterstützen",
"Behebt vorhandene CIFS / NFS Mounts bei Bedarf"
],
"lxcNetTitle": "LXC Netzwerkfreigabe",
"lxcNetBody": "Vier zusätzliche Abläufe, wenn ein Container NFS-/Samba-Freigaben direkt nutzen oder bereitstellen muss. Alle erfordern einen <strong>privilegierten</strong> Container.",
"lxcNetItems": [
"NFS-/Samba-<strong>Client</strong> (externe Freigaben nutzen)",
"NFS-/Samba-<strong>Server</strong> (CT-Ordner bereitstellen)"
]
},
"host": {
"heading": "Integration von Host-Speicher",
"intro": "Speicher in Proxmox registrieren. Jede Option ruft <code>pvesm add …</code> unter der Haube auf, so dass der Speicher in <strong>Datacenter → Storage</strong> angezeigt wird und den VM / CT-Erstellern zur Verfügung steht.",
"options": [
{
"href": "/docs/storage-share/host-nfs",
"icon": "Network",
"title": "NFS-Freigabe als Proxmox-Speicher hinzufügen",
"description": "Registrieren Sie einen externen NFS-Export als Proxmox-Speicher über pvesm add nfs. Proxmox übernimmt das mount - keine fstab-einträge erforderlich."
},
{
"href": "/docs/storage-share/host-samba",
"icon": "Share2",
"title": "Samba-Freigabe als Proxmox-Speicher hinzufügen",
"description": "Registrieren Sie eine externe Samba-/CIFS-Freigabe als Proxmox-Speicher über pvesm add cifs. Proxmox übernimmt das Einhängen und die Anmeldeinformationen."
},
{
"href": "/docs/storage-share/host-iscsi",
"icon": "Database",
"title": "Hinzufügen von iSCSI-Ziel als Proxmox-Speicher",
"description": "Verbinden Sie sich mit einem externen iSCSI-Ziel und registrieren Sie es als Proxmox-Speicher (Blockgerät) für VM-Disk-Images."
},
{
"href": "/docs/storage-share/host-local-disk",
"icon": "HardDrive",
"title": "Lokale Festplatte als Proxmox-Speicher hinzufügen",
"description": "Formatieren Sie eine lokale SATA / SAS / NVMe-Festplatte und registrieren Sie sie als Proxmox-Verzeichnis oder ZFS-Poolspeicher."
},
{
"href": "/docs/storage-share/host-local-shared",
"icon": "FolderOpen",
"title": "Freigegebenes Verzeichnis auf dem Host hinzufügen",
"description": "Erstellen Sie ein Host-Verzeichnis, das in mehrere CTs eingebunden werden soll. Kein Proxmox-Speicher - rein eine hostseitige Ressource für LXC-Bind-Mounts."
}
]
},
"lxcMount": {
"heading": "LXC-Mount-Verwaltung",
"intro": "Das primäre Tool zum Teilen von Ordnern zwischen dem Proxmox-Host und LXC-Containern. Es verwendet <code>pct set -mpN</code>, um ein Host-Verzeichnis in den Container zu binden, und behandelt die Besonderheiten der Berechtigungen von unprivilegierten CTs auf der Hostseite (es werden keine Gruppen oder Benutzer innerhalb des Containers erstellt).",
"card": {
"title": "LXC-Mountpoints (Host ↔ CT)",
"description": "Binden Sie ein beliebiges Hostverzeichnis mit pct set -mpN in einen LXC-Container ein. Dies funktioniert mit privilegierten und unprivilegierten CTs. Das Werkzeug bietet chmod o+rwx und ACLs für das Hostverzeichnis an und korrigiert bei Bedarf vorhandene CIFS- oder NFS-Mounts."
}
},
"lxcNet": {
"heading": "LXC Netzwerkfreigabe",
"intro": "Verwenden Sie diese Abläufe, wenn ein Container ein NFS-/Samba-Endpunkt <em>sein</em> muss — entweder eine externe Freigabe nutzen (Client) oder eigene Ordner bereitstellen (Server). Für die meisten Dateifreigaben (Bind-Mounts zwischen Host ↔ CT) ist der <mountLink>LXC Mount Manager</mountLink> einfacher und erfordert keine privilegierten Container.",
"options": [
{
"href": "/docs/storage-share/lxc-nfs-client",
"icon": "Download",
"title": "NFS-Client in LXC",
"description": "NFS-Freigaben innerhalb eines privilegierten LXC-Containers einhängen. Unterstützt automatische Erkennung, dauerhafte Einträge in /etc/fstab und sauberes Aushängen."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"icon": "Download",
"title": "Samba-Client in LXC",
"description": "Samba-/CIFS-Freigaben innerhalb eines privilegierten LXC-Containers einhängen. Zugangsdaten werden geschützt gespeichert; automatische Erkennung ist verfügbar."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"icon": "Upload",
"title": "NFS Server in LXC",
"description": "Exportieren Sie Ordner über NFS aus einem privilegierten LXC-Container."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"icon": "Upload",
"title": "Samba-Server in LXC",
"description": "Geben Sie Ordner über SMB / CIFS aus einem privilegierten LXC-Container frei."
}
]
},
"privReq": {
"title": "Privilegierte Containeranforderung",
"body": "Die vier obigen Abläufe für <strong>LXC-Netzwerkfreigaben</strong> erfordern einen <strong>privilegierten</strong> Container. Die Skripte prüfen diesen unterstützten Modus, bevor sie Dienste und Mount-Werkzeuge konfigurieren (<code>nfs-kernel-server</code>, <code>smbd</code>, <code>mount.nfs</code>, <code>mount.cifs</code>). Wenn Sie nur Dateien zwischen Host und unprivilegiertem CT teilen möchten, verwenden Sie den <mountLink>LXC Mount Manager</mountLink>: Er bindet die Verzeichnisse vom Host aus ein und passt dort die Rechte an, sodass der Container lesen und schreiben kann, ohne diese Dienste oder Werkzeuge in ihm einzurichten."
},
"unprivExplain": {
"title": "Wie ProxMenux unprivilegierte CT-Berechtigungen verarbeitet",
"body": "Unprivilegierte LXC-Container verschieben ihre UIDs auf dem Host um <strong>+100000</strong> (Container-UID 0 = Host-UID 100000, Container-UID 1000 = Host-UID 101000, …). Eine von einem Container-Benutzer erstellte Datei erscheint daher auf dem Host als <em>andere</em> — sie gehört keinem regulären Host-Benutzer oder keiner regulären Host-Gruppe. Der LXC Mount Manager löst dies pragmatisch: Statt UIDs/GIDs zwischen Host und CT abzugleichen, bietet er <code>chmod o+rwx</code> mit passenden ACLs für das Hostverzeichnis an, sodass jede zugeordnete UID lesen und schreiben kann. CIFS wird mit <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> neu eingehängt; bei NFS wird ein für alle beschreibbares Verzeichnis mit Sticky-Bit eingerichtet. Bei Root-Squashing weist das Werkzeug auf die nötige serverseitige Korrektur hin."
},
"scripts": {
"heading": "Involvierte Skripte",
"intro": "Jede einzelne Seite verlinkt auf das Skript, das seinen Fluss antreibt. Die folgende Datei ist ein gemeinsamer Helfer, der nicht als eigene Seite dokumentiert ist, sondern von mehreren LXC-Netzwerk-Sharing-Flows verwendet wird:",
"itemTail": "CT-Validierung, Einhängepunktauswahl, privilegierte Überprüfung und universelle Gruppeneinrichtungshelfer, die über die LXC-Client- / Serverflüsse hinweg geteilt werden."
}
}
@@ -0,0 +1,174 @@
{
"meta": {
"title": "LXC-Einhängepunkte (Host ↔ Container) | ProxMenux-Dokumentation",
"description": "Der LXC Mount Manager bindet ein beliebiges Hostverzeichnis mit pct set -mpN in einen oder mehrere LXC-Container ein. Er berücksichtigt Besonderheiten der Berechtigungen unprivilegierter Container, korrigiert vorhandene CIFS- und NFS-Mounts auf dem Host und verändert nichts im Container.",
"ogTitle": "LXC-Einhängepunkte (Host ↔ Container) | ProxMenux-Dokumentation",
"ogDescription": "Bind-Mount-Hostverzeichnisse in LXC-Containern. Behandelt unprivilegiertes UID-Mapping pragmatisch, behebt CIFS / NFS-Zugriff auf der Hostseite."
},
"header": {
"title": "LXC-Einhängepunkte (Host ↔ Container)",
"description": "Das primäre Tool zum Teilen von Ordnern zwischen dem Proxmox-Host und LXC-Containern. Bindet ein beliebiges Hostverzeichnis in einen oder mehrere Container mit Proxmox's nativer pct set -mpN-Syntax. Die Besonderheit: Es löst die Berechtigungsprobleme von unprivilegierten Containern auf der Hostseite - es ändert niemals etwas im Container.",
"section": "Speicher und Freigaben · LXC"
},
"intro": {
"title": "Was das macht",
"body": "Nehmen Sie ein Verzeichnis, das sich auf dem Proxmox-Host befindet (ein lokaler Ordner, eine eingehängte NAS-Freigabe, ein von Proxmox verwalteter Speicher ...) und lassen Sie es in einem LXC-Container auf einem von Ihnen gewählten Pfad erscheinen, mit Berechtigungen, die auch für unprivilegierte Container funktionieren - ohne etwas im Container zu berühren."
},
"bigPicture": {
"heading": "Wie es funktioniert (das große Bild)",
"intro": "Bei einem Bind-Mount weist Proxmox den Kernel an, das Hostverzeichnis <code>X</code> auch unter <code>Y</code> im Container bereitzustellen. Keine Kopie, keine Synchronisierung, kein Netzwerk: Beide Seiten sehen gleichzeitig die <em>gleichen Dateien</em>.",
"sourceLabel": "Proxmox-Host",
"sourceDetail": "/mnt/data\n(Ihr Ordner)",
"targetLabel": "LXC-Container",
"targetDetail": "/mnt/data\n(erscheint hier)",
"arrowLabel": "Bind-Mount",
"outro": "Der Host-Pfad links und der Container-Pfad rechts können unterschiedlich sein - zum Beispiel kann <code>/mnt/nas-films</code> auf dem Host <code>/media/films</code> innerhalb des Containers werden. Das Skript fügt den Eintrag zur Container-Konfiguration (<code>/etc/pve/lxc/&lt;ctid&gt;.conf</code>) mit dem nächsten freien <code>mpN</code>-Index hinzu, wobei zwei sichere Standardeinstellungen eingebaut sind:",
"items": [
"<code>shared=1</code> — kennzeichnet die Daten als gemeinsam genutzt, sodass Proxmox sie nicht mit dem CT migriert. Das Flag repliziert keine Daten: Derselbe Pfad und dieselben Daten müssen auf dem Zielknoten bereits verfügbar sein.",
"<code>backup=0</code> – schließt die Bind-Mount von <code>vzdump</code>-Backups aus (die Daten leben auf dem Host, Sie sichern sie separat)."
]
},
"perms": {
"heading": "Berechtigungen handhaben",
"intro": "Bind-Mounts sind prinzipiell einfach. Der schwierige Teil sind Berechtigungen: Ein <strong>unprivilegierter</strong> LXC-Container verschiebt jede UID durch <strong> + 100000</strong>, so dass eine Datei, die vom Benutzer 1000 im Container erstellt wurde, auf dem Host als UID 101000 erscheint - eine UID, die niemand auf dem Host besitzt. Um dies zu ermöglichen, ohne UIDs über Hosts und Container auszurichten, wendet ProxMenux den richtigen \"Öffnen von Berechtigungen\" -Trick auf der <em>Host</em>-Seite an, je nachdem, welche Art von Verzeichnis Sie ausgewählt haben:",
"headerType": "Host-Verzeichnistyp",
"headerAction": "Was das Skript zu tun anbietet",
"localType": "Lokaler Ordner",
"localTypeSub": "z.B. /mnt/data",
"localActionRich": "<code>chmod o+rwx</code> + <code>setfacl o::rwx</code> im Hostverzeichnis. Nur angeboten, wenn der CT nicht privilegiert ist und die aktuellen Berechtigungen nicht ausreichen.",
"cifsType": "Eingehängtes CIFS / SMB",
"cifsTypeSub": "z.B. /mnt/pve/cifs-…",
"cifsActionRich": "Remount mit <code>uid=0, gid=0, file_mode=0777, dir_mode=0777</code>, damit der CT (jede UID) die Freigabe lesen und schreiben kann. <code>/etc/fstab</code> wird aktualisiert.",
"nfsType": "Eingehängtes NFS",
"nfsTypeSub": "z.B. /mnt/pve/nfs-…",
"nfsActionRich": "<code>chmod 1777</code> und <code>setfacl o::rwx</code> auf dem NFS-Mount. Serverseitiges Squashing lässt sich damit nicht umgehen. Kann selbst root auf dem Host nicht schreiben, werden Sie zur Korrektur des Exports auf dem NFS-Server angeleitet.",
"privTitle": "Privilegierte Container benötigen nichts davon",
"privBody": "Für privilegierte Container ist UID 0 im CT UID 0 auf dem Host - root im CT kann das Hostverzeichnis direkt ohne Berechtigungstricks lesen und schreiben. Das Skript erkennt dies und überspringt den Schritt \"Öffnen von Berechtigungen\" vollständig.",
"noCtTitle": "Das Skript ändert niemals etwas im Container",
"noCtBody": "Alle Berechtigungsanpassungen erfolgen auf dem <strong>host-Dateisystem</strong>. Keine <code>pct exec</code>-Chowns, keine im CT erstellten Gruppen, kein Fstab im Container. Wenn Sie das bind-mounted-Verzeichnis später in einem anderen CT wiederverwenden, gelten die gleichen Berechtigungen automatisch - keine Einrichtung pro Container."
},
"writes": {
"heading": "Was ProxMenux schreibt - und was nicht",
"intro": "Eine häufige Verwirrung beim Binden in einen unprivilegierten CT: Die Leute gehen davon aus, dass ProxMenux <code>lxc.idmap</code>-Einträge in <code>/etc/pve/lxc/&lt;CTID&gt;.conf</code> schreiben muss. <strong>Das tut es nicht.</strong> Nur eine Zeile ist an diese Datei angehängt – das Bind-Mount selbst:",
"outro": "Die Ausgabezeile, die Sie am Ende des Laufs sehen, <em>\"Unprivilegierter Container - UID-Offset: 100000\"</em>, ist rein informativ - sie sagt Ihnen nur, dass der CT die standardmäßige unprivilegierte Zuordnung von Proxmox verwendet (root in CT = UID 100000 auf Host). Das Skript konfiguriert nichts um es herum.",
"twoWaysHeading": "Die beiden Möglichkeiten, Berechtigungen funktionieren zu lassen - und warum ProxMenux eine auswählt",
"headerApproach": "Ansatz",
"headerChanges": "Was es verändert",
"headerWhen": "Wenn es passt",
"hostType": "Berechtigungen auf dem Host",
"hostTypeSub": "(Was dieses Skript macht)",
"hostChangesRich": "<code>chmod o+rwx</code> + <code>setfacl o::rwx</code> im Hostverzeichnis. Die abgebildeten UIDs des CT (100000+) fallen in den \"Anderen\"-Bucket, so dass das Öffnen von <em>andere</em> ausreicht.",
"hostWhen": "Generic Shared-Ordner-Zugriff von jedem CT. Mehrere CTs teilen sich das gleiche Hostverzeichnis. Einfach und wiederverwendbar.",
"idmapTypeRich": "<code>lxc.idmap</code>",
"idmapTypeSub": "(nicht von diesem Skript verwendet)",
"idmapChangesRich": "Benutzerdefiniertes UID/GID-Mapping in <code>/etc/pve/lxc/&lt;CTID&gt;.conf</code> plus passende <code>/etc/subuid</code> + <code>/etc/subgid</code> Einträge auf dem Host. CT muss bei jeder Änderung neu gestartet werden.",
"idmapWhenRich": "Sie benötigen eine <em>bestimmte</em> UID innerhalb der CT, um einer <em>bestimmte</em> UID auf dem Host zuzuordnen (z.B.) <code>media:1000</code> im CT muss Dateien als <code>media:1000</code> auf dem Host besitzen, damit NFS nicht quetscht. Ein starreres Setup, das sich normalerweise nur für genau dieses Szenario lohnt.",
"idmapTipTitle": "Wenn Sie lxc.idmap tatsächlich benötigen",
"idmapTipBody": "Verwenden Sie manuelle ID-Zuordnung, wenn im CT geschriebene Dateien auf dem Host einer bestimmten numerischen UID/GID gehören sollen, etwa für gemeinsame Eigentümerschaft mit einem Hostbenutzer. Sie umgeht NFS-<code>all_squash</code> nicht; anonyme Identität und Rechte bestimmt weiterhin der Server. Fügen Sie bei Bedarf <code>lxc.idmap</code>-Einträge von Hand hinzu. Die Bind-Mount-Zeile ist davon unabhängig."
},
"opening": {
"heading": "Öffnen des Tools",
"body": "Öffnen Sie im Hauptmenü von ProxMenux <strong>Storage &amp; Share Manager → Konfigurieren Sie LXC Mount Points (Host ↔ Container)</strong>. Sie sehen dieses sub-Menü mit drei Optionen:",
"imageAlt": "LXC Mount Manager-Menü - Hinzufügen / Ansicht / Entfernen"
},
"addFlow": {
"heading": "Mount hinzufügen — vollständiger Ablauf",
"intro": "Die technische Ansicht, wenn Sie genau wissen möchten, was jeder Dialog tut:"
},
"sources": {
"heading": "Was Sie als Host-Verzeichnis auswählen können",
"intro": "Der Host-Verzeichnis-Picker ist der gründlichste im Abschnitt Storage &amp; Share. Es scannt vier Quellen und präsentiert eine deduplizierte Liste:",
"headerSource": "Quelle",
"headerWhere": "Woher es kommt",
"headerLabel": "Label im Menü",
"rows": [
{
"source": "Aktive Netzwerk-Mounts",
"whereRich": "Aktuell eingehängte CIFS-/NFS-Freigaben aus <code>/proc/mounts</code>.",
"labelRich": "<code>NFS [used/size]</code> oder <code>CIFS/SMB [used/size]</code>"
},
{
"source": "Inaktive fstab-Mounts",
"whereRich": "Definiert in <code>/etc/fstab</code>, aber derzeit nicht montiert.",
"labelRich": "<code>fstab(off)-NFS</code> / <code>fstab(off)-CIFS/SMB</code>"
},
{
"source": "Lokale Verzeichnisse",
"whereRich": "Sub-Verzeichnisse unter <code>/mnt</code>, die keine Netzwerk-Mounts sind.",
"labelRich": "<code>Local [size]</code>"
},
{
"source": "Proxmox-Speicher",
"whereRich": "Speicherpfade unter <code>/mnt/pve/*</code> (NFS / CIFS registriert über <code>pvesm</code>).",
"labelRich": "<code>PVE-NFS</code> / <code>PVE-CIFS/SMB</code> / <code>Proxmox-Storage</code>"
},
{
"source": "Manuelle Eingabe",
"where": "Alles andere - geben Sie den absoluten Pfad selbst ein.",
"labelRich": "<em>Pfad manuell eingeben</em>"
}
],
"tipTitle": "Interne Proxmox Pfade werden herausgefiltert",
"tipBody": "Der Picker überspringt explizit interne Proxmox-Pfade (<code>/mnt/pve/local</code>, <code>/mnt/pve/local-lvm</code>, <code>/mnt/pve/backup</code>, ...) – diese sind für Proxmox-Interna reserviert und Sie sollten sie nicht binden. Nur vom Benutzer hinzugefügte Speicher werden angezeigt."
},
"manual": {
"heading": "Manuelles Äquivalent",
"privIntro": "Für einen privilegierten Container — der einfachste Fall, keine Berechtigung Tricks:",
"unprivLocalIntro": "Für einen unprivilegierten Container mit einem lokalen Host-Verzeichnis - öffnen Sie zuerst Berechtigungen auf dem Host:",
"unprivCifsIntro": "Für einen unprivilegierten Container mit einem CIFS-Freigabe, der bereits auf dem Host montiert ist:"
},
"view": {
"heading": "Einhängepunkte anzeigen",
"body": "Listet jeden <code>mpN</code>-Eintrag für jeden Container auf diesem Proxmox-Host auf, gruppiert nach CT ID und zeigt Hostpfad → Containerpfad plus zusätzliche Optionen an. Nur Lesen - nützlich als Plausibilitätsprüfung, bevor Sie etwas hinzufügen oder entfernen."
},
"remove": {
"heading": "Einhängepunkt entfernen",
"body": "Wählen Sie den Container, wählen Sie den <code>mpN</code>-Eintrag, bestätigen Sie. Das Skript führt <code>pct set --delete mpN</code> aus, um den Eintrag aus der CT-Konfiguration zu löschen, und bietet an, den Container neu zu starten, wenn er ausgeführt wird. Das Host-Verzeichnis und sein Inhalt sind <strong>unverändert</strong> – Sie können das Mount später erneut hinzufügen (oder dasselbe Verzeichnis an ein anderes CT) anhängen.",
"warnTitle": "Live-laufende Container benötigen einen Neustart, damit Änderungen wirksam werden können",
"warnBody": "Sowohl Hinzufügen als auch Entfernen von Befestigungspunkten werden erst nach einem Neustart im Inneren des Containers sichtbar. Das Skript bietet einen <code>pct reboot</code> mit einem Klick am Ende jeder Operation; Sie können später manuell ablehnen und neu starten."
},
"troubleshoot": {
"heading": "Fehlerbehebung",
"noMountTitle": "Mount erscheint in pct config, aber nicht im Container",
"noMountBody": "Bind-Mounts werden nur dann angebracht, wenn der Container startet. Wenn Sie die Mount hinzugefügt haben, während die CT ausgeführt wurde, starten Sie sie neu (<code>pct reboot &lt;ctid&gt;</code>). Wenn es bereits neu gestartet wurde und immer noch fehlt, überprüfen Sie <code>pct config &lt;ctid&gt;</code>, um zu bestätigen, dass der Eintrag existiert und der Hostpfad tatsächlich ein Verzeichnis enthält.",
"noWriteTitle": "Container kann das Verzeichnis sehen, aber nicht schreiben",
"noWriteBody": "Fast immer ein Berechtigungsproblem. Führen Sie bei unprivilegierten Containern die Berechtigungskorrektur des Skripts erneut aus - die ACLs des Hostverzeichnisses wurden möglicherweise von einem anderen Tool zurückgesetzt (rsync, Wiederherstellen aus dem Backup, manuelles <code>chmod</code>). Überprüfen Sie für CIFS die Mount-Optionen auf dem Host: <code>findmnt /mnt/pve/cifs-…</code>, suchen Sie nach <code>uid=</code> / <code>gid=</code> / <code>file_mode=</code> Werten.",
"alreadyTitle": "\"Dieser Pfad wird bereits als Einhängepunkt in diesem Container verwendet\"",
"alreadyBody": "Sie haben den gleichen Containerpfad ausgewählt, der bereits mit einem anderen Hostverzeichnis verdrahtet ist. Wählen Sie entweder einen anderen Containerpfad oder entfernen Sie zuerst den vorhandenen Montagepunkt.",
"nfsTitle": "NFS-Zugriff auch nach Anwendung des Host-Fixes blockiert",
"nfsIntro": "Ihr NFS-Server quetscht Root oder alle Verbindungen. Das Skript kann dies erkennen (es versucht, eine Testdatei vom Host zu schreiben) und zeigt die serverseitige Anleitung. Zwei gängige serverseitige Fixes für den Export:",
"nfsItems": [
"<code>no_root_squash</code> - privilegierte CTs können direkt schreiben.",
"<code>all_squash,anonuid=65534,anongid=65534</code> — für unprivilegierte CTs."
],
"nfsOutro": "Diese Änderungen finden auf dem NFS-Server (TrueNAS, Synology, Ihr benutzerdefinierter Export, ...) statt, nicht auf Proxmox.",
"fstabOffTitle": "\"Fstab(off)\"-Einträge machen nichts",
"fstabOffBody": "Der Picker zeigt <code>fstab(off)-</code>-Einträge an, wenn ein Netzwerk-Mount in fstab definiert, aber derzeit nicht montiert ist. Mit dem Skript können Sie den Pfad bind-mounten, aber das Verzeichnis wird leer sein, bis Sie die Freigabe tatsächlich mounten (<code>mount &lt;path&gt;</code> auf dem Host). Montieren Sie es zuerst und binden Sie es dann in den CT."
},
"related": {
"heading": "Verwandte Themen",
"items": [
{
"href": "/docs/storage-share/host-local-shared",
"label": "Shared Directory auf Host hinzufügen",
"tailRich": "— typischer erster Schritt: Bereiten Sie einen <code>/mnt/shared</code> auf dem Host vor, bevor Sie ihn hier in einen oder mehrere CTs binden."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "NFS-Freigabe als Proxmox-Speicher hinzufügen",
"extraHref": "/docs/storage-share/host-samba",
"extraLabel": "Samba-Freigabe als Proxmox-Speicher hinzufügen",
"joiner": " / ",
"tailRich": "- registrieren Sie zuerst eine externe Freigabe in Proxmox und binden Sie dann den <code>/mnt/pve/&lt;id&gt;</code>-Pfad hier in den CT."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "NFS-Client in LXC",
"extraHref": "/docs/storage-share/lxc-samba-client",
"extraLabel": "Samba-Client in LXC",
"joiner": " / ",
"tail": "- die Alternative, wenn Sie möchten, dass der CT selbst die Freigabe anbringt (erfordert einen privilegierten Container)."
}
]
}
}
@@ -0,0 +1,128 @@
{
"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 &amp; 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/&lt;path&gt;</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 &lt;ctid&gt; --</code> oder direkt über <code>pct enter &lt;ctid&gt;</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 &lt;ctid&gt; -- umount /mnt/&lt;path&gt;</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 &amp; 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 &lt;server&gt; 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 &lt;ctid&gt; -- 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."
}
]
}
}
@@ -0,0 +1,159 @@
{
"meta": {
"title": "NFS Server in LXC | ProxMenux Dokumentation",
"description": "Ordner über NFS aus einem Proxmox-LXC-Container mit ProxMenux freigeben. Installiert nfs-kernel-server automatisch, richtet die gemeinsame Gruppe sharedfiles und /etc/exports ein und bietet Netzwerk-ACLs sowie vollständige Deinstallation. Erfordert einen privilegierten Container.",
"ogTitle": "NFS Server in LXC | ProxMenux Dokumentation",
"ogDescription": "Führen Sie einen NFS-Server in einem privilegierten LXC-Container aus. Universelle Sharedfiles-Gruppe, Netzwerk-ACL und vollständige Deinstallation."
},
"header": {
"title": "NFS Server in LXC",
"description": "Betreiben Sie einen NFS-Kernel-Server in einem Proxmox-LXC-Container und geben Sie Ordner für andere Rechner im Netzwerk frei. ProxMenux installiert nfs-kernel-server, richtet die gemeinsame Gruppe sharedfiles ein, damit mehrere privilegierte CTs Dateien gemeinsam nutzen können, verwaltet /etc/exports und bietet eine vollständige Deinstallation.",
"section": "Speicher und Freigaben · LXC"
},
"privReq": {
"title": "Privilegierter Container erforderlich",
"body": "<code>nfs-kernel-server</code> muss das Kernel-Dateisystem <code>nfsd</code> unter <code>/proc/fs/nfsd</code> einhängen. Dafür benötigt es <code>CAP_SYS_ADMIN</code> im Namensraum des Host-Kernels, nicht nur im Benutzer-Namensraum des Containers. Unprivilegierte LXC-Container besitzen diese Fähigkeit nicht: <code>rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory)</code>; systemd markiert <code>nfs-server.service</code> mit einem Abhängigkeitsfehler. Das Skript verlangt daher einen privilegierten CT und <strong>bricht bei unprivilegierten CTs ab</strong>. Alternativ kann der NFS-Server in einer VM laufen."
},
"what": {
"heading": "Was das macht",
"body": "Dies ist die umgekehrte Richtung zur <em>NFS-Client-Seite</em>: Der CT wird zum <strong>NFS-Server</strong> und stellt einen eigenen Ordner anderen CTs, dem Proxmox-Host, VMs oder physischen Rechnern bereit.",
"diagramServerLabel": "LXC (privilegiert) — NFS-Server",
"diagramServerDetail": "/mnt/data\n(freigegebener Ordner)\n\nchown root:sharedfiles\nchmod 2775 (SGID)\n\nnfs-kernel-server\n+ rpcbind läuft",
"diagramClientLabel": "Jeder Client im Netzwerk",
"diagramClientDetail": "einem anderen CT, dem Host,\nVM, eine physische Maschine...",
"diagramArrow": "NFS-Export"
},
"shared": {
"heading": "Die \"sharedfiles\" Gruppenkonvention",
"body": "Vor dem Exportieren des Ordners erstellt ProxMenux eine Gruppe namens <code>sharedfiles</code> mit <strong>GID 101000</strong> im Container, fügt jeden regulären Benutzer hinzu und setzt dann das Exportverzeichnis mit dem Modus <code>2775</code> auf <code>root:sharedfiles</code>. Das <code>2</code> an der Vorderseite ist das SGID-Bit - jede Datei oder jeder Ordner, der im Inneren erstellt wird, erbt automatisch die <code>sharedfiles</code>-Gruppe.",
"gidTitle": "Warum GID 101000 speziell",
"gidBody": "Mit der standardmäßigen LXC-ID-Zuordnung (+100000) erscheint Host-GID 101000 als GID <strong>1000</strong> in einem unprivilegierten CT. Dieser Serverablauf verwendet einen <strong>privilegierten</strong> CT ohne Verschiebung. Zwei privilegierte CTs mit <code>sharedfiles</code> bei GID 101000 verwenden daher dieselbe numerische Gruppen-ID.",
"remapTitle": "Die alte Erstellung von „remap_*“-Benutzern wird bei privilegierten CTs übersprungen",
"remapBody": "Der alte Zweig für unprivilegierte CTs würde <code>remap_&lt;uid&gt;</code>-Benutzer mit UID <code>&lt;uid&gt; + 100000</code> in <code>sharedfiles</code> für normale Benutzer und übliche UIDs (33, 1000, 1001, 1002) anlegen. Diese <code>+100000</code>-Verschiebung gilt nicht für die hier vorgeschriebenen <strong>privilegierten</strong> CTs; deshalb überspringt das Skript diesen Zweig. Fehlende <code>remap_*</code>-Konten in <code>getent passwd</code> sind zu erwarten und kein Fehler."
},
"defaults": {
"heading": "Standard-Exportoptionen - lesen Sie dies zuerst",
"warnTitle": "Standardoptionen umfassen no_root_squash",
"warnBody": "ProxMenux verwendet standardmäßig <code>rw,sync,no_subtree_check,'<'strong'>'no_root_squash'<'/strong'>'</code>. <strong>Jeder Client-Benutzer root kann auf dem Export als root schreiben.</strong> Verwenden Sie dies nur in einem vertrauenswürdigen Heimnetz. Ist der CT aus einem nicht vertrauenswürdigen Netzwerk erreichbar (VPS oder fremdes VLAN), <strong>ersetzen Sie die Exportoption im Dialog für eigene Optionen durch <code>root_squash</code></strong>."
},
"opening": {
"heading": "Öffnen des Tools",
"body": "Öffnen Sie im Hauptmenü von ProxMenux <strong>Storage &amp; Share Manager → NFS-Server in LXC (nur privilegiert)</strong> konfigurieren. ProxMenux fordert Sie zuerst auf, das Ziel CT 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ü mit fünf Optionen:",
"imageAlt": "NFS Server-Manager-Menü – Erstellen / Ansicht / Löschen / Status / Deinstallieren"
},
"howRuns": {
"heading": "Wie das Skript läuft (Create flow)"
},
"network": {
"heading": "Netzwerk-ACL — wer darf einhängen?",
"intro": "<code>/etc/exports</code> filtert, welche Clients den Export einhängen dürfen. Der Dialog bietet drei Möglichkeiten:",
"headerMode": "Modus",
"headerValue": "Wert geschrieben an /etc/exports",
"headerWhen": "Wann man es wählt",
"rows": [
{
"mode": "Lokales Netz",
"value": "192.168.0.0/16",
"whenRich": "Für übliche Heim- und SOHO-Netzwerke. Deckt alle Adressen unter <code>192.168.*.*</code> ab."
},
{
"mode": "Eigenes Subnetz",
"value": "Ein beliebiges CIDR-Subnetz (z. B. 10.0.0.0/24)",
"when": "Wenn sich Ihr LAN nicht in 192.168.x.x befindet oder Sie einen engeren Umfang wünschen."
},
{
"mode": "Einzelner Host",
"value": "Die IP-Adresse eines einzelnen Clients (z. B. 192.168.1.50)",
"when": "Nur eine bestimmte Maschine sollte montieren. Am restriktivsten."
}
]
},
"options": {
"heading": "Exportoptionen",
"headerOption": "Option",
"headerEffect": "Was es tut",
"rows": [
{
"option": "rw / ro",
"effect": "Ermöglichen Sie Lese-Schreib- oder Lesezugriff für Verbindungsclients."
},
{
"option": "sync",
"effectRich": "Bestätigt Schreibanforderungen erst, wenn die Daten auf dem Datenträger liegen. Sicherer als <code>async</code>, aber mit geringerem Durchsatz."
},
{
"option": "no_subtree_check",
"effect": "Überspringt die Prüfung bei jeder Anfrage, ob die Datei noch im exportierten Teilbaum liegt. Das ist schneller und vermeidet Probleme, wenn Dateien während des Zugriffs umbenannt werden."
},
{
"option": "no_root_squash",
"effectRich": "<strong>Root auf dem Client vertrauen.</strong> Ein als root zugreifender Client schreibt auf dem Server als root. Geeignet für vertrauenswürdige LANs, etwa wenn Sicherungswerkzeuge die Eigentümer erhalten müssen. Ersetzen Sie dies durch <code>root_squash</code>, wenn Sie nicht jedem Rechner in der Netzwerk-ACL vollständig vertrauen."
}
]
},
"manual": {
"heading": "Manuelles Äquivalent",
"body": "Führen Sie den gesamten Ablauf von Hand aus. Jeder Befehl läuft <strong>innerhalb des CTs</strong> über <code>pct exec &lt;ctid&gt; --</code> oder <code>pct enter &lt;ctid&gt;</code>:"
},
"view": {
"heading": "Aktuelle Exporte ansehen",
"body": "Zeigt <code>/etc/exports</code> aus dem CT ohne Kommentare und Leerzeilen an. Jeder Export wird mit Netzwerk-ACL und Optionen ausgegeben. Damit lässt sich vor der Weitergabe der CT-IP prüfen, welche Ordner freigegeben sind."
},
"delete": {
"heading": "Einen Export löschen",
"body": "Listet jede Zeile in <code>/etc/exports</code> zur Auswahl auf, entfernt die ausgewählte (<code>sed -i</code>), führt <code>exportfs -ra</code> aus und startet <code>nfs-kernel-server</code> neu. Der Ordner selbst und sein Inhalt bleiben intakt."
},
"status": {
"heading": "NFS-Status überprüfen",
"body": "Diagnosepass: bestätigt, dass <code>nfs-kernel-server</code> und <code>rpcbind</code> installiert und aktiv sind, druckt <code>exportfs -v</code>-Ausgabe, listet aktive NFS-Sitzungen (<code>showmount -a</code>) und aktuelle Clientverbindungen auf."
},
"uninstall": {
"heading": "NFS-Server deinstallieren",
"body": "Vollständige Bereinigung nach Bestätigung: stoppt und deaktiviert <code>nfs-kernel-server</code> und <code>rpcbind</code>, leert <code>/etc/exports</code>, entfernt die NFS-Pakete mit <code>apt-get purge</code>, löscht die Gruppe <code>sharedfiles</code> und die Benutzer <code>remap_*</code> und beendet verbleibende Prozesse. Die <strong>exportierten Ordner selbst bleiben erhalten</strong>; entfernt werden nur NFS-Konfiguration und Pakete.",
"warnTitle": "Das Skript stoppt an der Exportlinie, nicht an den Daten",
"warnBody": "Sowohl <em>Export löschen</em> als auch <em>NFS-Server deinstallieren</em> entfernen die Exportkonfiguration. Die Daten im freigegebenen Ordner bleiben erhalten. Löschen Sie Daten bei Bedarf nach Abschluss des Skripts ausdrücklich mit <code>rm -rf</code>; sichern Sie sie vorher, falls jemand sie noch benötigen könnte."
},
"troubleshoot": {
"heading": "Fehlerbehebung",
"privTitle": "Privilegierter Container erforderlich (Skript bricht ab)",
"privBody": "Der ausgewählte CT ist unprivilegiert. <code>nfs-kernel-server</code> kann dort nicht starten, da die Einhängen von <code>/proc/fs/nfsd</code> <code>CAP_SYS_ADMIN</code> im Host-Kernel-Namespace benötigt und das <code>nfsd</code>-Modul auch nicht dem Namespace des Containers ausgesetzt ist (<code>modprobe nfsd</code> von innen gibt <code>FATAL: Module nfsd not found</code>). Wenn Sie das Gate umgehen, sehen Sie <code>rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory)</code> im Journal und keine NFS-Ports werden jemals geöffnet. Die einzigen praktikablen Optionen sind: Wandeln Sie den CT in einen privilegierten CT um oder verschieben Sie den NFS-Server in eine VM.",
"aptTitle": "apt-get install schlägt fehl",
"aptIntro": "Das Skript nimmt eine Debian-Familie CT an. Auf Alpine / Arch / Rocky / Alma installieren Sie die NFS-Serverpakete von Hand:",
"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 danach das ProxMenux-Skript erneut aus; sind die Werkzeuge schon vorhanden, wird die Installation übersprungen.",
"aclTitle": "Client kann nicht mounten: \"Zugriff verweigert durch Server\"",
"aclBody": "Die Client-IP liegt außerhalb der konfigurierten Netzwerk-ACL. Erstellen Sie den Export mit einem größeren Subnetz neu oder fügen Sie die genaue Client-IP hinzu. Häufige Ursache: Hinter Router-NAT kann der Client mit der WAN-IP des Routers statt seiner LAN-IP erscheinen. Prüfen Sie dies auf dem Server mit <code>tcpdump -n port 2049</code>.",
"ownTitle": "Vom Client geschriebene Dateien erscheinen mit seltsamem Besitz auf dem Server",
"ownIntro": "Zwei Möglichkeiten:",
"ownItems": [
"Mit <code>no_root_squash</code> (Standard) schreibt Client root als root auf den Server. Dateien gehören <code>root:sharedfiles</code> dank der SGID im Ordner.",
"Nicht-Root-Client-Benutzer schreiben als ihre eigene UID / GID. Wenn ihre UID nicht auf dem Server existiert, erscheinen Dateien mit Rohnummern (z.B. <code>1234:1234</code>). Verwenden Sie die <code>sharedfiles</code>-Gruppe auch auf dem Client oder richten Sie UIDs auf den Systemen aus, die Dateien gemeinsam nutzen."
],
"noShowTitle": "Server erreichbar, aber showmount gibt nichts zurück",
"noShowBody": "Nach dem Bearbeiten von <code>/etc/exports</code> müssen Sie die Exporttabelle mit <code>exportfs -ra</code> neu laden und <code>nfs-kernel-server</code> neu starten – das Skript macht beides, aber wenn Sie die Datei von Hand bearbeitet haben, tun Sie es selbst. Bestätigen Sie auch, dass die Firewall auf dem CT (und auf dem Proxmox-Host) TCP/UDP 2049 und den rpcbind-Port (111) ermöglicht."
},
"related": {
"heading": "Verwandte Themen",
"items": [
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "NFS-Client in LXC",
"tail": " — umgekehrte Richtung: externe NFS-Freigaben im CT einhängen."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"label": "Samba-Server in LXC",
"tail": "— Geschwisterseite, gleiches Muster mit SMB / CIFS anstelle von NFS."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "NFS-Freigabe als Proxmox-Speicher",
"tailRich": " — Sobald der CT Ordner über NFS freigibt, registrieren Sie die NFS-Freigabe in Proxmox, damit sie unter <em>Datacenter → Storage</em> erscheint."
}
]
}
}
@@ -0,0 +1,155 @@
{
"meta": {
"title": "Samba-Client in LXC | ProxMenux Dokumentation",
"description": "Samba-/CIFS-Freigaben direkt in einem Proxmox-LXC-Container mit ProxMenux einhängen. Installiert cifs-utils und smbclient automatisch, unterstützt Erkennung im Netzwerk, geschützte Zugangsdaten und dauerhafte Mounts über /etc/fstab. Erfordert einen privilegierten Container.",
"ogTitle": "Samba-Client in LXC | ProxMenux Dokumentation",
"ogDescription": "Samba-/CIFS-Freigaben in einem privilegierten LXC einhängen. Automatische Erkennung, geschützte Zugangsdaten-Datei und dauerhafte Einträge in /etc/fstab."
},
"header": {
"title": "Samba-Client in LXC",
"description": "Samba-Freigaben (SMB/CIFS) direkt in einem Proxmox-LXC-Container einhängen. Der Container wird zu einem echten CIFS-Client - spricht mit dem Samba-Server über das Netzwerk, führt mount.cifs aus, speichert Anmeldeinformationen sicher und schreibt an /etc/fstab. ProxMenux installiert cifs-utils + smbclient für Sie und validiert Anmeldeinformationen gegen den Server vor der Montage.",
"section": "Speicher und Freigaben · LXC"
},
"privReq": {
"title": "Privilegierter Container erforderlich",
"body": "Der Kernel-<code>mount.cifs</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 <hostSambaLink>Samba / CIFS-Freigabe als Proxmox-Speicher</hostSambaLink>) und binden Sie sie mit dem <mountLink>LXC-Mount-Manager</mountLink> in den CT ein."
},
"what": {
"heading": "Was das macht",
"body": "Der Container spricht CIFS über das Netzwerk und montiert die Freigabe selbstständig. Der Proxmox-Host ist nur die Netzwerkbrücke - er sieht oder verwaltet das Mount nicht.",
"diagramServerLabel": "Samba-Server",
"diagramServerDetail": "//srv/share",
"diagramHostLabel": "Proxmox-Host",
"diagramHostDetail": "(nur eine\nNetzwerkbrücke)",
"diagramCtLabel": "LXC (privilegiert)",
"diagramCtDetail": "/mnt/share\nmount.cifs im CT",
"diagramArrow": "CIFS",
"twoWaysTitle": "Zwei Möglichkeiten, einem CT einen Samba-Anteil zu geben - wählen Sie einen",
"twoWaysBind": "<strong>Bind-Mount über den Host</strong> (<mountLink>LXC Mount Manager</mountLink>): Der Host bindet die CIFS-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>Direkte CIFS-Montage im CT</strong> (diese Seite): Der CT montiert das CIFS selbst. Erfordert Privilegien. Nützlich, wenn der CT seine eigenen Anmeldeinformationen besitzen muss oder wenn jeder CT mit einem anderen Server spricht."
},
"opening": {
"heading": "Öffnen des Tools",
"body": "Öffnen Sie im Hauptmenü von ProxMenux <strong>Storage &amp; Share Manager → Samba-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": "Menü Samba Client Manager — Mount / View / Unmount / Test Connectivity"
},
"howRuns": {
"heading": "Wie das Skript läuft (Mount Flow)"
},
"creds": {
"heading": "Wo sich das Passwort befindet",
"body": "ProxMenux <strong>schreibt das Passwort nicht in den Mount-Befehl</strong> oder in <code>/etc/fstab</code>. Stattdessen wird eine Zugangsdaten-Datei im CT angelegt. Sie enthält Klartext-Zugangsdaten mit Nur-Root-Berechtigungen und ist nicht verschlüsselt:",
"whyTitle": "Warum eine separate Datei statt fstab",
"whyBody": "Das CIFS-Modul akzeptiert <code>username=</code> / <code>password=</code> Optionen inline in fstab, aber jeder, der <code>/etc/fstab</code> lesen kann, sieht das Passwort klar. Wenn Sie Anmeldeinformationen in eine Root-only-Datei einfügen und darauf zeigen (<code>credentials=</code>), wird das Passwort aus der weltlesbaren Konfiguration ausgeschlossen."
},
"options": {
"heading": "Mount Optionen erklärt",
"headerOption": "Option",
"headerEffect": "Was es tut",
"rows": [
{
"option": "rw / ro",
"effect": "Read-Write- oder Read-Only-Modus für das gesamte Mount."
},
{
"option": "file_mode=0664",
"effect": "Berechtigungen für Dateien gemeldet über CIFS. Default lässt owner+group schreiben, andere lesen."
},
{
"option": "dir_mode=0775",
"effect": "Gemeldete Verzeichnisrechte. Standardmäßig dürfen Eigentümer und Gruppe das Verzeichnis betreten und Inhalte erstellen; andere dürfen es durchqueren."
},
{
"option": "iocharset=utf8",
"effect": "Erzwingen Sie UTF-8 für Dateinamen, die über den Draht kommen. Vermeidet Mojibake auf Nicht-ASCII-Namen."
},
{
"option": "credentials=file",
"effect": "Lesen Sie Benutzername / Passwort aus der Datei (automatisch für Benutzer auth hinzugefügt)."
},
{
"option": "guest",
"effect": "Authentifizierung als Gast, keine Anmeldeinformationen erforderlich (automatisch hinzugefügt, wenn der Gast ausgewählt wird)."
},
{
"option": "_netdev",
"effect": "Sagt dem init-system, dass dieses mount das netzwerk benötigt. Boot blockiert nicht das Warten darauf."
},
{
"option": "x-systemd.automount",
"effect": "Lazy Mount: nur Mounts beim ersten Zugriff. CIFS-Server, der beim Booten nicht erreichbar ist, stoppt den CT nicht."
},
{
"option": "noauto",
"effect": "Überspringt das sofortige Einhängen beim Booten. Die Automount-Einheit richtet den Mount erst beim ersten Zugriff ein."
}
],
"netEffectTitle": "Nettoeffekt der Fstab Flags",
"netEffectBody": "Das CIFS-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 CIFS-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 &lt;ctid&gt; --</code> oder direkt über <code>pct enter &lt;ctid&gt;</code> aus:",
"guestIntro": "Gastvariante — keine Anmeldedatendatei erforderlich:"
},
"view": {
"heading": "Aktuelle Mounts anzeigen",
"body": "Listet jeden CIFS-Einhängepunkt auf, der innerhalb des CT (<code>mount -t cifs</code>) aktiv ist, sowie jede CIFS-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 boot nicht aufgekommen sind."
},
"unmount": {
"heading": "Samba-Freigabe aushängen",
"body": "Fasst aktive Mounts und fstab-Einträge in einer Auswahlliste zusammen. Für den gewählten Eintrag <strong>wird die entsprechende Zeile aus <code>/etc/fstab</code> entfernt</strong>, zusammen mit der zugehörigen Datei mit Zugangsdaten. Das Skript führt kein <code>umount</code> auf dem aktiven Mount aus, sondern weist darauf hin, dass zum Aushängen ein CT-Neustart nötig ist.",
"warnTitle": "Das Skript entfernt fstab-Einträge, nicht Live-Mounts",
"warnBody": "Gleiches Design wie der NFS-Client: <code>umount</code> auf einem belegten Mount schlägt mit \"Device Besetzt\" fehl. Das Entfernen des Fstab-Eingangs garantiert, dass die Mount beim nächsten CT-Start sauber verschwindet. Wenn Sie möchten, dass die Mount <em>sofort</em> verschwunden ist, führen Sie <code>pct exec &lt;ctid&gt; -- umount /mnt/&lt;path&gt;</code> nach Abschluss des Skripts von Hand aus."
},
"test": {
"heading": "Samba Konnektivität testen",
"body": "Diagnose im CT: Prüft, ob <code>cifs-utils</code> installiert ist, listet aktive CIFS-Mounts auf und prüft für jeden in fstab eingetragenen Server Ping → Ports 139/445 → Freigabenliste als Gast. „Authentifizierung erforderlich“ beim Gasttest ist normal, wenn der Server keine öffentlichen Freigaben anbietet."
},
"troubleshoot": {
"heading": "Fehlerbehebung",
"privTitle": "Privilegierter Container erforderlich (Skript bricht ab)",
"privBody": "Der ausgewählte CT ist unprivilegiert. Der Kernel-CIFS-Client benötigt <code>SYS_ADMIN</code>-Fähigkeit, die nicht privilegierte CTs nicht aussetzen. Konvertieren Sie entweder den CT in privilegierte oder verwenden Sie den alternativen Pfad, der in der Warnung oben auf dieser Seite beschrieben ist.",
"aptTitle": "apt-get install fails",
"aptIntro": "Das Skript nimmt eine Debian-Familie CT (<code>apt-get</code>) an. Auf Alpine / Arch / Rocky / Alma installieren Sie den CIFS-Client von Hand:",
"aptItems": [
"Alpine: <code>apk add cifs-utils samba-client</code>",
"Arch: <code>pacman -S cifs-utils smbclient</code>",
"Rocky / Alma: <code>dnf install cifs-utils samba-client</code>"
],
"aptOutro": "Führen Sie dann das ProxMenux-Skript erneut aus - der Installationsschritt überspringt, wenn die Tools bereits vorhanden sind.",
"guestFallbackTitle": "\"Der Server hat Sie als Gast anstelle des angegebenen Benutzers verbunden\"",
"guestFallbackBody": "Die aktive Validierung des Skripts hat ein echtes Auth-Problem aufgefangen. Der server akzeptierte die verbindung, degradierte sie jedoch auf gast, weil die anmeldeinformationen falsch sind. Häufige Ursachen: Tippfehler im Benutzernamen oder Passwort, der Benutzer existiert nicht auf dem Server, der Benutzer ist ausgesperrt oder die Arbeitsgruppe / Domäne ist nicht übereinstimmend. Führen Sie den Ablauf erneut aus und geben Sie die Anmeldeinformationen sorgfältig erneut ein (das Passwort ist im Dialog verborgen).",
"denyTitle": "\"NT_STATUS_ACCESS_DENIED\" bei der Montage",
"denyBody": "Anmeldeinformationen wurden validiert, aber die Freigabe verweigert den Zugang. Überprüfen Sie auf der Serverseite, ob der Benutzer über Berechtigungen für diese bestimmte Freigabe verfügt (die Validierung bestätigt nur die Anmeldung, nicht per-share-ACLs). Überprüfen Sie auch, ob der Server eine bestimmte SMB-Protokollversion benötigt: Fügen Sie <code>vers=3.0</code> (oder <code>2.1</code>, <code>2.0</code>) an die Mount-Optionen an.",
"utf8Title": "UTF-8 / Nicht-ASCII-Dateinamen sind verstümmelt",
"utf8Body": "Die Standardoptionen umfassen <code>iocharset=utf8</code>, aber einige Serverkonfigurationen melden eine unerwartete Codepage. Wenn Dateinamen mit Akzenten / Symbolen falsch aussehen, versuchen Sie auch <code>nounix</code> (einige Linux-Samba-Server benötigen dies, wenn der Client auch Linux ist) oder setzen Sie die Serverseite auf <code>unix extensions = no</code>.",
"bootTitle": "Permanent Mount gelingt, kommt aber nicht beim Booten",
"bootBody": "Fast immer eines von: das Netzwerk ist nicht bereit, wenn die CT-Mounts (die <code>_netdev,x-systemd.automount,noauto</code>-Flags des Skripts beheben dies), 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)."
},
"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-nfs-client",
"label": "NFS-Client in LXC",
"tail": " — verwandte Seite mit demselben Ablauf für NFS-Freigaben."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"label": "Samba-Server in LXC",
"tailRich": " — die umgekehrte Richtung: Ordner <em>aus</em> einem CT über Samba freigeben."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS als Proxmox-Speicher",
"tail": " — die Freigabe direkt in Proxmox statt in einem einzelnen CT registrieren."
}
]
}
}
@@ -0,0 +1,132 @@
{
"meta": {
"title": "Samba-Server in LXC | ProxMenux Dokumentation",
"description": "Mit ProxMenux einen Samba-Server (SMB / CIFS) in einem Proxmox-LXC-Container betreiben. Installiert samba automatisch und verwaltet /etc/samba/smb.conf, smbpasswd-Benutzer und die Gruppe sharedfiles für per Bind-Mount eingebundene Ordner. Erfordert einen privilegierten Container.",
"ogTitle": "Samba-Server in LXC | ProxMenux Dokumentation",
"ogDescription": "Ordner über SMB/CIFS aus einem privilegierten LXC-Container freigeben. Automatische Installation, smbpasswd-Benutzer und an Bind-Mounts angepasste Berechtigungen."
},
"header": {
"title": "Samba-Server in LXC",
"description": "Führen Sie einen Samba-Server (SMB / CIFS) in einem Proxmox LXC-Container aus und stellen Sie Ordner Windows / macOS / Linux-Clients im Netzwerk aus. ProxMenux installiert samba, erstellt einen Samba-Benutzer mit smbpasswd, verwaltet /etc/samba/smb.conf und wendet bind-mount-bewusste Berechtigungen an, wenn der freigegebene Ordner vom Host stammt.",
"section": "Speicher und Freigaben · LXC"
},
"privReq": {
"title": "Privilegierter Container erforderlich",
"body": "Samba nimmt die Identität des verbindenden Benutzers an mit <code>setgroups()</code> auf jeder Baumverbindung (der Moment, in dem ein Client eine Freigabe öffnet). In einem unprivilegierten LXC lehnt der Kernel diesen Syscall ab, weil der Namespace des Containers mit <code>setgroups=deny</code> erstellt wird – und <code>smbd</code> reagiert, indem er den Worker-Prozess mit <code>PANIC: sys_setgroups failed</code> abbricht. Das Ergebnis ist, dass <code>smbd</code> die Ports 139/445 startet und bindet, aber jede Clientverbindung mit <code>NT_STATUS_CONNECTION_DISCONNECTED</code> fehlschlägt. Das Skript erzwingt aus diesem Grund einen privilegierten CT und <strong>bricht bei unprivilegierten CTs ab</strong>. Es gibt keine saubere Lösung auf der Serverseite; Verwenden Sie einen privilegierten CT oder führen Sie Samba in einer VM aus."
},
"what": {
"heading": "Was das macht",
"body": "Der Container wird zu einem SMB/CIFS-Server: Er führt <code>smbd</code> aus, stellt einen Ordner über <code>/etc/samba/smb.conf</code> frei und akzeptiert Clientverbindungen an den Ports <code>139</code> / <code>445</code>. Clients sehen die Freigabe unter <code>\\\\&lt;ct-ip&gt;\\&lt;share-name&gt;</code> im Windows Explorer, <code>smb://&lt;ct-ip&gt;/&lt;share-name&gt;</code> im macOS Finder oder über <code>mount.cifs</code> unter Linux.",
"diagramServerLabel": "LXC (privilegiert) — Samba-Server",
"diagramServerDetail": "/mnt/data\n(freigegebener Ordner)\n\nsmbd + nmbd laufen\n\nBenutzer: <username>\n(via smbpasswd)\n\nErzwungene Gruppe:\nsharedfiles",
"diagramClientLabel": "Jeder Client im Netzwerk",
"diagramClientDetail": "Windows: \\\\<ip>\\<share>\nmacOS: smb://<ip>/<share>\nLinux: mount.cifs",
"diagramArrow": "SMB / CIFS"
},
"perms": {
"heading": "Zwei Berechtigungspfade abhängig vom Ordnertyp",
"body": "Vor dem Hinzufügen der Freigabe zu <code>smb.conf</code> prüft das Skript, ob der Ordner ein <strong>Bind-Mount vom Host</strong> oder ein normaler <strong>lokaler Ordner im CT</strong> ist. Entsprechend setzt es Eigentümer und Berechtigungen:",
"headerType": "Art des Ordners",
"headerAction": "Was das Skript macht",
"bindType": "Bind-Mount vom Host",
"bindTypeSubRich": "erfasst über <code>mount</code> Ausgang",
"bindActionRich": "Erstellt Gruppe <code>sharedfiles</code> (Standard GID 999, dynamisch, wenn genommen), fügt den Samba-Benutzer hinzu, dann <code>chown root:sharedfiles</code> + <code>chmod 2775</code> (SGID - neue Dateien erben die Gruppe). Wenn der Benutzer immer noch nicht schreiben kann, wendet <code>setfacl -m u:&lt;user&gt;:rwx</code> an.",
"localType": "Lokaler Ordner im CT",
"localTypeSub": "Kein Bind-Mount erkannt",
"localActionRich": "Standardbesitz: <code>chown -R &lt;user&gt;:&lt;user&gt;</code> + <code>chmod -R 755</code>. Keine freigegebene Gruppe erforderlich, da kein anderer CT in diesen Ordner schreibt. Fällt zurück zu <code>setfacl</code>, wenn der Schreibzugriff noch fehlt.",
"gidTitle": "GID für 'sharedfiles' unterscheidet sich vom NFS Server Flow",
"gidBody": "Das Samba-Serverskript verwendet GID <strong>999</strong> für <code>sharedfiles</code>, während der <nfsLink>NFS-Serverablauf</nfsLink> GID <strong>101000</strong> verwendet. Wenn Sie beide Server in demselben CT betreiben und eine einzelne gemeinsame Gruppe für beide Protokolle wünschen, bearbeiten Sie eines von ihnen nach der Installation so, dass es mit dem anderen übereinstimmt (z.B. <code>groupmod -g 101000 sharedfiles</code>) und setzen Sie die Eigentümer der betroffenen Ordner erneut. Dies ist eine bekannte Inkonsistenz in den aktuellen Skripten."
},
"opening": {
"heading": "Öffnen des Tools",
"body": "Öffnen Sie im Hauptmenü von ProxMenux <strong>Storage &amp; Share Manager → Samba-Server in LXC (nur privilegiert)</strong> konfigurieren. ProxMenux fordert Sie zuerst auf, das Ziel CT 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ü mit fünf Optionen:",
"imageAlt": "Samba Server Manager-Menü - Erstellen / Anzeigen / Löschen / Status / Deinstallieren"
},
"howRuns": {
"heading": "Ablauf des Skripts beim Erstellen"
},
"modes": {
"heading": "Die drei Share-Modi",
"intro": "Jeder Modus schreibt einen anderen Konfigurationsabschnitt in <code>smb.conf</code>. Alle drei beinhalten <code>valid users = &lt;username&gt;</code> (nicht anonym), <code>force group = sharedfiles</code> (damit neue Dateien zur freigegebenen Gruppe gehören) und <code>veto files = /lost+found/</code> (versteckt sie vor Clients).",
"headerMode": "Modus",
"headerBlock": "Block geschrieben an smb.conf",
"rwMode": "Lesen und Schreiben",
"roMode": "Schreibgeschützt",
"customMode": "Benutzerdefiniert",
"customBodyRich": "Sie geben Ihre eigenen Direktiven in ein Freitextfeld ein. ProxMenux wickelt sie weiterhin in einen <code>[share]</code>-Block mit den Standards <code>path</code>, <code>valid users</code>, <code>force group</code> und <code>veto files</code> ein."
},
"manual": {
"heading": "Manuelles Äquivalent",
"body": "Führen Sie den gesamten Ablauf von Hand aus. Jeder Befehl läuft <strong>innerhalb des CTs</strong> über <code>pct exec &lt;ctid&gt; --</code> oder <code>pct enter &lt;ctid&gt;</code>:"
},
"connect": {
"heading": "Verbindung von Clients",
"headerOs": "Client-Betriebssystem",
"headerHow": "Wie man verbindet",
"windowsOs": "Windows",
"windowsHowRich": "Datei-Explorer → Adressleiste: <code>\\\\&lt;ct-ip&gt;\\&lt;share-name&gt;</code>. Oder <em>Netzlaufwerk verbinden</em> → „Verbindung mit anderen Anmeldeinformationen herstellen“ aktivieren.",
"macosOs": "macOS",
"macosHowRich": "Finder → <em>Gehe zu → Verbindung zum Server...</em> → <code>smb://&lt;ct-ip&gt;/&lt;share-name&gt;</code>. Oder <code>mount_smbfs //user@&lt;ct-ip&gt;/&lt;share&gt; /mountpoint</code>.",
"linuxOs": "Linux",
"linuxHowRich": "<code>mount -t cifs //&lt;ct-ip&gt;/&lt;share&gt; /mnt/x -o username=&lt;u&gt;,password=&lt;p&gt;,iocharset=utf8</code>. Oder verwenden Sie den <clientLink>Samba-Client auf der LXC</clientLink>-Seite, wenn der Client ein anderer Proxmox CT ist."
},
"view": {
"heading": "Aktuelle Freigaben anzeigen",
"body": "Liest <code>/etc/samba/smb.conf</code> im CT und listet jeden <code>[share]</code>-Block (überspringen <code>[global]</code>, <code>[homes]</code>, <code>[printers]</code>) mit seinem Pfad auf. Nützlich als schnelles Inventar."
},
"delete": {
"heading": "Freigabe löschen",
"body": "Sie können eine Freigabe nach Namen auswählen, den Block aus <code>smb.conf</code> entfernen (<code>sed</code> löscht aus <code>[share]</code> bis zur nächsten leeren Zeile) und <code>smbd</code> neu starten. Der Ordner selbst und sein Inhalt bleiben intakt."
},
"status": {
"heading": "Samba-Status überprüfen",
"body": "Gibt an, ob <code>smbd</code> und <code>nmbd</code> installiert und aktiv sind, listet Samba-Benutzer auf (<code>pdbedit -L</code>) und druckt aktive Sitzungen aus (<code>smbstatus</code>)."
},
"uninstall": {
"heading": "Samba-Server deinstallieren",
"body": "Vollständige Bereinigung nach Bestätigung: stoppt und deaktiviert <code>smbd</code> und <code>nmbd</code>, sichert <code>smb.conf</code> als <code>smb.conf.backup.YYYYMMDD_HHMMSS</code>, entfernt Samba-Benutzer mit <code>smbpasswd -x</code> und die Samba-Pakete mit <code>apt-get purge</code>. Die <strong>exportierten Ordner selbst bleiben erhalten</strong>.",
"warnTitle": "Ordner überleben – Daten separat sichern",
"warnBody": "<em>Freigabe löschen</em> und <em>Samba-Server deinstallieren</em> entfernen die Freigabekonfiguration. Die Daten in den exportierten Ordnern bleiben erhalten. Löschen Sie Daten bei Bedarf nach Abschluss des Skripts ausdrücklich mit <code>rm -rf</code>."
},
"troubleshoot": {
"heading": "Fehlerbehebung",
"privTitle": "Privilegierter Container erforderlich (Skript bricht ab)",
"privBody": "Der ausgewählte CT ist unprivilegiert und <code>smbd</code> kann dort keine Dateien bedienen. Wenn Sie das Gate umgehen und Samba von Hand konfigurieren, startet <code>smbd</code> und die Ports öffnen sich, aber die erste Clientverbindung gerät in Panik mit <code>PANIC: sys_setgroups failed</code> in <code>/var/log/samba/log.&lt;client&gt;</code> und der Client sieht <code>NT_STATUS_CONNECTION_DISCONNECTED</code>. Die Ursache ist der unprivilegierte Benutzernamensraum mit <code>setgroups=deny</code>, der die Per-Verbindungs-Imitation von Samba blockiert. Weder <code>features=keyctl=1</code> noch das Entfernen von <code>force user</code> / <code>force group</code> ändert dies. Die einzigen praktikablen Optionen sind: Wandeln Sie den CT in einen privilegierten CT um oder verschieben Sie Samba in eine VM.",
"aptTitle": "apt-get install schlägt fehl",
"aptIntro": "Das Skript nimmt eine Debian-Familie CT an. Auf Alpine / Arch / Rocky / Alma installieren Sie Samba von Hand:",
"aptItems": [
"Alpine: <code>apk add samba</code>",
"Arch: <code>pacman -S samba</code>",
"Rocky / Alma: <code>dnf install samba</code>"
],
"aptOutro": "Führen Sie danach das ProxMenux-Skript erneut aus; sind die Werkzeuge schon vorhanden, wird die Installation übersprungen.",
"noShareTitle": "Client verbindet sich, sieht aber die Freigabe nicht",
"noShareBody": "Überprüfen Sie, ob <code>browseable = yes</code> im Freigabeblock eingestellt ist (Standard für rw / ro-Modi; möglicherweise fehlt es in benutzerdefinierten). Überprüfen Sie auch die CT-Firewall und die Proxmox-Host-Firewall erlauben TCP 445 (SMB) und 139 (NetBIOS). Einige Windows-Clients benötigen auch eine Namensauflösung - versuchen Sie die IP direkt zuerst.",
"authTitle": "Authentifizierung fehlschlägt (NT_STATUS_LOGON_FAILURE)",
"authBody": "Entweder ist das Passwort falsch (Samba-Passwörter sind von Systempasswörtern <em>getrennt</em>; Samba-Benutzer mit <code>pdbedit -L</code> auflisten) oder der Benutzer fehlt in <code>valid users</code> für diese Freigabe. Setzen Sie das Passwort im CT mit <code>smbpasswd &lt;user&gt;</code> zurück.",
"groupTitle": "Vom Client geschriebene Dateien erscheinen mit falscher Gruppe auf dem Server",
"groupBody": "Das Skript setzt <code>force group = sharedfiles</code> im Freigabeblock, so dass neue Dateien die Gruppe <code>sharedfiles</code> sein sollten. Wenn dies nicht der Fall ist, ist das SGID-Bit im Elternverzeichnis möglicherweise verloren gegangen (jemand hat <code>chmod</code> von Hand ausgeführt). Erneut anwenden: <code>chmod 2775 /mnt/&lt;share&gt;</code>.",
"bothTitle": "Teilen des gleichen Ordners über NFS und Samba",
"bothBody": "ProxMenux verwendet unterschiedliche GIDs für <code>sharedfiles</code> in jedem Skript (Samba: 999, NFS: 101000). Wenn Sie den gleichen Ordner über beide bedienen, entscheiden Sie sich für eine GID und richten Sie beide aus. Die einfachste Lösung: Nachdem Sie beide Skripte ausgeführt haben, bearbeiten Sie die kleinere GID:"
},
"related": {
"heading": "Verwandte Themen",
"items": [
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Samba-Client in LXC",
"tail": " — umgekehrte Richtung: externe Samba-Freigaben im CT einhängen."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"label": "NFS Server in LXC",
"tail": "— Geschwisterseite, gleiches Muster mit NFS anstelle von CIFS."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS als Proxmox-Speicher",
"tailRich": " — Sobald der CT Ordner über Samba freigibt, registrieren Sie die Samba-Freigabe in Proxmox, damit sie unter <em>Datacenter → Storage</em> erscheint."
}
]
}
}
@@ -98,7 +98,7 @@
"noLunTitle": "LUNs do not appear in /dev/disk/by-path after registering",
"noLunBody": "<code>pvesm add iscsi</code> succeeded but the kernel is not seeing block devices. Check <code>iscsiadm --mode session</code> — if no session is active, start one manually with <code>iscsiadm --mode node --login</code>. If a session exists but no LUNs appear, force a rescan: <code>iscsiadm --mode session --rescan</code>. If still nothing, the target probably has no LUNs assigned to this IQN yet (configure LUN mapping on the target).",
"chapTitle": "CHAP authentication",
"chapBody": "ProxMenux does not expose the CHAP username / password fields in the interactive flow. If your target requires CHAP, register with ProxMenux first (discovery with CHAP may fail, but <code>pvesm add</code> will still write the entry), then add credentials manually: <code>pvesm set &lt;id&gt; --username &lt;chap-user&gt;</code> and edit <code>/etc/iscsi/iscsid.conf</code> with the password, then <code>systemctl restart iscsid</code>. This is a gap in the current script — documented here so you know what to do."
"chapBody": "ProxMenux does not expose CHAP username/password fields in the interactive flow. If discovery fails, the script stops before <code>pvesm add</code>; it does not register the storage anyway. Configure the target’s CHAP requirements separately in <code>open-iscsi</code>, including discovery authentication when required, then retry. Use <code>iscsiadm</code> to check the configuration and verify active sessions with <code>iscsiadm --mode session</code>."
},
"related": {
"heading": "Related",
@@ -16,7 +16,7 @@
},
"destructive": {
"title": "Destructive tool for the 'format' path",
"body": "The <em>Format</em> path <strong>erases every partition and byte on the selected disk</strong>. ProxMenux shows the disk list with a warning banner, filters out disks already in use, and requires an explicit confirmation before any <code>wipefs</code> / <code>sgdisk</code> / <code>mkfs</code> runs. Still — read the device path aloud twice before typing \"yes\"."
"body": "The <em>Format</em> path <strong>destroys the existing partitions and data on the selected disk</strong>. ProxMenux shows the disk list with a warning banner, filters out disks already in use, and requires confirmation before any <code>wipefs</code> / <code>sgdisk</code> / <code>mkfs</code> runs. This is not a secure overwrite of every byte. Double-check the device path before confirming."
},
"compare": {
"heading": "Directory vs ZFS pool — which to pick",
@@ -78,7 +78,7 @@
"Pick the filesystem — see the table above for trade-offs.",
"Storage ID (default <code>disk-&lt;device&gt;</code>), mount path, content-type preset.",
"Confirm at the <strong>FINAL CONFIRMATION — DATA WILL BE ERASED</strong> dialog.",
"ProxMenux wipes the partition table, creates one partition spanning the whole disk, runs <code>mkfs.&lt;fs&gt;</code> (or <code>zpool create</code>), mounts it, adds it to <code>/etc/fstab</code> by UUID with <code>defaults,nofail</code>, and registers it in Proxmox via <code>pvesm add dir</code> or <code>pvesm add zfspool</code>."
"ProxMenux clears the partition table and creates one partition spanning the disk. It runs <code>mkfs.&lt;fs&gt;</code> or <code>zpool create</code> and mounts the result. Regular filesystems get an entry in <code>/etc/fstab</code> by UUID with <code>defaults,nofail</code>; ZFS uses its pool mount configuration instead. If <em>As Proxmox storage</em> is marked (always the case for ZFS), it is then registered with <code>pvesm add dir</code> or <code>pvesm add zfspool</code>; otherwise it stays a host mount only."
],
"tipTitle": "Why UUID + nofail in /etc/fstab",
"tipBody": "The script writes <code>UUID=… /mnt/&lt;id&gt; &lt;fs&gt; defaults,nofail 0 2</code>. UUID survives device reordering across reboots (so <code>/dev/sdc</code> becoming <code>/dev/sdd</code> does not break boot). <code>nofail</code> means that if the disk ever disappears (hardware failure, unplugged), Proxmox still boots — storage will just show as inactive until the disk comes back."
@@ -97,7 +97,7 @@
},
"presets": {
"heading": "Content-type presets",
"intro": "Instead of a long checklist, ProxMenux offers 4 presets plus a custom option. The preset string is passed to <code>pvesm add … --content &lt;csv&gt;</code>:",
"intro": "ProxMenux offers three presets plus a custom option. The selected content string is passed to <code>pvesm add … --content &lt;csv&gt;</code>:",
"headerPreset": "Preset",
"headerContent": "Content string",
"headerUse": "Use case",
@@ -115,7 +115,7 @@
{
"preset": "All types",
"content": "images,backup,iso,vztmpl,snippets",
"use": "\"Let the host decide\" — allows every content type Proxmox supports on this storage."
"use": "The broad preset shown here enables images, backups, ISOs, LXC templates and snippets. Add other supported types, such as rootdir, through Custom if needed."
},
{
"preset": "Custom",
@@ -124,7 +124,7 @@
}
],
"zfsTitle": "ZFS pool content is narrower",
"zfsBody": "If you picked <strong>zfs</strong> as the filesystem, Proxmox only accepts <code>images</code> and <code>rootdir</code> as content types on a <code>zfspool</code> (it is block storage, not a filesystem for ISOs). The presets above will still work but Proxmox silently drops the content types it cannot use — check <code>pvesm status</code> afterwards."
"zfsBody": "If you picked <strong>zfs</strong>, a <code>zfspool</code> supports only <code>images</code> and <code>rootdir</code>, not ISO or backup files. Use Custom to enter a supported content list. The script forwards your selection unchanged; unsupported types may make registration fail. Check <code>pvesm status</code> afterwards."
},
"manual": {
"heading": "Manual equivalent",
@@ -37,8 +37,8 @@
"rows": [
{
"bit": "1 (sticky)",
"effect": "Only the file owner can delete / rename a file.",
"why": "Prevents CT-A from deleting files created by CT-B in the same directory."
"effect": "Deleting or renaming a file is restricted to its owner, the directory owner or a suitably privileged process.",
"why": "Helps prevent users with different mapped UIDs from deleting each other’s files. It does not isolate CTs that share a mapped UID or privileged root access."
},
{
"bit": "777 (rwx-rwx-rwx)",
@@ -48,7 +48,7 @@
{
"bit": "ACLs (default)",
"effect": "Inherited on every newly created file / subdir.",
"why": "The permissions apply forever — new content keeps the open profile without re-running the script."
"why": "New content inherits the default ACLs without re-running the script. Applications can still request restrictive modes or change permissions later."
}
],
"privTitle": "Privileged CTs see the same thing, just without the shift",
@@ -46,13 +46,13 @@
},
{
"method": "<strong>Both</strong>",
"mount": "Both paths above (two independent NFS connections to the server)",
"mount": "Both paths above (two mount points for the same NFS export)",
"ui": "Yes",
"useCase": "You want UI integration AND a stable host-side path with open permissions for LXC bind-mounts. Server sees two connections from the host."
"useCase": "UI integration plus a separate stable host path with open permissions for LXC bind mounts."
}
],
"bothTitle": "\"Both\" creates two independent NFS mounts",
"bothBody": "Marking both options runs each method independently — pvesm mounts at <code>/mnt/pve/&lt;id&gt;</code>, fstab mounts at <code>/mnt/&lt;path&gt;</code>. The server sees two TCP connections from the Proxmox host. This is intentional: it lets you keep the pvesm storage clean (default Proxmox options) while having a separate host-side mount with open permissions for LXC bind-mounts."
"bothBody": "Both methods run separately: pvesm mounts at <code>/mnt/pve/&lt;id&gt;</code> and fstab at <code>/mnt/&lt;path&gt;</code>. This provides a Proxmox-managed mount with default options and a separate host mount for LXC bind mounts. Two mount points do not guarantee two separate TCP connections; the NFS client may reuse transport connections."
},
"pvesmBranch": {
"heading": "Method A — As Proxmox storage (pvesm)",
@@ -94,7 +94,7 @@
}
],
"warnTitle": "images and rootdir on NFS",
"warnBody": "Marking <code>images</code> on an NFS storage lets Proxmox place live VM disks there. It works, but NFS latency + its lock semantics make this noticeably slower than local storage (and a network outage pauses every VM backed by that store). Marking <code>rootdir</code> means you will host LXC root filesystems over NFS, which historically has trouble with unprivileged containers (overlay / chown interactions). Prefer keeping <code>images</code> / <code>rootdir</code> on local or iSCSI storage and using NFS for <code>backup</code> / <code>iso</code> / <code>vztmpl</code>.",
"warnBody": "Selecting <code>images</code> lets Proxmox store VM disks on NFS. Performance depends on the network, server and workload; an outage can block I/O that depends on the mount. Selecting <code>rootdir</code> stores LXC root filesystems on NFS, where unprivileged containers can encounter UID mapping, overlay and ownership limitations. Assess these requirements before placing <code>images</code> / <code>rootdir</code> there; NFS is also useful for <code>backup</code> / <code>iso</code> / <code>vztmpl</code>.",
"result": "The result is <code>pvesm add nfs &lt;id&gt; --server &lt;srv&gt; --export &lt;path&gt; --content &lt;csv&gt;</code> and Proxmox auto-mounts at <code>/mnt/pve/&lt;id&gt;</code>."
},
"fstabBranch": {
@@ -113,7 +113,7 @@
"Attempts <code>chmod 1777</code> + <code>setfacl o::rwx</code> on the mount point (silent best-effort — only succeeds if the NFS server allows it; many NAS exports already serve world-writable paths)."
],
"lxcTitle": "Using the fstab mount from an LXC",
"lxcBody": "The script prints the exact <code>pct set</code> command at the end to bind-mount the path into a container, e.g. <code>pct set &lt;ctid&gt; -mp0 /mnt/&lt;path&gt;,mp=/mnt/&lt;ct-path&gt;,shared=1,backup=0</code>. Or use the <mountLink>LXC Mount Manager</mountLink>, which detects the fstab mount automatically. <strong>No changes are made inside the container</strong> — for unprivileged LXCs to read/write the NFS data, the script relies on server-side world-writable export semantics (typical for Synology, TrueNAS, OMV defaults). If your NFS server squashes root or restricts perms, see Troubleshooting.",
"lxcBody": "The script prints a <code>pct set</code> command for a bind mount, e.g. <code>pct set &lt;ctid&gt; -mp0 /mnt/&lt;path&gt;,mp=/mnt/&lt;ct-path&gt;,shared=1,backup=0</code>. Or use the <mountLink>LXC Mount Manager</mountLink>, which detects fstab mounts. <strong>No changes are made inside the container</strong>. Access from an unprivileged CT depends on server-side permissions for its mapped UIDs/GIDs. The script only attempts host-side permission changes; it cannot guarantee writable exports or manufacturer defaults. See Troubleshooting if access fails.",
"noUiTitle": "The fstab mount is NOT a Proxmox storage",
"noUiBody": "The host fstab mount is invisible to the Proxmox web UI — by design. It does not appear in <em>Datacenter > Storage</em>, you cannot select it in the VM / CT creator, and Proxmox backup jobs cannot target it. It is purely a host filesystem path. If you also want UI integration, mark <em>both</em> methods in the picker."
},
@@ -145,9 +145,9 @@
"showmountTitle": "\"Failed to connect\" from showmount",
"showmountBody": "The server refused the export-list query. Common causes: the server enforces strict client ACLs (your Proxmox IP is not on the allowed list), <code>rpcbind</code> is not running on the server, or the server exposes only NFSv4 with <code>showmount</code> disabled. The export path can still be added manually if you know it.",
"inactiveTitle": "Storage shows as inactive in the Proxmox UI",
"inactiveBody": "Run <em>Test NFS Connectivity</em> first — 99 % of the time this flags the exact hop that breaks (DNS, port, mount permissions). If connectivity is fine but Proxmox still flags inactive, check <code>journalctl -u pvestatd</code> on the Proxmox node; intermittent DNS or slow NFS mounts on boot can leave storages in an inactive state until <code>pvesm set &lt;id&gt; --disable 0</code> is re-applied.",
"inactiveBody": "Run <em>Test NFS Connectivity</em> first: it checks that the server answers ping, that port 2049 is open and that the export list (<code>showmount -e</code>) is available. If connectivity works but storage remains inactive, inspect <code>journalctl -u pvestatd</code> and the server/export configuration. Restore the underlying connectivity or permissions first. <code>pvesm set &lt;id&gt; --disable 0</code> enables a disabled storage; it is not a general repair for NFS failures.",
"lxcNoWriteTitle": "fstab mount works but unprivileged LXC can't write through a bind-mount",
"lxcNoWriteBody": "NFS permissions are enforced server-side, not by the host. The fstab options (<code>uid=</code>, <code>file_mode=</code>) that work for CIFS do <strong>not</strong> apply to NFS. If your unprivileged LXC (root inside CT = UID 100000 on host, mapped to NFS as \"others\") cannot write, the NFS server is either squashing root or has restrictive perms. Fix on the server: change the export to <code>no_root_squash</code> if you trust the host, or set the export world-writable (Synology, TrueNAS, OMV all expose this in the UI). The script tries <code>chmod 1777</code> on the mount but that only succeeds when the server permits it.",
"lxcNoWriteBody": "NFS access depends on server-side ownership, ACLs and squash settings. CIFS-style options such as <code>uid=</code> and <code>file_mode=</code> do <strong>not</strong> apply to NFS. With default LXC mapping, CT root becomes host UID 100000, not remote UID 0. Configure access for the actual mapped UID/GID or the server’s anonymous identity. <code>no_root_squash</code> only affects remote UID 0, so it is not a universal fix for UID 100000. The script attempts <code>chmod 1777</code> but cannot override the server’s permissions.",
"fstabBootTitle": "fstab mount does not come up after reboot",
"fstabBootBody": "The script adds <code>nofail,_netdev</code> so a missing share at boot does not block startup. If the mount never comes up: confirm the network is reachable (<code>ping &lt;server&gt;</code>), check <code>journalctl -u remote-fs.target</code>, and verify the entry is valid with <code>mount -fav | grep nfs</code>. <code>mount -a</code> after boot mounts everything that is currently missing."
},
@@ -12,7 +12,7 @@
},
"intro": {
"title": "What this does",
"body": "ProxMenux offers two mount methods for any Samba share: <strong>(1) Proxmox storage</strong> via <code>pvesm add cifs</code> — visible in Datacenter > Storage, mounted at <code>/mnt/pve/&lt;id&gt;</code>, credentials stored encrypted in <code>/etc/pve/priv/storage/&lt;id&gt;.pw</code>; <strong>(2) Host fstab mount</strong> at a path you pick — persistent via <code>/etc/fstab</code>, mounted with <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> so unprivileged LXC bind-mounts can write, credentials stored in a root-only <code>/etc/samba/credentials/</code> file (password never in <code>fstab</code>). You can run one method, the other, or both."
"body": "ProxMenux offers two mount methods for a Samba share: <strong>(1) Proxmox storage</strong> via <code>pvesm add cifs</code>, visible in Datacenter > Storage and mounted at <code>/mnt/pve/&lt;id&gt;</code>. The password is stored as plaintext in <code>/etc/pve/priv/storage/&lt;id&gt;.pw</code>, protected by the root-only private directory; this is access control, not encryption. <strong>(2) Host fstab mount</strong> at a chosen path, persistent through <code>/etc/fstab</code> and mounted with <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> so unprivileged LXC bind mounts can write. Its credentials are in a root-only file under <code>/etc/samba/credentials/</code>, never directly in <code>fstab</code>. Either or both methods can be used."
},
"opening": {
"heading": "Opening the tool",
@@ -41,24 +41,24 @@
"method": "<strong>Host fstab only</strong>",
"mountRich": "<code>/mnt/&lt;path&gt;</code> with open uid/gid/file_mode",
"ui": "No",
"useCaseRich": "Bind-mounting the share into one or more LXCs <em>without</em> exposing it as a Proxmox storage. Open perms guarantee unprivileged CTs can write through the bind-mount."
"useCaseRich": "Bind-mount the share into one or more LXCs <em>without</em> registering Proxmox storage. Open local permissions help unprivileged CTs access it, but writing still requires permission from the SMB server for the authenticated user."
},
{
"method": "<strong>Both</strong>",
"mount": "Both paths above (two independent CIFS connections to the server)",
"mount": "Both paths above (two mount points for the same CIFS export)",
"ui": "Yes",
"useCase": "You want UI integration AND a stable host-side path with open permissions for LXC bind-mounts. The pvesm mount uses Proxmox defaults; the fstab mount applies the open uid/gid/file_mode separately."
}
],
"bothTitle": "\"Both\" creates two independent CIFS connections",
"bothBody": "pvesm and fstab mount the same share twice with different options. The pvesm mount at <code>/mnt/pve/&lt;id&gt;</code> uses Proxmox defaults (no open uid/gid) — Proxmox UI is happy. The fstab mount at <code>/mnt/&lt;path&gt;</code> uses <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> — unprivileged LXC bind-mounts to it can write. Two TCP connections to the SMB server from the same Proxmox host."
"bothTitle": "“Both” creates two CIFS mount points",
"bothBody": "pvesm mounts at <code>/mnt/pve/&lt;id&gt;</code> with Proxmox defaults. fstab mounts at <code>/mnt/&lt;path&gt;</code> with <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> to permit local access through LXC bind mounts. The SMB server still enforces the mounted user’s permissions. These are two mount points; they do not guarantee two separate TCP connections."
},
"pvesmBranch": {
"heading": "Method A — As Proxmox storage (pvesm)",
"intro": "If <em>As Proxmox storage</em> is marked, ProxMenux runs the original pvesm flow:",
"items": [
"<strong>Storage ID</strong> — default <code>cifs-&lt;server-ip-with-dashes&gt;</code>. Only letters, digits, <code>-</code> and <code>_</code>.",
"<strong>Content types</strong> — CIFS exposes <strong>6</strong> options (same as NFS minus <code>rootdir</code>, which Proxmox does not allow on CIFS because the locking semantics cannot hold a live LXC rootfs):"
"<strong>Content types</strong> — this ProxMenux checklist offers <strong>6</strong> choices. It omits <code>rootdir</code> compared with the NFS checklist; this is a script-level choice, not a claim that every Proxmox CIFS backend version forbids LXC root filesystems:"
],
"headerType": "Content type",
"headerAllows": "What it allows",
@@ -89,16 +89,16 @@
}
],
"warnTitle": "Live VM disks on CIFS",
"warnBody": "If you tick <code>images</code>, ProxMenux pops up a warning before continuing. CIFS uses an advisory locking model that interacts badly with KVM disk operations (snapshots, live migration, I/O under contention). A backup or ISO store on CIFS is perfectly fine; a live-disk store is asking for trouble. Use NFS (or local storage) for <code>images</code> when you can.",
"warnBody": "Selecting <code>images</code> triggers a ProxMenux warning that CIFS/SMB can cause locking issues with VM disk operations. The script recommends NFS for VM disk images but lets you continue. Backups and ISOs are common CIFS uses. Assess locking, snapshots, migration and workload requirements before using CIFS for <code>images</code>.",
"credsTitle": "Where pvesm stores credentials",
"credsBody": "When you use User authentication, the password is NOT written in <code>/etc/pve/storage.cfg</code>. Proxmox keeps it in <code>/etc/pve/priv/storage/&lt;storage-id&gt;.pw</code> — mode <code>0600</code>, owner <code>root</code>, member of the cluster sync. If you later change the password on the Samba server, use <code>pvesm set &lt;id&gt; --password &lt;new&gt;</code> or remove and re-add through ProxMenux."
"credsBody": "The password is not written in <code>/etc/pve/storage.cfg</code>. Proxmox writes plaintext credentials in <code>/etc/pve/priv/storage/&lt;storage-id&gt;.pw</code>, inside the private area of the cluster filesystem, readable only by <code>root</code> (mode <code>0600</code>); it is protected by access control, not by encryption. After a server password change, use <code>pvesm set &lt;id&gt; --password &lt;new&gt;</code> or remove and re-add through ProxMenux."
},
"fstabBranch": {
"heading": "Method B — Host fstab mount only",
"intro": "If <em>As host fstab mount only</em> is marked, ProxMenux asks for a host mount path and persistent options, writes a root-only credentials file (User mode), then mounts and writes the entry to <code>/etc/fstab</code>:",
"items": [
"<strong>Host mount path</strong> — default <code>/mnt/&lt;share-name&gt;</code>. Must be an absolute path. If something is already mounted there, or a fstab entry exists, ProxMenux offers to replace it.",
"<strong>Mount options</strong> — pick <em>Read/Write</em> (default with <code>rw,uid=0,gid=0,file_mode=0777,dir_mode=0777,iocharset=utf8,nofail,_netdev</code>), <em>Read-only</em> (read-only variant with <code>file_mode=0555,dir_mode=0555</code>), or <em>Custom</em> (type your own option string). Open uid/gid/file_mode are always recommended for LXC bind-mount writes."
"<strong>Mount options</strong> — choose <em>Read/Write</em> (default: <code>rw,uid=0,gid=0,file_mode=0777,dir_mode=0777,iocharset=utf8,nofail,_netdev</code>), <em>Read-only</em> (<code>file_mode=0555,dir_mode=0555</code>), or <em>Custom</em> (enter your own options). The script recommends open uid/gid/file_mode for writes through LXC bind mounts."
],
"credsTitle": "Credentials file (User mode)",
"credsBody": "If you authenticated with a username + password, ProxMenux writes a root-only credentials file at <code>/etc/samba/credentials/&lt;server&gt;_&lt;share&gt;.cred</code> (mode <code>0600</code>) with <code>username=</code> and <code>password=</code> lines, and references it in the fstab entry via the <code>credentials=</code> mount option. Plain text never lands in <code>/etc/fstab</code>. For Guest mode, the option <code>guest</code> is appended instead and no credentials file is created.",
@@ -110,7 +110,7 @@
"Runs <code>systemctl daemon-reload</code> so systemd picks up the new fstab entry."
],
"lxcTitle": "Using the fstab mount from an unprivileged LXC",
"lxcBody": "Because the CIFS client applies <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>, every file in the mount is owned by host UID 0 with mode 0777. An unprivileged LXC bind-mounting the path sees \"others\" perms on every entry (CT root = host UID 100000 = others on the host filesystem), so reads and writes succeed. <strong>No changes are made inside the container</strong> — no <code>chown</code> in the CT, no group setup, nothing modified in <code>/etc/lxc</code> beyond the single <code>mp</code> bind-mount line. The script prints the exact <code>pct set</code> command at the end, or use the <mountLink>LXC Mount Manager</mountLink> to attach the path.",
"lxcBody": "The CIFS options <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> open local permission checks for LXC bind mounts. Server ACLs and negotiated Unix/POSIX semantics can still affect access. <strong>No changes are made inside the container</strong>: no CT <code>chown</code>, groups or edits to <code>/etc/lxc</code>. The <code>mp</code> line is managed in Proxmox CT configuration. Use the printed <code>pct set</code> command or the <mountLink>LXC Mount Manager</mountLink>.",
"noUiTitle": "The fstab mount is NOT a Proxmox storage",
"noUiBody": "The host fstab mount is invisible to the Proxmox web UI — by design. It does not appear in <em>Datacenter > Storage</em>, you cannot select it in the VM / CT creator, and Proxmox backup jobs cannot target it. It is purely a host filesystem path. If you also want UI integration, mark <em>both</em> methods in the picker."
},
@@ -121,12 +121,12 @@
"fstabGuestIntro": "Method B (fstab, guest auth) — no credentials file:"
},
"view": {
"heading": "View configured CIFS storages",
"body": "Lists every CIFS entry in Proxmox (<code>pvesm status | awk ''$2 == \"cifs\"''</code>) with server, share, content types, username (or <em>Guest</em>), mount path and live status. Password is <strong>never printed</strong>. <strong>Note:</strong> this view only shows pvesm-registered storages — fstab-only mounts are not listed. Check those with <code>findmnt -t cifs</code> or <code>grep cifs /etc/fstab</code>."
"heading": "View configured CIFS storages and host mounts",
"body": "Shows registered CIFS storages (<code>pvesm status | awk ''$2 == \"cifs\"''</code>) with server, share, content, username or <em>Guest</em>, path and status. Passwords are <strong>never printed</strong>. <strong>Note:</strong> a second section lists host fstab mounts, their options, authentication-file path and active/inactive state. For manual checks use <code>findmnt -t cifs</code> or <code>grep cifs /etc/fstab</code>."
},
"remove": {
"heading": "Remove CIFS storage",
"body": "Runs <code>pvesm remove &lt;storage-id&gt;</code> after a confirmation that shows the server / share / content. Only the Proxmox-side registration is removed — <strong>the remote Samba server is not touched</strong>. Proxmox also deletes the paired credentials file. To remove a fstab-only mount, edit <code>/etc/fstab</code> by hand, run <code>umount &lt;path&gt;</code>, and remove the file from <code>/etc/samba/credentials/</code>.",
"heading": "Remove CIFS storage or a host mount",
"body": "The removal picker offers pvesm storages and host fstab mounts. For pvesm, it runs <code>pvesm remove &lt;storage-id&gt;</code> and Proxmox removes the paired credentials. For fstab, it attempts <code>umount &lt;path&gt;</code>, removes the matching <code>/etc/fstab</code> entry and credentials under <code>/etc/samba/credentials/</code>, and removes an empty mount directory if possible. A failed unmount requires a manual unmount or reboot. <strong>The remote Samba server and its files are not modified</strong>.",
"warnTitle": "Back up dependencies first",
"warnBody": "VMs, CTs or backup jobs that reference this storage by ID will fail after removal. Move / drop those references before removing the storage."
},
@@ -145,7 +145,7 @@
"sleepTitle": "\"host is down\" or storage status goes inactive at night",
"sleepBody": "Some NAS appliances put SMB to sleep aggressively. <code>pvestatd</code> then sees the storage as inactive until the first access wakes the NAS. If this is cosmetic, nothing is broken. If it causes backup failures, disable SMB idle disconnect on the NAS or schedule backups outside the sleep window.",
"lxcNoWriteTitle": "Unprivileged LXC bind-mount can't write to the fstab path",
"lxcNoWriteBody": "Confirm the mount uses the open options: <code>findmnt /mnt/&lt;path&gt;</code> should show <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>. If a Custom option string omits those, an unprivileged LXC will get permission denied (CT UIDs map to host \"others\", which without open file_mode have no write bit). Re-mount with the default RW preset or add the four options back to your custom string.",
"lxcNoWriteBody": "Check <code>findmnt /mnt/&lt;path&gt;</code> for the intended options, such as <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>. Missing local write permissions can block mapped LXC UIDs. Reapply the default RW preset or adjust Custom options as needed. Also verify the mounted SMB user can write on the server and whether Unix/POSIX extensions supply server modes; open local modes cannot override server ACLs.",
"fstabBootTitle": "fstab mount does not come up after reboot",
"fstabBootBody": "The script adds <code>nofail,_netdev</code> so a missing share at boot does not block startup. If the mount never comes up: confirm the network is reachable (<code>ping &lt;server&gt;</code>), check <code>journalctl -u remote-fs.target</code>, verify the credentials file still exists (<code>ls -l /etc/samba/credentials/</code>) and is readable, and try <code>mount -a</code> manually."
},
@@ -121,7 +121,7 @@
},
"privReq": {
"title": "Privileged container requirement",
"body": "The four <strong>LXC network sharing</strong> flows above require a <strong>privileged</strong> container — the kernel modules (<code>nfs-kernel-server</code>, <code>smbd</code>, <code>mount.nfs</code>, <code>mount.cifs</code>) need capabilities that unprivileged CTs do not expose. If you only need to share files between the host and an unprivileged CT, use the <mountLink>LXC Mount Manager</mountLink> instead — it bind-mounts from the host and adjusts permissions on the host side so the container can read and write without any kernel-module magic."
"body": "The four <strong>LXC network sharing</strong> flows above require a <strong>privileged</strong> container. The scripts enforce this supported mode before configuring the services and mount tools (<code>nfs-kernel-server</code>, <code>smbd</code>, <code>mount.nfs</code>, <code>mount.cifs</code>). If you only need to share files between the host and an unprivileged CT, use the <mountLink>LXC Mount Manager</mountLink> instead — it bind-mounts from the host and adjusts permissions on the host side so the container can read and write without configuring these services or mount tools inside it."
},
"unprivExplain": {
"title": "How ProxMenux handles unprivileged CT permissions",
@@ -24,7 +24,7 @@
"arrowLabel": "bind mount",
"outro": "The host path on the left and the container path on the right can be different — for example, <code>/mnt/nas-films</code> on the host can become <code>/media/films</code> inside the container. The script adds the entry to the container config (<code>/etc/pve/lxc/&lt;ctid&gt;.conf</code>) using the next free <code>mpN</code> index, with two safe-defaults baked in:",
"items": [
"<code>shared=1</code> — tells Proxmox the data is shared storage, so it does not try to migrate the disk when you migrate the container.",
"<code>shared=1</code> — tells Proxmox the mount uses shared data, so it does not migrate the data with the CT. This flag does not replicate data: the same path and data must already be available on the destination node.",
"<code>backup=0</code> — excludes the bind mount from <code>vzdump</code> backups (the data lives on the host, you back it up separately)."
]
},
@@ -64,7 +64,7 @@
"idmapChangesRich": "Custom UID/GID mapping in <code>/etc/pve/lxc/&lt;CTID&gt;.conf</code> plus matching <code>/etc/subuid</code> + <code>/etc/subgid</code> entries on the host. CT must be restarted on every change.",
"idmapWhenRich": "You need a <em>specific</em> UID inside the CT to map to a <em>specific</em> UID on the host (e.g. <code>media:1000</code> in the CT must own files as <code>media:1000</code> on the host so NFS doesn't squash). A more rigid setup, normally only worth it for that exact scenario.",
"idmapTipTitle": "When you actually need lxc.idmap",
"idmapTipBody": "If the LXC Mount Manager doesn't cover your case — typically because you need files written from inside the CT to land on the host as a specific UID/GID (NFS exports with <code>all_squash</code>, Samba shares with strict ownership, sharing a directory with a host user that has the same name as someone inside the CT) — that is the moment to add <code>lxc.idmap</code> entries by hand. The Mount Manager won't fight you: the bind-mount line it wrote is independent of any idmap configuration you add later."
"idmapTipBody": "Use manual ID mapping when files written in the CT must appear on the host under a specific numeric UID/GID, for example to share ownership with a host user. It cannot override NFS <code>all_squash</code>; the server still decides the anonymous identity and permissions. Add <code>lxc.idmap</code> entries by hand if needed. The Mount Manager’s bind-mount line is independent of those entries."
},
"opening": {
"heading": "Opening the tool",
@@ -56,7 +56,7 @@
}
],
"netEffectTitle": "Net effect",
"netEffectBody": "Your container always boots, even if the NFS server is offline. The first time something touches the mount path, systemd quietly mounts it. If the server is still down, that one access fails with <em>resource temporarily unavailable</em> — but nothing else in the CT is affected."
"netEffectBody": "The NFS filesystem is mounted on <em>first access</em> rather than eagerly during boot. If the server is offline, that access may wait or fail, and services that depend on the path can be affected. Automount reduces the boot-time dependency; it does not guarantee that every CT service is unaffected by an unavailable NFS server."
},
"manual": {
"heading": "Manual equivalent",
@@ -27,9 +27,9 @@
"heading": "The \"sharedfiles\" group convention",
"body": "Before exporting the folder, ProxMenux creates a group called <code>sharedfiles</code> with <strong>GID 101000</strong> inside the container, adds every regular user to it, then sets the export directory to <code>root:sharedfiles</code> with mode <code>2775</code>. The <code>2</code> at the front is the SGID bit — every file or folder created inside automatically inherits the <code>sharedfiles</code> group.",
"gidTitle": "Why GID 101000 specifically",
"gidBody": "It maps to host GID <strong>1000</strong> when an unprivileged container reads the same file (LXC default idmap shifts everything by +100000). In the current ProxMenux flow the NFS server itself runs in a <strong>privileged</strong> CT (no shift on its side), but the convention keeps the group ID numerically consistent with unprivileged client CTs that may mount this share later. Two privileged CTs both using <code>sharedfiles</code> at GID 101000 can read / write each other's files cleanly because the GID numbers match end-to-end.",
"remapTitle": "The script also creates 'remap_*' users — they are vestigial here",
"remapBody": "For every regular user in the CT (and for common UIDs like 33 = www-data, 1000, 1001, 1002), the script creates a parallel <code>remap_&lt;uid&gt;</code> user with UID = <code>&lt;uid&gt; + 100000</code>, all members of <code>sharedfiles</code>. The <code>+100000</code> shift mimics the LXC unprivileged idmap, but since this script enforces a <strong>privileged</strong> CT (no shift), those <code>remap_*</code> users are shadow accounts with no real-world counterpart on the host. They are harmless leftovers from a more ambitious design intent. If you don't see them in <code>getent passwd</code>, nothing breaks."
"gidBody": "With the default LXC ID map (+100000), host GID 101000 appears as GID <strong>1000</strong> inside an unprivileged CT. This server flow uses a <strong>privileged</strong> CT, where there is no shift. Two privileged CTs using <code>sharedfiles</code> at GID 101000 therefore share the same numeric group ID.",
"remapTitle": "Legacy 'remap_*' user creation is skipped for privileged CTs",
"remapBody": "The legacy unprivileged branch would create <code>remap_&lt;uid&gt;</code> users with UID <code>&lt;uid&gt; + 100000</code>, all in <code>sharedfiles</code>, for regular users and common UIDs (33, 1000, 1001, 1002). This <code>+100000</code> shift is irrelevant in the <strong>privileged</strong> CTs required by this flow, so the script skips that branch. Missing <code>remap_*</code> accounts in <code>getent passwd</code> are expected and do not indicate a failure."
},
"defaults": {
"heading": "Default export options — read this first",
@@ -38,7 +38,7 @@
},
"creds": {
"heading": "Where the password lives",
"body": "ProxMenux <strong>never stores the password in plain text</strong> in the mount command or in <code>/etc/fstab</code>. Instead it writes a credentials file inside the CT:",
"body": "ProxMenux <strong>does not put the password in the mount command</strong> or in <code>/etc/fstab</code>. It writes a credentials file inside the CT instead. That file contains plaintext credentials protected by root-only permissions; it is not encrypted:",
"whyTitle": "Why a separate file rather than fstab",
"whyBody": "The CIFS module accepts <code>username=</code> / <code>password=</code> options inline in fstab, but anyone who can read <code>/etc/fstab</code> sees the password in clear. Putting credentials in a root-only file and pointing fstab at it (<code>credentials=</code>) keeps the password out of world-readable config."
},
@@ -85,7 +85,7 @@
}
],
"netEffectTitle": "Net effect of the fstab flags",
"netEffectBody": "Your container always boots, even if the Samba server is offline. The first time something touches the mount path, systemd quietly mounts it. If the server is still down, that one access fails with <em>resource temporarily unavailable</em> — but nothing else in the CT is affected."
"netEffectBody": "The CIFS filesystem is mounted on <em>first access</em> rather than eagerly during boot. If the server is offline, that access may wait or fail, and services that depend on the path can be affected. Automount reduces the boot-time dependency; it does not guarantee that every CT service is unaffected by an unavailable CIFS server."
},
"manual": {
"heading": "Manual equivalent",
@@ -103,7 +103,7 @@
"noShareTitle": "Client connects but cannot see the share",
"noShareBody": "Check that <code>browseable = yes</code> is set in the share block (default for rw / ro modes; may be missing in custom). Also check the CT firewall and the Proxmox host firewall allow TCP 445 (SMB) and 139 (NetBIOS). Some Windows clients also require name resolution — try the IP directly first.",
"authTitle": "Authentication fails (NT_STATUS_LOGON_FAILURE)",
"authBody": "Either the wrong password (Samba passwords are <em>separate</em> from system passwords — see them with <code>pdbedit -L</code>) or the user is not in <code>valid users</code> for that share. Reset the password with <code>smbpasswd &lt;user&gt;</code> inside the CT.",
"authBody": "Either the password is wrong (Samba passwords are <em>separate</em> from system passwords; list Samba users with <code>pdbedit -L</code>) or the user is not in <code>valid users</code> for that share. Reset the password with <code>smbpasswd &lt;user&gt;</code> inside the CT.",
"groupTitle": "Files written by the client appear with wrong group on the server",
"groupBody": "The script sets <code>force group = sharedfiles</code> in the share block, so new files should be group <code>sharedfiles</code>. If they aren't, the SGID bit on the parent directory may have been lost (someone ran <code>chmod</code> by hand). Reapply: <code>chmod 2775 /mnt/&lt;share&gt;</code>.",
"bothTitle": "Sharing the same folder over both NFS and Samba",
@@ -24,7 +24,7 @@
"meaningRich": "El endpoint del servicio iSCSI en el servidor del target — una IP (o hostname) más un puerto TCP. El puerto por defecto es <code>3260</code>; ProxMenux lo asume si no especificas uno."
},
{
"term": "Target",
"term": "Destino (target)",
"meaningRich": "Un único \"servidor\" exportado dentro del portal, identificado por su IQN (<em>iSCSI Qualified Name</em>). Un portal puede alojar muchos targets."
},
{
@@ -36,7 +36,7 @@
"meaningRich": "Un dispositivo de bloque dentro de un target (Logical Unit Number). Un único target puede exponer varias LUNs; cada LUN aparece como su propio disco en Proxmox y puede convertirse en un disco de VM."
},
{
"term": "Initiator",
"term": "Iniciador",
"meaningRich": "El cliente que conecta a un target — en este caso, tu host Proxmox. El initiator tiene su propio IQN guardado en <code>/etc/iscsi/initiatorname.iscsi</code>. Los targets normalmente solo aceptan sesiones de IQNs de initiator preautorizados."
}
]
@@ -44,7 +44,7 @@
"opening": {
"heading": "Abrir la herramienta",
"body": "Desde el menú principal de ProxMenux, abre <strong>Storage &amp; Share Manager → Add iSCSI Target as Proxmox Storage</strong>. Verás este submenú con cuatro opciones:",
"imageAlt": "Menú iSCSI Host Manager — Add / View / Remove / Test connectivity"
"imageAlt": "Menú del gestor iSCSI del host — Añadir / Ver / Eliminar / Probar conectividad"
},
"howRuns": {
"heading": "Cómo se ejecuta el script (flujo Add)",
@@ -74,7 +74,7 @@
"remove": {
"heading": "Eliminar almacenamiento iSCSI",
"body": "Ejecuta <code>pvesm remove &lt;storage-id&gt;</code> tras confirmar portal, target y contenido. Solo se elimina el registro en Proxmox — <strong>el propio target iSCSI no se toca</strong> y las sesiones existentes en el lado del kernel pueden persistir hasta el siguiente reinicio.",
"warnTitle": "Discos de VM existentes en este iSCSI primero",
"warnTitle": "Primero revisa los discos de VM existentes en este iSCSI",
"warnBody": "Eliminar un almacenamiento iSCSI mientras las VMs todavía tienen discos en él deja a esas VMs apuntando a un almacén desaparecido. Proxmox marcará el error, pero los datos de la LUN siguen intactos en el target — puedes volver a registrar el almacenamiento después para recuperar los discos. Aun así, mueve o haz backup de las VMs primero por seguridad."
},
"test": {
@@ -98,7 +98,7 @@
"noLunTitle": "Las LUNs no aparecen en /dev/disk/by-path tras el registro",
"noLunBody": "<code>pvesm add iscsi</code> tuvo éxito pero el kernel no ve dispositivos de bloque. Comprueba <code>iscsiadm --mode session</code> — si no hay sesión activa, inicia una manualmente con <code>iscsiadm --mode node --login</code>. Si hay sesión pero no aparecen LUNs, fuerza un rescan: <code>iscsiadm --mode session --rescan</code>. Si sigue sin haber nada, probablemente el target todavía no tiene LUNs asignadas a este IQN (configura el mapeo de LUN en el target).",
"chapTitle": "Autenticación CHAP",
"chapBody": "ProxMenux no expone los campos de usuario / contraseña CHAP en el flujo interactivo. Si tu target requiere CHAP, registra con ProxMenux primero (el descubrimiento con CHAP puede fallar, pero <code>pvesm add</code> escribirá la entrada igualmente), luego añade credenciales manualmente: <code>pvesm set &lt;id&gt; --username &lt;chap-user&gt;</code> y edita <code>/etc/iscsi/iscsid.conf</code> con la contraseña, después <code>systemctl restart iscsid</code>. Es una carencia del script actual — documentada aquí para que sepas qué hacer."
"chapBody": "ProxMenux no ofrece campos de usuario y contraseña CHAP en el flujo interactivo. Si falla el descubrimiento, el script se detiene antes de <code>pvesm add</code>; no registra el almacenamiento de todos modos. Configura por separado los requisitos CHAP del destino en <code>open-iscsi</code>, incluida la autenticación del descubrimiento si hace falta, y vuelve a intentarlo. Usa <code>iscsiadm</code> para comprobar la configuración y verifica las sesiones activas con <code>iscsiadm --mode session</code>."
},
"related": {
"heading": "Relacionado",
@@ -1,8 +1,8 @@
{
"meta": {
"title": "Host: añadir disco local como almacenamiento de Proxmox | ProxMenux Documentation",
"title": "Host: añadir disco local como almacenamiento de Proxmox | Documentación de ProxMenux",
"description": "Formatea un disco local SATA / SAS / NVMe en un host Proxmox y regístralo como almacenamiento Proxmox directory o ZFS pool. Detección segura de discos, gate de confirmación para operaciones destructivas, fstab basado en UUID, creación de ZFS pool y pvesm add dir / zfspool por dentro.",
"ogTitle": "Host: añadir disco local como almacenamiento de Proxmox | ProxMenux Documentation",
"ogTitle": "Host: añadir disco local como almacenamiento de Proxmox | Documentación de ProxMenux",
"ogDescription": "Formatea un disco local y regístralo como almacenamiento Proxmox directory o ZFS pool con un flujo guiado y filtrado por seguridad."
},
"header": {
@@ -16,11 +16,11 @@
},
"destructive": {
"title": "Herramienta destructiva para la ruta 'format'",
"body": "La ruta <em>Format</em> <strong>borra cada partición y byte del disco seleccionado</strong>. ProxMenux muestra la lista de discos con un banner de advertencia, filtra los discos ya en uso y exige una confirmación explícita antes de ejecutar cualquier <code>wipefs</code> / <code>sgdisk</code> / <code>mkfs</code>. Aun así — lee la ruta del dispositivo en voz alta dos veces antes de escribir \"yes\"."
"body": "La opción <em>Formatear</em> <strong>destruye las particiones y los datos existentes en el disco seleccionado</strong>. ProxMenux muestra una advertencia, filtra los discos en uso y exige confirmación antes de ejecutar <code>wipefs</code> / <code>sgdisk</code> / <code>mkfs</code>. No es una sobrescritura segura de cada byte. Comprueba dos veces la ruta del dispositivo antes de confirmar."
},
"compare": {
"heading": "Directory vs ZFS pool — cuál elegir",
"headerDir": "Directory (ext4 / xfs / btrfs)",
"headerDir": "Directorio (ext4 / xfs / btrfs)",
"headerZfs": "ZFS pool",
"rows": [
{
@@ -34,12 +34,12 @@
"zfs": "Dataset ZFS nativo (zvol) por disco"
},
{
"label": "Snapshots",
"label": "Instantáneas",
"dir": "Snapshots qcow2; snapshots btrfs si fs=btrfs",
"zfs": "Nativos, instantáneos, copy-on-write"
},
{
"label": "Thin provisioning",
"label": "Aprovisionamiento fino",
"dir": "Sí (qcow2 por defecto)",
"zfs": "Sí (ZFS por defecto)"
},
@@ -51,7 +51,7 @@
{
"label": "Content types soportados",
"dir": "images, backup, iso, vztmpl, snippets, rootdir",
"zfs": "images, rootdir solamente (almacenamiento de bloque)"
"zfs": "solo images y rootdir (almacenamiento de bloques)"
},
{
"label": "Mejor para",
@@ -63,7 +63,7 @@
"opening": {
"heading": "Abrir la herramienta",
"body": "Desde el menú principal de ProxMenux, abre <strong>Storage &amp; Share Manager → Add Local Disk as Proxmox Storage</strong>. Verás este submenú con cuatro opciones:",
"imageAlt": "Menú Local Disk Manager — Add / View / Remove / List available disks"
"imageAlt": "Menú de discos locales — Añadir / Ver / Eliminar / Listar discos disponibles"
},
"howRuns": {
"heading": "Cómo se ejecuta el script (flujo Add)",
@@ -78,7 +78,7 @@
"Elige el sistema de archivos — mira la tabla de arriba para las contrapartidas.",
"Storage ID (por defecto <code>disk-&lt;device&gt;</code>), ruta de montaje, preset de content type.",
"Confirma en el diálogo <strong>FINAL CONFIRMATION — DATA WILL BE ERASED</strong>.",
"ProxMenux limpia la tabla de particiones, crea una partición que abarca el disco entero, ejecuta <code>mkfs.&lt;fs&gt;</code> (o <code>zpool create</code>), la monta, la añade a <code>/etc/fstab</code> por UUID con <code>defaults,nofail</code> y la registra en Proxmox vía <code>pvesm add dir</code> o <code>pvesm add zfspool</code>."
"ProxMenux limpia la tabla de particiones y crea una partición que abarca el disco. Ejecuta <code>mkfs.&lt;fs&gt;</code> o <code>zpool create</code> y monta el resultado. Los sistemas de archivos normales reciben una entrada en <code>/etc/fstab</code> por UUID con <code>defaults,nofail</code>; ZFS usa la configuración de montaje del pool. Si <em>Como almacenamiento Proxmox</em> está marcado (siempre en ZFS), se registra con <code>pvesm add dir</code> o <code>pvesm add zfspool</code>; si no, queda solo como montaje del host."
],
"tipTitle": "Por qué UUID + nofail en /etc/fstab",
"tipBody": "El script escribe <code>UUID=… /mnt/&lt;id&gt; &lt;fs&gt; defaults,nofail 0 2</code>. El UUID sobrevive a reordenaciones de dispositivos entre reinicios (así que <code>/dev/sdc</code> pasando a ser <code>/dev/sdd</code> no rompe el arranque). <code>nofail</code> significa que si el disco desaparece alguna vez (fallo de hardware, desconectado), Proxmox arranca igualmente — el almacenamiento simplemente se mostrará como inactive hasta que el disco vuelva."
@@ -96,35 +96,35 @@
"warnBody": "Si el disco ya contiene un pool ZFS, la ruta de <em>reuse</em> aquí simplemente intenta montarlo como un sistema de archivos normal — y falla. Para importar un pool ZFS existente usa <code>zpool import &lt;name&gt;</code> en línea de comandos y después regístralo manualmente con <code>pvesm add zfspool</code>."
},
"presets": {
"heading": "Presets de content type",
"intro": "En vez de una larga lista de verificación, ProxMenux ofrece 4 presets más una opción custom. La cadena del preset se pasa a <code>pvesm add … --content &lt;csv&gt;</code>:",
"headerPreset": "Preset",
"heading": "Preajustes de tipos de contenido",
"intro": "ProxMenux ofrece tres preajustes y una opción personalizada. La cadena de contenido elegida se pasa a <code>pvesm add … --content &lt;csv&gt;</code>:",
"headerPreset": "Preajuste",
"headerContent": "Cadena de contenido",
"headerUse": "Caso de uso",
"rows": [
{
"preset": "VM Storage",
"preset": "Almacenamiento VM",
"content": "images,backup",
"use": "Un almacén de discos de VM dedicado que también guarda backups de esas VMs cerca."
},
{
"preset": "Standard NAS",
"preset": "NAS estándar",
"content": "backup,iso,vztmpl",
"use": "Un disco de archivo / media — backups, ISOs y templates LXC. Sin discos de VM en vivo aquí."
},
{
"preset": "All types",
"preset": "Todos los tipos",
"content": "images,backup,iso,vztmpl,snippets",
"use": "\"Que decida el host\" — permite todos los content types que Proxmox soporta en este almacenamiento."
"use": "Este preajuste amplio habilita imágenes, backups, ISO, plantillas LXC y snippets. Si necesitas otros tipos compatibles, como rootdir, añádelos mediante Personalizado."
},
{
"preset": "Custom",
"preset": "Personalizado",
"content": "(entrada libre)",
"useRich": "Escribe el CSV exacto tú mismo, p. ej. <code>images</code> solo, o <code>rootdir,images</code>."
}
],
"zfsTitle": "El contenido del ZFS pool es más limitado",
"zfsBody": "Si elegiste <strong>zfs</strong> como sistema de archivos, Proxmox solo acepta <code>images</code> y <code>rootdir</code> como content types en un <code>zfspool</code> (es almacenamiento de bloque, no un sistema de archivos para ISOs). Los presets de arriba siguen funcionando pero Proxmox descarta silenciosamente los content types que no puede usar — comprueba <code>pvesm status</code> después."
"zfsBody": "Si elegiste <strong>zfs</strong>, un <code>zfspool</code> solo admite <code>images</code> y <code>rootdir</code>, no archivos ISO ni backups. Usa Personalizado para introducir una lista compatible. El script la pasa sin modificar; los tipos no compatibles pueden hacer fallar el registro. Comprueba <code>pvesm status</code> después."
},
"manual": {
"heading": "Equivalente manual",
@@ -147,7 +147,7 @@
},
"troubleshoot": {
"heading": "Solución de problemas",
"noDisksTitle": "\"No available disks found\"",
"noDisksTitle": "\"No se encontraron discos disponibles\"",
"noDisksIntro": "El filtro de seguridad ocultó cada disco. Razones comunes:",
"noDisksItems": [
"Solo está presente el disco raíz.",
@@ -168,7 +168,7 @@
"items": [
{
"href": "/docs/disk-manager/format-disk",
"label": "Disk Manager: Format / Wipe Physical Disk",
"label": "Gestor de discos: Formatear / Borrar disco físico",
"tail": " — alternativa de bajo nivel cuando solo quieres preparar un disco sin registrarlo como almacenamiento de Proxmox."
},
{
@@ -36,9 +36,9 @@
"headerWhy": "Por qué importa aquí",
"rows": [
{
"bit": "1 (sticky)",
"effect": "Solo el propietario del archivo puede borrar / renombrar un archivo.",
"why": "Evita que el CT-A borre archivos creados por el CT-B en el mismo directorio."
"bit": "1 (sticky bit)",
"effect": "Solo pueden borrar o renombrar un archivo su propietario, el propietario del directorio o un proceso con privilegios suficientes.",
"why": "Ayuda a impedir que usuarios con UID mapeados diferentes borren archivos ajenos. No aísla CT que comparten un UID mapeado o acceso root privilegiado."
},
{
"bit": "777 (rwx-rwx-rwx)",
@@ -46,9 +46,9 @@
"why": "Los UIDs de CT unprivileged (100000+) aparecen como \"others\" desde el host, así que world-rwx les da acceso."
},
{
"bit": "ACLs (default)",
"bit": "ACL (predeterminadas)",
"effect": "Heredado en cada archivo / subdir recién creado.",
"why": "Los permisos se aplican para siempre — el contenido nuevo conserva el perfil abierto sin reejecutar el script."
"why": "El contenido nuevo hereda las ACL predeterminadas sin volver a ejecutar el script. Las aplicaciones pueden solicitar modos restrictivos o cambiar los permisos después."
}
],
"privTitle": "Los CTs privileged ven lo mismo, solo que sin el desplazamiento",
@@ -90,7 +90,7 @@
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "LXC Mount Manager",
"label": "Gestor de montajes LXC",
"tail": " — el siguiente paso natural: hacer bind mount de este directorio en uno o más contenedores."
},
{
@@ -1,8 +1,8 @@
{
"meta": {
"title": "Host: montar share NFS en el host | ProxMenux Documentation",
"title": "Host: montar recurso NFS en el host | Documentación de ProxMenux",
"description": "Monta un export NFS externo en el host Proxmox — bien como almacenamiento de Proxmox (pvesm add nfs), bien como un montaje fstab del host normal (NO visible en Datacenter > Storage), o ambos. El método fstab es ideal para hacer bind mount del share en contenedores LXC sin exponerlo como almacenamiento de Proxmox.",
"ogTitle": "Host: montar share NFS en el host | ProxMenux Documentation",
"ogTitle": "Host: montar recurso NFS en el host | Documentación de ProxMenux",
"ogDescription": "Monta un export NFS externo en el host Proxmox vía pvesm, fstab o ambos. La ruta fstab es ideal para bind mounts LXC."
},
"header": {
@@ -17,7 +17,7 @@
"opening": {
"heading": "Abrir la herramienta",
"body": "Desde el menú principal de ProxMenux, abre <strong>Storage &amp; Share Manager → Mount NFS Share on Host</strong>. Verás este submenú con cuatro opciones:",
"imageAlt": "Menú NFS Host Manager — Mount / View / Remove / Test connectivity"
"imageAlt": "Menú NFS del host — Montar / Ver / Eliminar / Probar conectividad"
},
"howRuns": {
"heading": "Cómo se ejecuta el script",
@@ -46,13 +46,13 @@
},
{
"method": "<strong>Ambos</strong>",
"mount": "Ambas rutas de arriba (dos conexiones NFS independientes al servidor)",
"mount": "Ambas rutas anteriores (dos puntos de montaje del mismo export NFS)",
"ui": "Sí",
"useCase": "Quieres integración con la UI Y una ruta estable del lado del host con permisos abiertos para bind mounts LXC. El servidor ve dos conexiones desde el host."
"useCase": "Integración con la interfaz y una ruta estable separada en el host con permisos abiertos para bind mounts LXC."
}
],
"bothTitle": "\"Ambos\" crea dos montajes NFS independientes",
"bothBody": "Marcar ambas opciones ejecuta cada método independientemente — pvesm monta en <code>/mnt/pve/&lt;id&gt;</code>, fstab monta en <code>/mnt/&lt;path&gt;</code>. El servidor ve dos conexiones TCP desde el host Proxmox. Esto es intencional: te permite mantener el almacenamiento pvesm limpio (opciones por defecto de Proxmox) mientras tienes un montaje separado del lado del host con permisos abiertos para bind mounts LXC."
"bothBody": "Los dos métodos se ejecutan por separado: pvesm monta en <code>/mnt/pve/&lt;id&gt;</code> y fstab en <code>/mnt/&lt;path&gt;</code>. Así tienes un montaje gestionado por Proxmox con opciones predeterminadas y otro en el host para bind mounts LXC. Dos puntos de montaje no garantizan dos conexiones TCP: el cliente NFS puede reutilizarlas."
},
"pvesmBranch": {
"heading": "Método A — Como almacenamiento de Proxmox (pvesm)",
@@ -61,7 +61,7 @@
"<strong>Storage ID</strong> — cómo llamará Proxmox a este almacenamiento. Por defecto es <code>nfs-&lt;server-ip-with-dashes&gt;</code>. Solo se aceptan letras, dígitos, <code>-</code> y <code>_</code>.",
"<strong>Content types</strong> — Proxmox vincula categorías de contenido a volúmenes de almacenamiento; elige qué se le permite a este NFS contener:"
],
"headerType": "Content type",
"headerType": "Tipo de contenido",
"headerAllows": "Qué permite",
"rows": [
{
@@ -94,7 +94,7 @@
}
],
"warnTitle": "images y rootdir en NFS",
"warnBody": "Marcar <code>images</code> en un almacenamiento NFS deja a Proxmox colocar discos de VM en vivo ahí. Funciona, pero la latencia de NFS + su semántica de locks lo hacen notablemente más lento que el almacenamiento local (y un corte de red pausa cada VM respaldada por ese almacén). Marcar <code>rootdir</code> significa que alojarás sistemas de archivos raíz de LXC sobre NFS, lo que históricamente da problemas con contenedores unprivileged (interacciones overlay / chown). Es preferible mantener <code>images</code> / <code>rootdir</code> en almacenamiento local o iSCSI y usar NFS para <code>backup</code> / <code>iso</code> / <code>vztmpl</code>.",
"warnBody": "Seleccionar <code>images</code> permite guardar discos de VM en NFS. El rendimiento depende de la red, el servidor y la carga; una caída puede bloquear la E/S que dependa del montaje. Seleccionar <code>rootdir</code> guarda sistemas de archivos raíz LXC en NFS, donde los contenedores sin privilegios pueden encontrar limitaciones de mapeo de UID, overlay y propiedad. Evalúa estos requisitos antes de colocar <code>images</code> / <code>rootdir</code> ahí; NFS también sirve para <code>backup</code> / <code>iso</code> / <code>vztmpl</code>.",
"result": "El resultado es <code>pvesm add nfs &lt;id&gt; --server &lt;srv&gt; --export &lt;path&gt; --content &lt;csv&gt;</code> y Proxmox automonta en <code>/mnt/pve/&lt;id&gt;</code>."
},
"fstabBranch": {
@@ -102,7 +102,7 @@
"intro": "Si <em>Solo como montaje fstab del host</em> está marcado, ProxMenux pide una ruta de montaje del host y opciones persistentes, luego monta y escribe la entrada en <code>/etc/fstab</code>:",
"items": [
"<strong>Ruta de montaje del host</strong> — por defecto <code>/mnt/&lt;export-basename&gt;</code>. Debe ser una ruta absoluta. Si algo ya está montado ahí, o existe una entrada fstab para la misma ruta, ProxMenux te avisa y ofrece reemplazarla.",
"<strong>Mount options</strong> — elige <em>Read/Write</em> (por defecto con <code>rw,hard,nofail,_netdev,rsize=131072,wsize=131072,timeo=600,retrans=2</code>), <em>Read-only</em>, o <em>Custom</em> (escribe tu propia cadena de opciones)."
"<strong>Opciones de montaje</strong> — <em>Lectura/escritura</em> (predeterminado: <code>rw,hard,nofail,_netdev,rsize=131072,wsize=131072,timeo=600,retrans=2</code>), <em>Solo lectura</em>, <em>Personalizado</em> (escribe tus propias opciones)."
],
"appliesIntro": "Una vez confirmes, el script:",
"applies": [
@@ -113,7 +113,7 @@
"Intenta <code>chmod 1777</code> + <code>setfacl o::rwx</code> en el punto de montaje (best-effort silencioso — solo tiene éxito si el servidor NFS lo permite; muchos exports NAS ya sirven rutas world-writable)."
],
"lxcTitle": "Usar el montaje fstab desde un LXC",
"lxcBody": "El script imprime el comando <code>pct set</code> exacto al final para hacer bind mount de la ruta en un contenedor, p. ej. <code>pct set &lt;ctid&gt; -mp0 /mnt/&lt;path&gt;,mp=/mnt/&lt;ct-path&gt;,shared=1,backup=0</code>. O usa el <mountLink>LXC Mount Manager</mountLink>, que detecta el montaje fstab automáticamente. <strong>No se hacen cambios dentro del contenedor</strong> — para que los LXCs unprivileged lean/escriban los datos NFS, el script depende de la semántica world-writable del export del lado del servidor (típica en defaults de Synology, TrueNAS, OMV). Si tu servidor NFS aplica squash a root o restringe permisos, mira Solución de problemas.",
"lxcBody": "El script muestra un comando <code>pct set</code> para un bind mount, p. ej. <code>pct set &lt;ctid&gt; -mp0 /mnt/&lt;path&gt;,mp=/mnt/&lt;ct-path&gt;,shared=1,backup=0</code>. También puedes usar <mountLink>LXC Mount Manager</mountLink>, que detecta los montajes fstab. <strong>No se cambia nada dentro del contenedor</strong>. El acceso desde un CT sin privilegios depende de los permisos del servidor para sus UID/GID mapeados. El script solo intenta ajustar permisos desde el host; no garantiza exports escribibles ni ajustes predeterminados de fabricantes. Si falla, consulta Solución de problemas.",
"noUiTitle": "El montaje fstab NO es un almacenamiento de Proxmox",
"noUiBody": "El montaje fstab del host es invisible para la UI web de Proxmox — por diseño. No aparece en <em>Datacenter > Storage</em>, no puedes seleccionarlo en el creador de VM / CT, y los trabajos de backup de Proxmox no pueden apuntarlo. Es puramente una ruta del sistema de archivos del host. Si quieres también integración con la UI, marca <em>ambos</em> métodos en el selector."
},
@@ -138,16 +138,16 @@
},
"troubleshoot": {
"heading": "Solución de problemas",
"noServersTitle": "\"No NFS servers found on the network\"",
"noServersTitle": "\"No se encontraron servidores NFS en la red\"",
"noServersBody": "El auto-descubrimiento usa <code>nmap -p 2049 --open &lt;subnet&gt;/24</code>. El servidor puede no responder si: está en una VLAN / subnet diferente, su firewall bloquea las sondas nmap (muchos lo hacen) o el puerto 2049 está intencionalmente cerrado en esa interfaz. Usa la opción <em>Manual</em> con la IP o hostname del servidor en su lugar.",
"portTitle": "\"NFS port (2049) is not accessible\"",
"portTitle": "«El puerto NFS (2049) no es accesible»",
"portBody": "El ping tuvo éxito pero <code>nc -z -w 3 &lt;server&gt; 2049</code> falló. Comprueba que el servicio NFS está corriendo en el servidor (<code>systemctl status nfs-server</code> en Linux, Panel de Control → File Services en Synology, plugin NFS en OMV / TrueNAS) y que el firewall permite el 2049 desde el host Proxmox.",
"showmountTitle": "\"Failed to connect\" desde showmount",
"showmountBody": "El servidor rechazó la consulta de la lista de exports. Causas comunes: el servidor aplica ACLs de cliente estrictas (tu IP de Proxmox no está en la lista permitida), <code>rpcbind</code> no está corriendo en el servidor o el servidor expone solo NFSv4 con <code>showmount</code> deshabilitado. La ruta del export se puede añadir manualmente igualmente si la conoces.",
"inactiveTitle": "El almacenamiento aparece como inactive en la UI de Proxmox",
"inactiveBody": "Ejecuta <em>Test NFS Connectivity</em> primero — el 99 % de las veces esto marca el salto exacto que se rompe (DNS, puerto, permisos de montaje). Si la conectividad va bien pero Proxmox sigue marcando inactive, comprueba <code>journalctl -u pvestatd</code> en el nodo Proxmox; DNS intermitente o montajes NFS lentos al arrancar pueden dejar almacenamientos en estado inactive hasta que <code>pvesm set &lt;id&gt; --disable 0</code> se reaplica.",
"inactiveBody": "Ejecuta primero <em>Probar la conectividad NFS</em>: comprueba que el servidor responde al ping, que el puerto 2049 está abierto y que la lista de exports (<code>showmount -e</code>) está disponible. Si la conectividad funciona pero sigue inactivo, consulta <code>journalctl -u pvestatd</code> y la configuración del servidor/export. Corrige primero la conectividad o los permisos. <code>pvesm set &lt;id&gt; --disable 0</code> habilita un almacenamiento deshabilitado; no repara fallos NFS en general.",
"lxcNoWriteTitle": "El montaje fstab funciona pero un LXC unprivileged no puede escribir por un bind mount",
"lxcNoWriteBody": "Los permisos NFS se aplican del lado del servidor, no del host. Las opciones fstab (<code>uid=</code>, <code>file_mode=</code>) que funcionan para CIFS <strong>no</strong> se aplican a NFS. Si tu LXC unprivileged (root dentro del CT = UID 100000 en el host, mapeado a NFS como \"others\") no puede escribir, el servidor NFS o bien aplica squash a root o bien tiene permisos restrictivos. Arregla en el servidor: cambia el export a <code>no_root_squash</code> si confías en el host, o pon el export world-writable (Synology, TrueNAS, OMV exponen esto en su UI). El script intenta <code>chmod 1777</code> en el montaje pero eso solo tiene éxito cuando el servidor lo permite.",
"lxcNoWriteBody": "El acceso NFS depende de propiedad, ACL y squash en el servidor. Las opciones CIFS como <code>uid=</code> y <code>file_mode=</code> <strong>no</strong> se aplican a NFS. Con el mapeo LXC predeterminado, root del CT se convierte en UID 100000 del host, no en UID remoto 0. Da acceso al UID/GID mapeado real o a la identidad anónima del servidor. <code>no_root_squash</code> solo afecta al UID remoto 0, por lo que no resuelve todos los casos de UID 100000. El script intenta <code>chmod 1777</code>, pero no anula permisos del servidor.",
"fstabBootTitle": "El montaje fstab no se levanta tras el reinicio",
"fstabBootBody": "El script añade <code>nofail,_netdev</code> para que un share que falte al arranque no bloquee el inicio. Si el montaje nunca se levanta: confirma que la red es alcanzable (<code>ping &lt;server&gt;</code>), comprueba <code>journalctl -u remote-fs.target</code> y verifica que la entrada es válida con <code>mount -fav | grep nfs</code>. <code>mount -a</code> después del arranque monta todo lo que falte actualmente."
},
@@ -161,7 +161,7 @@
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "LXC Mount Manager",
"label": "Gestor de montajes LXC",
"tailRich": " — hacer bind mount de la ruta solo en fstab <code>/mnt/&lt;path&gt;</code> en uno o más contenedores."
},
{
@@ -1,8 +1,8 @@
{
"meta": {
"title": "Host: montar share Samba en el host | ProxMenux Documentation",
"title": "Host: montar recurso Samba en el host | Documentación de ProxMenux",
"description": "Monta un share Samba / CIFS externo en el host Proxmox — bien como almacenamiento de Proxmox (pvesm add cifs), bien como un montaje fstab del host normal con uid/gid/file_mode abiertos (NO visible en Datacenter > Storage), o ambos. El método fstab abre los permisos para que un LXC unprivileged que haga bind mount de la ruta pueda leer/escribir sin cambios dentro del contenedor.",
"ogTitle": "Host: montar share Samba en el host | ProxMenux Documentation",
"ogTitle": "Host: montar recurso Samba en el host | Documentación de ProxMenux",
"ogDescription": "Monta un share Samba / CIFS externo en el host Proxmox vía pvesm, fstab con permisos abiertos (ideal para bind mounts LXC), o ambos."
},
"header": {
@@ -12,12 +12,12 @@
},
"intro": {
"title": "Qué hace",
"body": "ProxMenux ofrece dos métodos de montaje para cualquier share Samba: <strong>(1) Almacenamiento de Proxmox</strong> vía <code>pvesm add cifs</code> — visible en Datacenter > Storage, montado en <code>/mnt/pve/&lt;id&gt;</code>, credenciales guardadas cifradas en <code>/etc/pve/priv/storage/&lt;id&gt;.pw</code>; <strong>(2) Montaje fstab del host</strong> en una ruta que tú elijas — persistente vía <code>/etc/fstab</code>, montado con <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> para que los bind mounts LXC unprivileged puedan escribir, credenciales guardadas en un archivo solo para root en <code>/etc/samba/credentials/</code> (la contraseña nunca aparece en <code>fstab</code>). Puedes ejecutar un método, el otro o ambos."
"body": "ProxMenux ofrece dos métodos para montar un recurso Samba: <strong>(1) Almacenamiento de Proxmox</strong> mediante <code>pvesm add cifs</code>, visible en Datacenter > Storage y montado en <code>/mnt/pve/&lt;id&gt;</code>. La contraseña se guarda en texto claro en <code>/etc/pve/priv/storage/&lt;id&gt;.pw</code>, protegida por el directorio privado accesible solo por root: es control de acceso, no cifrado. <strong>(2) Montaje fstab del host</strong> en una ruta elegida, persistente mediante <code>/etc/fstab</code> y montada con <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> para permitir la escritura desde bind mounts de LXC sin privilegios. Sus credenciales se guardan en un archivo accesible solo por root dentro de <code>/etc/samba/credentials/</code>, nunca directamente en <code>fstab</code>. Puedes utilizar cualquiera de los métodos o ambos."
},
"opening": {
"heading": "Abrir la herramienta",
"body": "Desde el menú principal de ProxMenux, abre <strong>Storage &amp; Share Manager → Mount Samba Share on Host</strong>. Verás este submenú con cuatro opciones:",
"imageAlt": "Menú Samba Host Manager — Mount / View / Remove / Test connectivity"
"imageAlt": "Menú Samba del host — Montar / Ver / Eliminar / Probar conectividad"
},
"howRuns": {
"heading": "Cómo se ejecuta el script",
@@ -41,26 +41,26 @@
"method": "<strong>Solo fstab del host</strong>",
"mountRich": "<code>/mnt/&lt;path&gt;</code> con uid/gid/file_mode abiertos",
"ui": "No",
"useCaseRich": "Hacer bind mount del share en uno o más LXCs <em>sin</em> exponerlo como almacenamiento de Proxmox. Los permisos abiertos garantizan que los CTs unprivileged puedan escribir a través del bind mount."
"useCaseRich": "Haz bind mount del recurso en uno o más LXC <em>sin</em> registrarlo como almacenamiento Proxmox. Los permisos locales abiertos facilitan el acceso desde CT sin privilegios, pero escribir sigue requiriendo permiso del servidor SMB para el usuario autenticado."
},
{
"method": "<strong>Ambos</strong>",
"mount": "Ambas rutas de arriba (dos conexiones CIFS independientes al servidor)",
"mount": "Ambas rutas anteriores (dos puntos de montaje del mismo export CIFS)",
"ui": "Sí",
"useCase": "Quieres integración con la UI Y una ruta estable del lado del host con permisos abiertos para bind mounts LXC. El montaje pvesm usa los valores por defecto de Proxmox; el montaje fstab aplica el uid/gid/file_mode abierto por separado."
}
],
"bothTitle": "\"Ambos\" crea dos conexiones CIFS independientes",
"bothBody": "pvesm y fstab montan el mismo share dos veces con opciones distintas. El montaje pvesm en <code>/mnt/pve/&lt;id&gt;</code> usa los valores por defecto de Proxmox (sin uid/gid abiertos) — la UI de Proxmox está contenta. El montaje fstab en <code>/mnt/&lt;path&gt;</code> usa <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> — los bind mounts LXC unprivileged a él pueden escribir. Dos conexiones TCP al servidor SMB desde el mismo host Proxmox."
"bothTitle": "«Ambos» crea dos puntos de montaje CIFS",
"bothBody": "pvesm monta en <code>/mnt/pve/&lt;id&gt;</code> con las opciones de Proxmox. fstab monta en <code>/mnt/&lt;path&gt;</code> con <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> para permitir acceso local mediante bind mounts LXC. El servidor SMB sigue aplicando los permisos del usuario del montaje. Son dos puntos de montaje; no garantizan dos conexiones TCP separadas."
},
"pvesmBranch": {
"heading": "Método A — Como almacenamiento de Proxmox (pvesm)",
"intro": "Si <em>Como almacenamiento de Proxmox</em> está marcado, ProxMenux ejecuta el flujo pvesm original:",
"items": [
"<strong>Storage ID</strong> — por defecto <code>cifs-&lt;server-ip-with-dashes&gt;</code>. Solo letras, dígitos, <code>-</code> y <code>_</code>.",
"<strong>Content types</strong> — CIFS expone <strong>6</strong> opciones (las mismas que NFS menos <code>rootdir</code>, que Proxmox no permite en CIFS porque la semántica de locking no puede sostener un rootfs LXC en vivo):"
"<strong>Tipos de contenido</strong> — este selector de ProxMenux ofrece <strong>6</strong> opciones. Omite <code>rootdir</code> respecto al selector NFS; es una decisión del script, no significa que todas las versiones del backend CIFS de Proxmox prohíban sistemas de archivos raíz LXC:"
],
"headerType": "Content type",
"headerType": "Tipo de contenido",
"headerAllows": "Qué permite",
"rows": [
{
@@ -89,16 +89,16 @@
}
],
"warnTitle": "Discos de VM en vivo en CIFS",
"warnBody": "Si marcas <code>images</code>, ProxMenux saca un aviso antes de continuar. CIFS usa un modelo de locking advisory que interactúa mal con las operaciones de disco de KVM (snapshots, migración en vivo, I/O bajo contención). Un almacén de backups o ISOs en CIFS es perfectamente correcto; un almacén de discos en vivo es buscarse problemas. Usa NFS (o almacenamiento local) para <code>images</code> cuando puedas.",
"warnBody": "Seleccionar <code>images</code> muestra un aviso: CIFS/SMB puede causar problemas de bloqueo en operaciones con discos de VM. El script recomienda NFS para imágenes de VM, pero permite continuar. Backups e ISO son usos habituales de CIFS. Evalúa bloqueos, instantáneas, migración y carga antes de usar CIFS para <code>images</code>.",
"credsTitle": "Dónde guarda pvesm las credenciales",
"credsBody": "Cuando usas autenticación de usuario, la contraseña NO se escribe en <code>/etc/pve/storage.cfg</code>. Proxmox la guarda en <code>/etc/pve/priv/storage/&lt;storage-id&gt;.pw</code> — modo <code>0600</code>, propietario <code>root</code>, miembro del cluster sync. Si más adelante cambias la contraseña en el servidor Samba, usa <code>pvesm set &lt;id&gt; --password &lt;new&gt;</code> o elimina y vuelve a añadir a través de ProxMenux."
"credsBody": "La contraseña no se escribe en <code>/etc/pve/storage.cfg</code>. Proxmox guarda credenciales en texto plano en <code>/etc/pve/priv/storage/&lt;storage-id&gt;.pw</code>, dentro del área privada del sistema de archivos del clúster, que solo puede leer <code>root</code> (modo <code>0600</code>); están protegidas por permisos, no por cifrado. Tras cambiar la contraseña en el servidor, usa <code>pvesm set &lt;id&gt; --password &lt;new&gt;</code> o elimina y vuelve a añadir desde ProxMenux."
},
"fstabBranch": {
"heading": "Método B — Solo montaje fstab del host",
"intro": "Si <em>Solo como montaje fstab del host</em> está marcado, ProxMenux pide una ruta de montaje del host y opciones persistentes, escribe un archivo de credenciales solo para root (modo User), luego monta y escribe la entrada en <code>/etc/fstab</code>:",
"items": [
"<strong>Ruta de montaje del host</strong> — por defecto <code>/mnt/&lt;share-name&gt;</code>. Debe ser una ruta absoluta. Si algo ya está montado ahí, o existe una entrada fstab, ProxMenux ofrece reemplazarla.",
"<strong>Mount options</strong> — elige <em>Read/Write</em> (por defecto con <code>rw,uid=0,gid=0,file_mode=0777,dir_mode=0777,iocharset=utf8,nofail,_netdev</code>), <em>Read-only</em> (variante de solo lectura con <code>file_mode=0555,dir_mode=0555</code>), o <em>Custom</em> (escribe tu propia cadena de opciones). El uid/gid/file_mode abiertos siempre se recomiendan para escrituras a través de bind mount LXC."
"<strong>Opciones de montaje</strong> — <em>Lectura/escritura</em> (predeterminado: <code>rw,uid=0,gid=0,file_mode=0777,dir_mode=0777,iocharset=utf8,nofail,_netdev</code>), <em>Solo lectura</em> (<code>file_mode=0555,dir_mode=0555</code>), <em>Personalizado</em> (escribe tus opciones). El script recomienda uid/gid/file_mode abiertos para escrituras mediante bind mounts LXC."
],
"credsTitle": "Archivo de credenciales (modo User)",
"credsBody": "Si te autenticaste con usuario + contraseña, ProxMenux escribe un archivo de credenciales solo para root en <code>/etc/samba/credentials/&lt;server&gt;_&lt;share&gt;.cred</code> (modo <code>0600</code>) con líneas <code>username=</code> y <code>password=</code>, y lo referencia en la entrada fstab vía la opción de montaje <code>credentials=</code>. El texto en claro nunca aterriza en <code>/etc/fstab</code>. Para el modo Guest, en su lugar se añade la opción <code>guest</code> y no se crea archivo de credenciales.",
@@ -110,9 +110,9 @@
"Ejecuta <code>systemctl daemon-reload</code> para que systemd recoja la nueva entrada fstab."
],
"lxcTitle": "Usar el montaje fstab desde un LXC unprivileged",
"lxcBody": "Como el cliente CIFS aplica <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>, cada archivo en el montaje pertenece al UID 0 del host con modo 0777. Un LXC unprivileged que haga bind mount de la ruta ve permisos \"others\" en cada entrada (root del CT = UID 100000 del host = others en el sistema de archivos del host), así que las lecturas y escrituras tienen éxito. <strong>No se hacen cambios dentro del contenedor</strong> — sin <code>chown</code> en el CT, sin configuración de grupo, nada modificado en <code>/etc/lxc</code> más allá de la única línea <code>mp</code> de bind mount. El script imprime el comando <code>pct set</code> exacto al final, o usa el <mountLink>LXC Mount Manager</mountLink> para adjuntar la ruta.",
"lxcBody": "Las opciones CIFS <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> abren las comprobaciones locales de permisos para bind mounts LXC. Las ACL del servidor y la semántica Unix/POSIX negociada aún pueden afectar al acceso. <strong>No se cambia nada dentro del contenedor</strong>: ni <code>chown</code> en el CT, ni grupos, ni ediciones de <code>/etc/lxc</code>. La línea <code>mp</code> se gestiona en la configuración Proxmox del CT. Usa el comando <code>pct set</code> mostrado o <mountLink>LXC Mount Manager</mountLink>.",
"noUiTitle": "El montaje fstab NO es un almacenamiento de Proxmox",
"noUiBody": "El montaje fstab del host es invisible para la UI web de Proxmox — por diseño. No aparece en <em>Datacenter > Storage</em>, no puedes seleccionarlo en el creador de VM / CT y los trabajos de backup de Proxmox no pueden apuntarlo. Es puramente una ruta del sistema de archivos del host. Si quieres también integración con la UI, marca <em>ambos</em> métodos en el selector."
"noUiBody": "El montaje fstab del host es invisible para la UI web de Proxmox — por diseño. No aparece en <em>Datacenter > Storage</em>, no puedes seleccionarlo en el creador de VM / CT, y los trabajos de backup de Proxmox no pueden apuntarlo. Es puramente una ruta del sistema de archivos del host. Si quieres también integración con la UI, marca <em>ambos</em> métodos en el selector."
},
"manual": {
"heading": "Equivalente manual",
@@ -121,12 +121,12 @@
"fstabGuestIntro": "Método B (fstab, auth guest) — sin archivo de credenciales:"
},
"view": {
"heading": "Ver almacenamientos CIFS configurados",
"body": "Lista cada entrada CIFS en Proxmox (<code>pvesm status | awk ''$2 == \"cifs\"''</code>) con servidor, share, content types, usuario (o <em>Guest</em>), ruta de montaje y estado en vivo. La contraseña <strong>nunca se imprime</strong>. <strong>Nota:</strong> esta vista solo muestra almacenamientos registrados con pvesm — los montajes solo en fstab no se listan. Compruébalos con <code>findmnt -t cifs</code> o <code>grep cifs /etc/fstab</code>."
"heading": "Ver almacenamientos CIFS y montajes del host",
"body": "Muestra almacenamientos CIFS registrados (<code>pvesm status | awk ''$2 == \"cifs\"''</code>) con servidor, recurso, contenido, usuario o <em>Invitado</em>, ruta y estado. Las contraseñas <strong>nunca se muestran</strong>. <strong>Nota:</strong> otra sección lista montajes fstab del host, sus opciones, ruta del archivo de credenciales y estado activo/inactivo. Para comprobarlo manualmente usa <code>findmnt -t cifs</code> o <code>grep cifs /etc/fstab</code>."
},
"remove": {
"heading": "Eliminar almacenamiento CIFS",
"body": "Ejecuta <code>pvesm remove &lt;storage-id&gt;</code> tras una confirmación que muestra servidor / share / contenido. Solo se elimina el registro del lado de Proxmox — <strong>el servidor Samba remoto no se toca</strong>. Proxmox también borra el archivo de credenciales emparejado. Para eliminar un montaje solo en fstab, edita <code>/etc/fstab</code> a mano, ejecuta <code>umount &lt;path&gt;</code> y elimina el archivo de <code>/etc/samba/credentials/</code>.",
"heading": "Eliminar almacenamiento CIFS o montaje del host",
"body": "El selector ofrece almacenamientos pvesm y montajes fstab del host. Para pvesm ejecuta <code>pvesm remove &lt;storage-id&gt;</code> y Proxmox borra las credenciales asociadas. Para fstab intenta <code>umount &lt;path&gt;</code>, elimina la entrada de <code>/etc/fstab</code> y las credenciales de <code>/etc/samba/credentials/</code>, y elimina el directorio de montaje si está vacío. Si falla el desmontaje, debes hacerlo manualmente o reiniciar. <strong>No modifica el servidor Samba remoto ni sus archivos</strong>.",
"warnTitle": "Haz backup de las dependencias primero",
"warnBody": "Las VMs, CTs o trabajos de backup que referencien este almacenamiento por ID fallarán tras la eliminación. Mueve / elimina esas referencias antes de eliminar el almacenamiento."
},
@@ -136,16 +136,16 @@
},
"troubleshoot": {
"heading": "Solución de problemas",
"noServersTitle": "\"No Samba servers found on the network\"",
"noServersTitle": "\"No se encontraron servidores Samba en la red\"",
"noServersBody": "El auto-descubrimiento usa <code>nmap -p 139,445</code>. El servidor puede estar en una subnet diferente, con firewall o solo alcanzable por hostname (mDNS / WINS). Usa la opción <em>Manual</em> con la IP o hostname en su lugar.",
"noSharesTitle": "\"No accessible shares found\"",
"noSharesTitle": "«No se encontraron recursos compartidos accesibles»",
"noSharesBody": "<code>smbclient -L</code> no devolvió nada para estas credenciales. Causas: el usuario no tiene permiso para listar shares (prueba con credenciales de admin una vez, o escribe el nombre del share manualmente), el servidor tiene la visibilidad de shares deshabilitada o las credenciales son incorrectas. El script te permite escribir el nombre del share a mano en este caso.",
"denyTitle": "El montaje de Proxmox falla con NT_STATUS_ACCESS_DENIED",
"denyBody": "Las credenciales que pvesm guardó están desincronizadas con el servidor Samba (contraseña cambiada, cuenta deshabilitada, mismatch de domain / workgroup). Vuelve a introducir credenciales con <code>pvesm set &lt;id&gt; --username &lt;u&gt; --password &lt;p&gt;</code> o elimina y vuelve a añadir desde ProxMenux. Si el servidor está en un dominio AD, añade <code>--domain &lt;DOMAIN&gt;</code> a la llamada <code>pvesm set</code>.",
"sleepTitle": "\"host is down\" o el estado del almacenamiento pasa a inactive por la noche",
"sleepBody": "Algunos appliances NAS ponen SMB en suspensión agresivamente. <code>pvestatd</code> entonces ve el almacenamiento como inactive hasta que el primer acceso despierta al NAS. Si es cosmético, no hay nada roto. Si causa fallos de backup, deshabilita la desconexión por idle de SMB en el NAS o programa los backups fuera de la ventana de suspensión.",
"lxcNoWriteTitle": "El bind mount LXC unprivileged no puede escribir en la ruta fstab",
"lxcNoWriteBody": "Confirma que el montaje usa las opciones abiertas: <code>findmnt /mnt/&lt;path&gt;</code> debería mostrar <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>. Si una cadena de opciones Custom omite esas, un LXC unprivileged tendrá permission denied (los UIDs del CT mapean a \"others\" del host, que sin file_mode abierto no tienen bit de escritura). Vuelve a montar con el preset RW por defecto o añade las cuatro opciones de vuelta a tu cadena custom.",
"lxcNoWriteBody": "Comprueba en <code>findmnt /mnt/&lt;path&gt;</code> las opciones previstas, como <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>. La falta de permisos locales de escritura puede bloquear los UID mapeados de LXC. Reaplica el perfil RW o ajusta las opciones personalizadas. Verifica también que el usuario SMB pueda escribir en el servidor y si las extensiones Unix/POSIX proporcionan sus modos; los modos locales abiertos no anulan las ACL del servidor.",
"fstabBootTitle": "El montaje fstab no se levanta tras el reinicio",
"fstabBootBody": "El script añade <code>nofail,_netdev</code> para que un share que falte al arranque no bloquee el inicio. Si el montaje nunca se levanta: confirma que la red es alcanzable (<code>ping &lt;server&gt;</code>), comprueba <code>journalctl -u remote-fs.target</code>, verifica que el archivo de credenciales sigue existiendo (<code>ls -l /etc/samba/credentials/</code>) y es legible, y prueba <code>mount -a</code> manualmente."
},
@@ -159,7 +159,7 @@
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "LXC Mount Manager",
"label": "Gestor de montajes LXC",
"tailRich": " — hacer bind mount de la ruta solo en fstab <code>/mnt/&lt;path&gt;</code> en uno o más contenedores."
},
{
@@ -8,7 +8,7 @@
"twitterDescription": "Añade NFS / Samba / iSCSI como almacenamiento de Proxmox y comparte carpetas entre el host y LXC."
},
"header": {
"title": "Storage & Share Manager",
"title": "Gestor de almacenamiento y recursos compartidos",
"description": "Integra almacenamiento externo o local en Proxmox VE y comparte carpetas entre el host y los contenedores LXC. Tres bloques de herramientas: integración de almacenamiento en el host (registra almacenamiento en el propio Proxmox), el LXC Mount Manager (bind mounts con un manejo pragmático de permisos) y compartición por red en LXC (flujos de cliente y servidor NFS / Samba para casos de uso concretos).",
"section": "Almacenamiento y compartición"
},
@@ -31,7 +31,7 @@
"Disco local → almacenamiento Proxmox directory o ZFS",
"Directorio local compartido (para bind mounts entre CTs)"
],
"lxcMountTitle": "LXC Mount Manager",
"lxcMountTitle": "Gestor de montajes LXC",
"lxcMountBody": "La herramienta principal de compartición LXC. Hace bind mount de directorios del host dentro de los contenedores vía <code>pct set -mpN</code> y gestiona las particularidades de permisos de los CTs unprivileged sin crear ningún grupo o usuario dentro del contenedor.",
"lxcMountItems": [
"Funciona con CTs privileged y unprivileged",
@@ -82,7 +82,7 @@
]
},
"lxcMount": {
"heading": "LXC Mount Manager",
"heading": "Gestor de montajes LXC",
"intro": "La herramienta principal para compartir carpetas entre el host Proxmox y los contenedores LXC. Usa <code>pct set -mpN</code> para hacer bind mount de un directorio del host dentro del contenedor, y gestiona las particularidades de permisos de los CTs unprivileged en el lado del host (no se crea ningún grupo ni usuario dentro del contenedor).",
"card": {
"title": "Puntos de montaje LXC (host ↔ CT)",
@@ -121,7 +121,7 @@
},
"privReq": {
"title": "Requisito de contenedor privileged",
"body": "Los cuatro flujos de <strong>compartición por red en LXC</strong> de arriba requieren un contenedor <strong>privileged</strong> — los módulos de kernel (<code>nfs-kernel-server</code>, <code>smbd</code>, <code>mount.nfs</code>, <code>mount.cifs</code>) necesitan capabilities que los CTs unprivileged no exponen. Si solo necesitas compartir archivos entre el host y un CT unprivileged, usa el <mountLink>LXC Mount Manager</mountLink> en su lugar — hace bind mount desde el host y ajusta los permisos en el lado del host para que el contenedor pueda leer y escribir sin trucos de módulos de kernel."
"body": "Los cuatro flujos de <strong>compartición por red en LXC</strong> anteriores requieren un contenedor <strong>privilegiado</strong>. Los scripts exigen este modo antes de configurar los servicios y herramientas de montaje (<code>nfs-kernel-server</code>, <code>smbd</code>, <code>mount.nfs</code>, <code>mount.cifs</code>). Si solo necesitas compartir archivos entre el host y un CT sin privilegios, usa el <mountLink>LXC Mount Manager</mountLink>: hace bind mount desde el host y ajusta allí los permisos para que el contenedor pueda leer y escribir sin configurar esos servicios o herramientas dentro de él."
},
"unprivExplain": {
"title": "Cómo gestiona ProxMenux los permisos de CT unprivileged",
@@ -1,8 +1,8 @@
{
"meta": {
"title": "Puntos de montaje LXC (host ↔ contenedor) | ProxMenux Documentation",
"title": "Puntos de montaje LXC (host ↔ contenedor) | Documentación de ProxMenux",
"description": "El LXC Mount Manager — bind mount de cualquier directorio del host en uno o más contenedores LXC vía pct set -mpN. Gestiona las particularidades de permisos de los contenedores unprivileged, repara montajes CIFS / NFS existentes en el lado del host y nunca modifica nada dentro del contenedor.",
"ogTitle": "Puntos de montaje LXC (host ↔ contenedor) | ProxMenux Documentation",
"ogTitle": "Puntos de montaje LXC (host ↔ contenedor) | Documentación de ProxMenux",
"ogDescription": "Bind mount de directorios del host en contenedores LXC. Gestiona el mapeo de UIDs unprivileged de forma pragmática, repara el acceso CIFS / NFS en el lado del host."
},
"header": {
@@ -24,7 +24,7 @@
"arrowLabel": "bind mount",
"outro": "La ruta del host a la izquierda y la ruta del contenedor a la derecha pueden ser diferentes — por ejemplo, <code>/mnt/nas-films</code> en el host puede convertirse en <code>/media/films</code> dentro del contenedor. El script añade la entrada a la config del contenedor (<code>/etc/pve/lxc/&lt;ctid&gt;.conf</code>) usando el siguiente índice <code>mpN</code> libre, con dos valores por defecto seguros incorporados:",
"items": [
"<code>shared=1</code> — le dice a Proxmox que los datos son almacenamiento compartido, así que no intenta migrar el disco al migrar el contenedor.",
"<code>shared=1</code> — indica a Proxmox que el montaje usa datos compartidos, por lo que no los migra con el CT. Esta opción no replica datos: la misma ruta y los mismos datos deben estar disponibles en el nodo destino.",
"<code>backup=0</code> — excluye el bind mount de los backups <code>vzdump</code> (los datos viven en el host, los respaldas por separado)."
]
},
@@ -64,12 +64,12 @@
"idmapChangesRich": "Mapeo personalizado de UID/GID en <code>/etc/pve/lxc/&lt;CTID&gt;.conf</code> más entradas correspondientes en <code>/etc/subuid</code> + <code>/etc/subgid</code> en el host. El CT debe reiniciarse en cada cambio.",
"idmapWhenRich": "Necesitas que un UID <em>específico</em> dentro del CT mapee a un UID <em>específico</em> en el host (p. ej. <code>media:1000</code> en el CT debe poseer archivos como <code>media:1000</code> en el host para que NFS no aplique squash). Un setup más rígido, normalmente solo merece la pena para ese escenario exacto.",
"idmapTipTitle": "Cuándo necesitas lxc.idmap de verdad",
"idmapTipBody": "Si el LXC Mount Manager no cubre tu caso — típicamente porque necesitas que los archivos escritos desde dentro del CT aterricen en el host como un UID/GID específico (exports NFS con <code>all_squash</code>, shares Samba con propiedad estricta, compartir un directorio con un usuario del host que tiene el mismo nombre que alguien dentro del CT) — ese es el momento de añadir entradas <code>lxc.idmap</code> a mano. El Mount Manager no te peleará: la línea de bind mount que escribió es independiente de cualquier configuración idmap que añadas después."
"idmapTipBody": "Usa mapeo manual de ID cuando los archivos escritos en el CT deban aparecer en el host con un UID/GID numérico concreto, por ejemplo para compartir propietario con un usuario del host. No anula <code>all_squash</code> de NFS: el servidor sigue decidiendo la identidad anónima y sus permisos. Añade entradas <code>lxc.idmap</code> a mano si hace falta. La línea de bind mount es independiente de esas entradas."
},
"opening": {
"heading": "Abrir la herramienta",
"body": "Desde el menú principal de ProxMenux, abre <strong>Storage &amp; Share Manager → Configure LXC Mount Points (Host ↔ Container)</strong>. Verás este submenú con tres opciones:",
"imageAlt": "Menú LXC Mount Manager — Add / View / Remove"
"imageAlt": "Menú LXC Mount Manager — Añadir / Ver / Eliminar"
},
"addFlow": {
"heading": "Añadir un montaje — flujo completo",
@@ -123,7 +123,7 @@
},
"remove": {
"heading": "Eliminar un punto de montaje",
"body": "Elige el contenedor, elige la entrada <code>mpN</code>, confirma. El script ejecuta <code>pct set --delete mpN</code> para quitar la entrada de la config del CT y ofrece reiniciar el contenedor si está corriendo. El directorio del host y su contenido <strong>no se tocan</strong> — puedes volver a añadir el montaje después (o adjuntar el mismo directorio a un CT distinto).",
"body": "Elige el contenedor, elige la entrada <code>mpN</code>, confirma. El script ejecuta <code>pct set --delete mpN</code> para eliminar la entrada de la config del CT y ofrece reiniciar el contenedor si está corriendo. El directorio del host y su contenido <strong>no se tocan</strong> — puedes volver a añadir el montaje después (o adjuntar el mismo directorio a un CT distinto).",
"warnTitle": "Los contenedores en ejecución necesitan un reinicio para que los cambios surtan efecto",
"warnBody": "Tanto añadir como eliminar puntos de montaje solo se hacen visibles dentro del contenedor tras un reinicio. El script ofrece un <code>pct reboot</code> de un clic al final de cada operación; puedes declinar y reiniciar manualmente después."
},
@@ -133,7 +133,7 @@
"noMountBody": "Los bind mounts solo se adjuntan cuando el contenedor arranca. Si añadiste el montaje mientras el CT estaba corriendo, reinícialo (<code>pct reboot &lt;ctid&gt;</code>). Si ya está reiniciado y sigue faltando, comprueba <code>pct config &lt;ctid&gt;</code> para confirmar que la entrada existe y que la ruta del host realmente contiene un directorio.",
"noWriteTitle": "El contenedor puede ver el directorio pero no puede escribir",
"noWriteBody": "Casi siempre un problema de permisos. Para contenedores unprivileged, ejecuta de nuevo el fix de permisos del script — las ACLs del directorio del host pueden haber sido reseteadas por otra herramienta (rsync, restore desde backup, <code>chmod</code> manual). Para CIFS, revisa las opciones de montaje en el host: <code>findmnt /mnt/pve/cifs-…</code>, busca valores <code>uid=</code> / <code>gid=</code> / <code>file_mode=</code>.",
"alreadyTitle": "\"This path is already used as a mount point in this container\"",
"alreadyTitle": "\"Esta ruta ya se utiliza como punto de montaje en este contenedor\"",
"alreadyBody": "Elegiste la misma ruta del contenedor que ya está cableada a un directorio del host distinto. O elige una ruta del contenedor diferente, o elimina el punto de montaje existente primero.",
"nfsTitle": "El acceso NFS sigue bloqueado tras aplicar el fix del host",
"nfsIntro": "Tu servidor NFS está aplicando squash a root o a todas las conexiones. El script puede detectar esto (intenta escribir un archivo de prueba desde el host) y muestra guía del lado del servidor. Dos arreglos comunes del lado del servidor para el export:",
@@ -21,7 +21,7 @@
"diagramServerDetail": "/export/data",
"diagramHostLabel": "Host Proxmox",
"diagramHostDetail": "(solo un\npuente de red)",
"diagramCtLabel": "LXC (privileged)",
"diagramCtLabel": "LXC (con privilegios)",
"diagramCtDetail": "/mnt/data\nmount.nfs dentro del CT",
"diagramArrow": "NFS",
"twoWaysTitle": "Dos formas de dar acceso NFS a un CT — elige una",
@@ -39,7 +39,7 @@
"fstabFlags": {
"heading": "Por qué esos flags de fstab",
"intro": "Para montajes permanentes el script añade tres flags más allá de las opciones NFS estándar: <code>_netdev,x-systemd.automount,noauto</code>. Cada uno resuelve un problema real de boot:",
"headerFlag": "Flag",
"headerFlag": "Bandera",
"headerEffect": "Qué hace",
"rows": [
{
@@ -52,11 +52,11 @@
},
{
"flag": "noauto",
"effect": "Salta el montaje eager al arrancar. Combinado con la unit automount de arriba, el montaje se establece de forma lazy en el primer acceso."
"effect": "Omite el montaje inmediato al arrancar. Con la unidad automount anterior, el montaje se realiza al primer acceso."
}
],
"netEffectTitle": "Efecto neto",
"netEffectBody": "Tu contenedor siempre arranca, incluso si el servidor NFS está offline. La primera vez que algo toca la ruta de montaje, systemd lo monta silenciosamente. Si el servidor sigue caído, ese único acceso falla con <em>resource temporarily unavailable</em> — pero nada más en el CT se ve afectado."
"netEffectBody": "El sistema de archivos NFS se monta en el <em>primer acceso</em>, en lugar de hacerlo inmediatamente al arrancar. Si el servidor no está disponible, ese acceso puede esperar o fallar y afectar a los servicios que dependen de la ruta. Automount reduce la dependencia durante el arranque, pero no garantiza que todos los servicios del CT queden al margen del fallo."
},
"manual": {
"heading": "Equivalente manual",
@@ -80,7 +80,7 @@
"heading": "Solución de problemas",
"privTitle": "Contenedor privileged requerido (el script aborta)",
"privBody": "El CT seleccionado es unprivileged. El cliente NFS del kernel necesita la capability <code>SYS_ADMIN</code> que los CTs unprivileged no exponen. O bien convierte el CT a privileged (la conversión &amp; Disk Manager está documentada en la página <importLink>Import Disk to LXC</importLink>) o usa la ruta alternativa descrita en el aviso al inicio de esta página.",
"aptTitle": "apt-get install nfs-common falla",
"aptTitle": "apt-get install nfs-common fails",
"aptIntro": "El script asume un CT de la familia Debian (<code>apt-get</code>). Si el CT corre Alpine / Arch / Rocky / Alma, el paso de instalación falla silenciosamente. Instala el cliente NFS a mano para esa distro:",
"aptItems": [
"Alpine: <code>apk add nfs-utils</code>",
@@ -27,9 +27,9 @@
"heading": "La convención del grupo \"sharedfiles\"",
"body": "Antes de exportar la carpeta, ProxMenux crea un grupo llamado <code>sharedfiles</code> con <strong>GID 101000</strong> dentro del contenedor, añade cada usuario regular a él, luego pone el directorio del export a <code>root:sharedfiles</code> con modo <code>2775</code>. El <code>2</code> al principio es el bit SGID — cada archivo o carpeta creada dentro hereda automáticamente el grupo <code>sharedfiles</code>.",
"gidTitle": "Por qué GID 101000 específicamente",
"gidBody": "Mapea al GID <strong>1000</strong> del host cuando un contenedor unprivileged lee el mismo archivo (el idmap por defecto de LXC desplaza todo en +100000). En el flujo actual de ProxMenux el propio servidor NFS corre en un CT <strong>privileged</strong> (sin desplazamiento de su lado), pero la convención mantiene el GID numéricamente consistente con CTs cliente unprivileged que puedan montar este share después. Dos CTs privileged usando ambos <code>sharedfiles</code> con GID 101000 pueden leer / escribir los archivos del otro limpiamente porque los números de GID coinciden de principio a fin.",
"remapTitle": "El script también crea usuarios 'remap_*' — son vestigiales aquí",
"remapBody": "Por cada usuario regular en el CT (y para UIDs comunes como 33 = www-data, 1000, 1001, 1002), el script crea un usuario paralelo <code>remap_&lt;uid&gt;</code> con UID = <code>&lt;uid&gt; + 100000</code>, todos miembros de <code>sharedfiles</code>. El desplazamiento <code>+100000</code> imita el idmap unprivileged de LXC, pero como este script impone un CT <strong>privileged</strong> (sin desplazamiento), esos usuarios <code>remap_*</code> son cuentas shadow sin contraparte real en el host. Son restos inofensivos de una intención de diseño más ambiciosa. Si no los ves en <code>getent passwd</code>, no se rompe nada."
"gidBody": "Con el mapa de ID predeterminado de LXC (+100000), el GID 101000 del host aparece como GID <strong>1000</strong> dentro de un CT sin privilegios. Este flujo de servidor usa un CT <strong>con privilegios</strong>, donde no hay desplazamiento. Dos CT con privilegios que usen <code>sharedfiles</code> con GID 101000 comparten el mismo ID numérico de grupo.",
"remapTitle": "La creación heredada de usuarios «remap_*» se omite en CT con privilegios",
"remapBody": "La rama heredada para CT sin privilegios crearía usuarios <code>remap_&lt;uid&gt;</code> con UID <code>&lt;uid&gt; + 100000</code>, todos en <code>sharedfiles</code>, para usuarios normales y UID habituales (33, 1000, 1001, 1002). Este desplazamiento <code>+100000</code> no se aplica a los CT <strong>con privilegios</strong> exigidos por este flujo, por lo que el script omite esa rama. Es normal que no aparezcan cuentas <code>remap_*</code> en <code>getent passwd</code>; no indica un fallo."
},
"defaults": {
"heading": "Opciones de export por defecto — léelo primero",
@@ -39,7 +39,7 @@
"opening": {
"heading": "Abrir la herramienta",
"body": "Desde el menú principal de ProxMenux, abre <strong>Storage &amp; Share Manager → Configure NFS Server in LXC (only privileged)</strong>. ProxMenux te pide primero elegir el CT destino (y lo arranca si está parado); aborta si es unprivileged. Una vez seleccionado el CT ves este submenú con cinco opciones:",
"imageAlt": "Menú NFS Server Manager — Create / View / Delete / Status / Uninstall"
"imageAlt": "Menú del servidor NFS — Crear / Ver / Eliminar / Estado / Desinstalar"
},
"howRuns": {
"heading": "Cómo se ejecuta el script (flujo Create)"
@@ -79,7 +79,7 @@
},
{
"option": "sync",
"effectRich": "Responder a las peticiones de escritura solo después de que los datos estén en disco. Más seguro que <code>async</code> a costa de throughput."
"effectRich": "Responde a las peticiones de escritura solo cuando los datos están en disco. Más seguro que <code>async</code>, a costa del rendimiento."
},
{
"option": "no_subtree_check",
@@ -97,7 +97,7 @@
},
"view": {
"heading": "Ver exports actuales",
"body": "Cat de <code>/etc/exports</code> desde dentro del CT (saltando comentarios / blancos) e imprime cada export con su ACL de red y cadena de opciones. Útil para comprobar qué carpetas están expuestas antes de compartir la IP del CT con alguien."
"body": "Muestra <code>/etc/exports</code> desde dentro del CT, omitiendo comentarios y líneas vacías, y presenta cada export con su ACL de red y opciones. Útil para comprobar qué carpetas están expuestas antes de compartir la IP del CT."
},
"delete": {
"heading": "Eliminar un export",
@@ -115,9 +115,9 @@
},
"troubleshoot": {
"heading": "Solución de problemas",
"privTitle": "Contenedor privileged requerido (el script aborta)",
"privTitle": "Se requiere un contenedor con privilegios (el script se detiene)",
"privBody": "El CT seleccionado es unprivileged. <code>nfs-kernel-server</code> no puede arrancar ahí porque montar <code>/proc/fs/nfsd</code> necesita <code>CAP_SYS_ADMIN</code> en el namespace del kernel del host, y el módulo <code>nfsd</code> tampoco está expuesto al namespace del contenedor (<code>modprobe nfsd</code> desde dentro devuelve <code>FATAL: Module nfsd not found</code>). Si te saltas el gate, verás <code>rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory)</code> en el journal y ningún puerto NFS llegará a abrirse. Las únicas opciones viables son: convertir el CT a privileged, o mover el servidor NFS a una VM.",
"aptTitle": "apt-get install falla",
"aptTitle": "Falla apt-get install",
"aptIntro": "El script asume un CT de la familia Debian. En Alpine / Arch / Rocky / Alma, instala los paquetes del servidor NFS a mano:",
"aptItems": [
"Alpine: <code>apk add nfs-utils</code>",
@@ -12,7 +12,7 @@
},
"privReq": {
"title": "Contenedor privileged requerido",
"body": "El cliente <code>mount.cifs</code> del kernel necesita capabilities (<code>SYS_ADMIN</code> como mínimo) que los contenedores LXC unprivileged no exponen. El script lo impone — te pide elegir un CT y <strong>aborta si es unprivileged</strong>. Si necesitas el share dentro de un CT unprivileged, móntalo en el host Proxmox primero (con <hostSambaLink>Samba / CIFS como almacenamiento de Proxmox</hostSambaLink>) y hazle bind mount en el CT con el <mountLink>LXC Mount Manager</mountLink>."
"body": "El cliente <code>mount.cifs</code> del kernel necesita capabilities (<code>SYS_ADMIN</code> como mínimo) que los contenedores LXC unprivileged no exponen. El script lo impone — te pide elegir un CT y <strong>aborta si es unprivileged</strong>. Si necesitas el share dentro de un CT unprivileged, móntalo en el host Proxmox primero (con <hostSambaLink>Share Samba / CIFS como almacenamiento de Proxmox</hostSambaLink>) y hazle bind mount en el CT con el <mountLink>LXC Mount Manager</mountLink>."
},
"what": {
"heading": "Qué hace",
@@ -21,7 +21,7 @@
"diagramServerDetail": "//srv/share",
"diagramHostLabel": "Host Proxmox",
"diagramHostDetail": "(solo un\npuente de red)",
"diagramCtLabel": "LXC (privileged)",
"diagramCtLabel": "LXC (con privilegios)",
"diagramCtDetail": "/mnt/share\nmount.cifs dentro del CT",
"diagramArrow": "CIFS",
"twoWaysTitle": "Dos formas de dar a un CT un share Samba — elige una",
@@ -30,7 +30,7 @@
},
"opening": {
"heading": "Abrir la herramienta",
"body": "Desde el menú principal de ProxMenux, abre <strong>Storage &amp; Share Manager → Configure Samba Client in LXC (only privileged)</strong>. ProxMenux te pide primero <strong>elegir el CT destino</strong> (y lo arranca si está parado); aborta si es unprivileged. Una vez seleccionado el CT ves este submenú:",
"body": "Desde el menú principal de ProxMenux, abre <strong>Storage &amp; Share Manager → Configure Samba Client in LXC (only privileged)</strong>. ProxMenux te pide primero <strong>elegir el CT destino</strong> (y lo arranca si está parado); aborta si es unprivileged. Una vez seleccionado el CT, ves este submenú:",
"imageAlt": "Menú Samba Client Manager — Mount / View / Unmount / Test connectivity"
},
"howRuns": {
@@ -38,7 +38,7 @@
},
"creds": {
"heading": "Dónde vive la contraseña",
"body": "ProxMenux <strong>nunca guarda la contraseña en texto plano</strong> en el comando de montaje ni en <code>/etc/fstab</code>. En su lugar escribe un archivo de credenciales dentro del CT:",
"body": "ProxMenux <strong>no incluye la contraseña en el comando de montaje</strong> ni en <code>/etc/fstab</code>. La guarda en un archivo de credenciales dentro del CT. Ese archivo contiene las credenciales en texto plano protegidas con permisos solo para root; no está cifrado:",
"whyTitle": "Por qué un archivo separado en vez de fstab",
"whyBody": "El módulo CIFS acepta opciones <code>username=</code> / <code>password=</code> en línea en fstab, pero cualquiera que pueda leer <code>/etc/fstab</code> ve la contraseña en claro. Poner las credenciales en un archivo solo para root y apuntar fstab a él (<code>credentials=</code>) mantiene la contraseña fuera de la config legible por todos."
},
@@ -81,11 +81,11 @@
},
{
"option": "noauto",
"effect": "Salta el montaje eager al arrancar. Combinado con la unit automount, el montaje se establece de forma lazy."
"effect": "Omite el montaje inmediato al arrancar. Con la unidad automount, el montaje se realiza al primer acceso."
}
],
"netEffectTitle": "Efecto neto de los flags fstab",
"netEffectBody": "Tu contenedor siempre arranca, incluso si el servidor Samba está offline. La primera vez que algo toca la ruta de montaje, systemd lo monta silenciosamente. Si el servidor sigue caído, ese único acceso falla con <em>resource temporarily unavailable</em> — pero nada más en el CT se ve afectado."
"netEffectBody": "El sistema de archivos CIFS se monta en el <em>primer acceso</em>, en lugar de hacerlo inmediatamente al arrancar. Si el servidor no está disponible, ese acceso puede esperar o fallar y afectar a los servicios que dependen de la ruta. Automount reduce la dependencia durante el arranque, pero no garantiza que todos los servicios del CT queden al margen del fallo."
},
"manual": {
"heading": "Equivalente manual",
@@ -110,7 +110,7 @@
"heading": "Solución de problemas",
"privTitle": "Contenedor privileged requerido (el script aborta)",
"privBody": "El CT seleccionado es unprivileged. El cliente CIFS del kernel necesita la capability <code>SYS_ADMIN</code> que los CTs unprivileged no exponen. O bien convierte el CT a privileged, o usa la ruta alternativa descrita en el aviso al inicio de esta página.",
"aptTitle": "apt-get install falla",
"aptTitle": "apt-get install fails",
"aptIntro": "El script asume un CT de la familia Debian (<code>apt-get</code>). En Alpine / Arch / Rocky / Alma, instala el cliente CIFS a mano:",
"aptItems": [
"Alpine: <code>apk add cifs-utils samba-client</code>",
@@ -118,7 +118,7 @@
"Rocky / Alma: <code>dnf install cifs-utils samba-client</code>"
],
"aptOutro": "Después reejecuta el script de ProxMenux — el paso de instalación se salta cuando las herramientas ya están presentes.",
"guestFallbackTitle": "\"The server connected you as guest instead of the specified user\"",
"guestFallbackTitle": "\"El servidor te conectó como invitado en lugar de con el usuario indicado\"",
"guestFallbackBody": "La validación activa del script detectó un problema real de auth. El servidor aceptó la conexión pero la degradó a guest porque las credenciales son incorrectas. Causas comunes: typo en el usuario / contraseña, el usuario no existe en el servidor, el usuario está bloqueado o el workgroup / dominio no coincide. Reejecuta el flujo y vuelve a introducir las credenciales con cuidado (la contraseña queda oculta en el diálogo).",
"denyTitle": "\"NT_STATUS_ACCESS_DENIED\" al montar",
"denyBody": "Las credenciales se validaron pero el share deniega el acceso. Comprueba en el lado del servidor si el usuario tiene permisos en ese share específico (la validación solo confirma el login, no las ACLs por share). Comprueba también si el servidor requiere una versión específica del protocolo SMB: añade <code>vers=3.0</code> (o <code>2.1</code>, <code>2.0</code>) a las opciones de montaje.",
@@ -1,9 +1,9 @@
{
"meta": {
"title": "Servidor Samba en LXC | ProxMenux Documentation",
"title": "Servidor Samba en LXC | Documentación de ProxMenux",
"description": "Ejecuta un servidor Samba (SMB / CIFS) dentro de un contenedor LXC de Proxmox con ProxMenux. Auto-instala samba, gestiona /etc/samba/smb.conf, usuarios smbpasswd, grupo sharedfiles para carpetas bind-mounted. Requiere un contenedor privileged.",
"ogTitle": "Servidor Samba en LXC | ProxMenux Documentation",
"ogDescription": "Expón carpetas por SMB/CIFS desde dentro de un contenedor LXC privileged. Auto-instalación, usuario smbpasswd, permisos conscientes de bind mount."
"ogTitle": "Servidor Samba en LXC | Documentación de ProxMenux",
"ogDescription": "Expón carpetas por SMB/CIFS desde un contenedor LXC con privilegios. Instalación automática, usuario smbpasswd y permisos adaptados a bind mounts."
},
"header": {
"title": "Servidor Samba en LXC",
@@ -20,7 +20,7 @@
"diagramServerLabel": "LXC (privileged) — servidor Samba",
"diagramServerDetail": "/mnt/data\n(carpeta que expones)\n\nsmbd + nmbd corriendo\n\nUsuario: <username>\n(vía smbpasswd)\n\nForce group:\nsharedfiles",
"diagramClientLabel": "Cualquier cliente en la red",
"diagramClientDetail": "Windows: \\\\<ip>\\<share>\nmacOS: smb://<ip>/<share>\nLinux: mount.cifs",
"diagramClientDetail": "Windows: \\\\<ip>\\<share>\nmacOS: smb://<ip>/<share>\nLinux: mount.cifs",
"diagramArrow": "SMB / CIFS"
},
"perms": {
@@ -40,19 +40,19 @@
"opening": {
"heading": "Abrir la herramienta",
"body": "Desde el menú principal de ProxMenux, abre <strong>Storage &amp; Share Manager → Configure Samba Server in LXC (only privileged)</strong>. ProxMenux te pide primero elegir el CT destino (y lo arranca si está parado); aborta si es unprivileged. Una vez seleccionado el CT ves este submenú con cinco opciones:",
"imageAlt": "Menú Samba Server Manager — Create / View / Delete / Status / Uninstall"
"imageAlt": "Menú del servidor Samba — Crear / Ver / Eliminar / Estado / Desinstalar"
},
"howRuns": {
"heading": "Cómo se ejecuta el script (flujo Create)"
},
"modes": {
"heading": "Los tres modos de share",
"intro": "Cada modo escribe una stanza diferente en <code>smb.conf</code>. Los tres incluyen <code>valid users = &lt;username&gt;</code> (sin anónimo), <code>force group = sharedfiles</code> (para que los archivos nuevos pertenezcan al grupo compartido) y <code>veto files = /lost+found/</code> (lo oculta a los clientes).",
"intro": "Cada modo escribe un bloque diferente en <code>smb.conf</code>. Los tres incluyen <code>valid users = &lt;username&gt;</code> (sin anónimo), <code>force group = sharedfiles</code> (para que los archivos nuevos pertenezcan al grupo compartido) y <code>veto files = /lost+found/</code> (lo oculta a los clientes).",
"headerMode": "Modo",
"headerBlock": "Bloque escrito en smb.conf",
"rwMode": "Read-Write",
"roMode": "Read-Only",
"customMode": "Custom",
"rwMode": "Lectura y escritura",
"roMode": "Solo lectura",
"customMode": "Personalizado",
"customBodyRich": "Tú escribes tus propias directivas en un cuadro de texto libre. ProxMenux igualmente las envuelve en un bloque <code>[share]</code> con los <code>path</code>, <code>valid users</code>, <code>force group</code> y <code>veto files</code> estándar."
},
"manual": {
@@ -90,9 +90,9 @@
},
"troubleshoot": {
"heading": "Solución de problemas",
"privTitle": "Contenedor privileged requerido (el script aborta)",
"privTitle": "Se requiere un contenedor con privilegios (el script se detiene)",
"privBody": "El CT seleccionado es unprivileged y <code>smbd</code> no puede servir archivos ahí. Si te saltas el gate y configuras Samba a mano, <code>smbd</code> arranca y los puertos se abren, pero la primera conexión de cliente entra en pánico con <code>PANIC: sys_setgroups failed</code> en <code>/var/log/samba/log.&lt;client&gt;</code> y el cliente ve <code>NT_STATUS_CONNECTION_DISCONNECTED</code>. La causa es que el namespace de usuario unprivileged tiene <code>setgroups=deny</code>, lo que bloquea la impersonación por conexión de Samba. Ni <code>features=keyctl=1</code> ni eliminar <code>force user</code> / <code>force group</code> cambian esto. Las únicas opciones viables son: convertir el CT a privileged, o mover Samba a una VM.",
"aptTitle": "apt-get install falla",
"aptTitle": "Falla apt-get install",
"aptIntro": "El script asume un CT de la familia Debian. En Alpine / Arch / Rocky / Alma, instala Samba a mano:",
"aptItems": [
"Alpine: <code>apk add samba</code>",
@@ -103,7 +103,7 @@
"noShareTitle": "El cliente conecta pero no puede ver el share",
"noShareBody": "Comprueba que <code>browseable = yes</code> está puesto en el bloque del share (por defecto para los modos rw / ro; puede faltar en custom). Comprueba también que el firewall del CT y el firewall del host Proxmox permiten TCP 445 (SMB) y 139 (NetBIOS). Algunos clientes Windows también requieren resolución de nombres — prueba la IP directamente primero.",
"authTitle": "La autenticación falla (NT_STATUS_LOGON_FAILURE)",
"authBody": "O bien la contraseña es incorrecta (las contraseñas Samba son <em>separadas</em> de las contraseñas de sistema — mira <code>pdbedit -L</code>) o el usuario no está en <code>valid users</code> para ese share. Resetea la contraseña con <code>smbpasswd &lt;user&gt;</code> dentro del CT.",
"authBody": "La contraseña es incorrecta (las contraseñas Samba son <em>independientes</em> de las del sistema; lista los usuarios Samba con <code>pdbedit -L</code>) o el usuario no figura en <code>valid users</code> para ese recurso. Restablece la contraseña con <code>smbpasswd &lt;user&gt;</code> dentro del CT.",
"groupTitle": "Los archivos escritos por el cliente aparecen con grupo incorrecto en el servidor",
"groupBody": "El script pone <code>force group = sharedfiles</code> en el bloque del share, así que los archivos nuevos deberían ser del grupo <code>sharedfiles</code>. Si no lo son, el bit SGID en el directorio padre puede haberse perdido (alguien ejecutó <code>chmod</code> a mano). Reaplica: <code>chmod 2775 /mnt/&lt;share&gt;</code>.",
"bothTitle": "Compartir la misma carpeta por NFS y Samba",
@@ -125,7 +125,7 @@
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS como almacenamiento de Proxmox",
"tailRich": " — una vez que tu CT esté exponiendo, registra ese share en Proxmox para que aparezca bajo <em>Datacenter → Storage</em>."
"tailRich": " — una vez que tu CT esté exportando, registra ese share Samba en Proxmox para que aparezca bajo <em>Datacenter → Storage</em>."
}
]
}
@@ -0,0 +1,123 @@
{
"meta": {
"title": "Hôte : ajouter une cible iSCSI comme stockage Proxmox | Documentation ProxMenux",
"description": "Enregistrez une cible iSCSI comme stockage Proxmox avec ProxMenux. L’outil installe open-iscsi, découvre le portail via sendtargets, permet de choisir la cible et exécute pvesm add iscsi. Il fournit des périphériques bloc bruts pour les images disque des VM.",
"ogTitle": "Hôte : ajouter une cible iSCSI comme stockage Proxmox | Documentation ProxMenux",
"ogDescription": "Enregistrer une cible iSCSI comme stockage Proxmox avec découverte guidée. Utilise pvesm add iscsi et fournit des périphériques de blocs bruts pour les disques VM."
},
"header": {
"title": "Hôte : Ajouter une cible iSCSI comme stockage Proxmox",
"description": "Enregistrez une cible iSCSI (à partir d'un SAN, TrueNAS / FreeNAS, Synology, une cible Windows Server, n'importe quel baie compatible avec iSCSI) comme stockage Proxmox. Les LUN exportés apparaissent comme des périphériques de blocs et peuvent héberger des images de disque VM à des performances quasi locales sur le réseau.",
"section": "Stockage et partage · Hôte"
},
"intro": {
"title": "Ce que ça fait",
"body": "ProxMenux enveloppe <code>pvesm add iscsi</code> avec un flux guidé: il installe <code>open-iscsi</code> si nécessaire, demande le portail iSCSI (IP:port), exécute <code>iscsiadm --mode discovery --type sendtargets</code> contre lui, vous permet de choisir une cible IQN, et enregistre le stockage iSCSI dans Proxmox. Le service <code>iscsid</code> maintient ensuite la session iSCSI en vie à travers les reboots."
},
"vocab": {
"heading": "vocabulaire iSCSI (référence rapide)",
"headerTerm": "Terme",
"headerMeaning": "Signification",
"rows": [
{
"term": "Portail",
"meaningRich": "Le point d’accès du service iSCSI sur le serveur cible : une adresse IP (ou un nom d’hôte) et un port TCP. Le port par défaut est <code>3260</code> ; ProxMenux l’utilise si aucun autre n’est indiqué."
},
{
"term": "Cible",
"meaningRich": "Un seul \"serveur\" exporté à l'intérieur du portail, identifié par son IQN (<em>iSCSI Nom qualifié</em>). Un portail peut accueillir de nombreuses cibles."
},
{
"term": "IQN",
"meaningRich": "La forme canonique est <code>iqn.YYYY-MM.reverse.domain:identifier</code>, par exemple <code>iqn.2024-08.com.truenas:proxmox-pool</code>. La cible et l'initiateur ont leur propre IQN."
},
{
"term": "LUN",
"meaningRich": "Un périphérique bloc à l'intérieur d'une cible (numéro d'unité logique). Une seule cible peut exposer plusieurs LUN ; chaque LUN apparaît comme son propre disque dans Proxmox et peut devenir un disque VM."
},
{
"term": "Initiateur",
"meaningRich": "Le client qui se connecte à une cible — dans ce cas, votre hôte Proxmox. L'initiateur a son propre IQN stocké dans <code>/etc/iscsi/initiatorname.iscsi</code>. Les cibles n'acceptent généralement que les sessions des IQN des initiateurs préautorisés."
}
]
},
"opening": {
"heading": "Ouverture de l'outil",
"body": "Depuis le menu principal de ProxMenux, ouvrez <strong>Storage &amp; Share Manager → Ajouter iSCSI Target comme Proxmox Storage</strong>. Vous verrez ce menu sub avec quatre options :",
"imageAlt": "Menu du gestionnaire d'hôtes iSCSI — Ajouter / Afficher / Supprimer / Tester la connectivité"
},
"howRuns": {
"heading": "Comment fonctionne le script (Ajouter le flux)",
"body": "Le flux a deux phases avec une séparation claire entre \"la mise en place de l'initiateur, la découverte des cibles\" et \"l'enregistrement effectif du stockage dans Proxmox\". Contrairement à NFS / Samba, il n'y a pas d'auto-découverte sur le sous-réseau — vous devez connaître l'adresse du portail (iSCSI n'est pas convivial pour la diffusion)."
},
"add": {
"heading": "Ajouter la cible iSCSI comme stockage Proxmox",
"items": [
"<strong>Saisie du portail</strong> — tapez l'IP ou le nom d'hôte du serveur cible iSCSI. Port <code>3260</code> est supposé sauf si vous tapez <code>host:port</code>.",
"<strong>Découverte des cibles</strong> — ProxMenux appelle <code>iscsiadm --mode discovery --type sendtargets --portal &lt;ip:port&gt;</code>. Le serveur répond avec chaque IQN qu'il permet à cet initiateur de voir. Si la découverte échoue, le script affiche l'erreur exacte de <code>iscsiadm</code> et énumère les causes courantes (mauvaise IP, pare-feu, initiateur IQN non autorisé).",
"<strong>Sélection des cibles</strong> — une seule cible est sélectionnée automatiquement; plusieurs cibles affichent un menu.",
"<strong>Storage ID</strong> — par défaut <code>iscsi-&lt;last IQN segment, 20 chars max&gt;</code>. Seulement lettres, chiffres, <code>-</code> et <code>_</code>.",
"<strong>Type de contenu</strong> — contrairement à NFS / Samba, le contenu iSCSI est <strong>fixé à <code>images</code></strong>. iSCSI expose les périphériques de blocs bruts, pas un système de fichiers, donc Proxmox vous permet seulement d'héberger des disques VM sur lui."
],
"authTitle": "Autoriser l'initiateur Proxmox sur la cible",
"authBody1": "Avant que le flux Add ne fonctionne de bout en bout, la cible iSCSI doit connaître votre hôte Proxmox. Obtenez votre initiateur IQN:",
"authBody2": "Ajoutez cet IQN à la liste d’accès de la cible (TrueNAS : <em>Sharing → Block → Initiators Groups</em> ; Synology : <em>SAN Manager → iSCSI → Target → Edit → Initiators</em> ; etc.). Si l’initiateur n’est pas autorisé, la découverte avec <code>iscsiadm</code> renvoie une liste vide ou une erreur d’authentification."
},
"manual": {
"heading": "Équivalent manuel",
"body": "La procédure complète correspond aux commandes suivantes :"
},
"view": {
"heading": "Affichage des stockages iSCSI configurés",
"body": "Liste toutes les entrées iSCSI dans Proxmox (<code>pvesm status | awk ''$2 == \"iscsi\"''</code>) avec portail, cible IQN, type de contenu et statut en direct."
},
"remove": {
"heading": "Supprimer le stockage iSCSI",
"body": "Exécute <code>pvesm remove &lt;storage-id&gt;</code> après avoir confirmé portail, cible et contenu. Seul l’enregistrement Proxmox est supprimé — <strong>la cible iSCSI elle-même n'est pas touchée</strong> et les sessions existantes du côté noyau peuvent durer jusqu'au prochain redémarrage.",
"warnTitle": "Vérifiez d’abord les disques VM existants sur cet iSCSI",
"warnBody": "Supprimer un stockage iSCSI alors que des VM y possèdent encore des disques laisse ces VM pointer vers un stockage absent. Proxmox signale l’erreur, mais les données LUN restent intactes sur la cible : vous pouvez réenregistrer le stockage pour retrouver les disques. Déplacez ou sauvegardez toutefois les VM au préalable par précaution."
},
"test": {
"heading": "Tester la connectivité iSCSI",
"body": "Exécute une passe de diagnostic : vérifie que <code>iscsiadm</code> est installé, imprime votre initiateur IQN, confirme que <code>iscsid</code> fonctionne, pinge chaque portail enregistré, sonde son port, et signale <code>pvesm status</code> plus si une session iSCSI est actuellement active (<code>iscsiadm --mode session</code>). Session active plus portail accessible, mais \"inactive\" dans Proxmox signifie généralement un état obsolète — essayez <code>pvesm set &lt;id&gt; --disable 0</code>."
},
"troubleshoot": {
"heading": "Dépannage",
"portalTitle": "\"Impossible d'atteindre le portail\" mais l'IP du serveur répond ailleurs",
"portalBody": "Ping a échoué sur l'adresse du portail. Vérifiez que vous atteignez l'interface <em>réseau de stockage</em> (iSCSI vit souvent sur un réseau VLAN / sous-net séparé du réseau de gestion). Vérifiez également DNS si vous avez tapé un nom d'hôte.",
"discoverTitle": "\"la découverte iSCSI a échoué\" de l'iscsiadm",
"discoverIntro": "Le script montre l'erreur exacte. Causes les plus courantes:",
"discoverItems": [
"Portal IP / port incorrect (double vérification, par défaut est 3260).",
"Le service iSCSI ne fonctionne pas sur le serveur cible.",
"Pare-feu bloque 3260 entre Proxmox et la cible.",
"<strong>L’IQN de l’initiateur n’est pas autorisé sur la cible.</strong> Cause la plus fréquente sur les baies professionnelles. Ajoutez d’abord l’IQN Proxmox à l’ACL des initiateurs de la cible."
],
"noTargetTitle": "Aucune cible trouvée mais la découverte a réussi",
"noTargetBody": "Le serveur a accepté votre initiateur mais ne lui expose aucune cible. Vérifiez les contrôles d’authentification et d’accès : certaines baies autorisent la découverte pour tous les IQN mais filtrent les cibles visibles par chacun.",
"noLunTitle": "Les LUNs n'apparaissent pas dans /dev/disk/by-path après enregistrement",
"noLunBody": "<code>pvesm add iscsi</code> a réussi mais le noyau ne voit pas les périphériques de blocs. Vérifiez <code>iscsiadm --mode session</code> — Si aucune session n'est active, démarrez manuellement avec <code>iscsiadm --mode node --login</code>. Si une session existe mais qu'aucun LUN n'apparaît, forcez un rescan : <code>iscsiadm --mode session --rescan</code>. Si rien n'est encore fait, la cible n'a probablement pas encore de LUN assigné à cet IQN (configurer la cartographie LUN sur la cible).",
"chapTitle": "Authentification CHAP",
"chapBody": "ProxMenux ne propose pas de champs utilisateur/mot de passe CHAP dans le processus interactif. Si la découverte échoue, le script s’arrête avant <code>pvesm add</code> ; le stockage n’est pas enregistré malgré l’échec. Configurez séparément les exigences CHAP de la cible dans <code>open-iscsi</code>, y compris l’authentification de découverte si nécessaire, puis réessayez. Vérifiez la configuration avec <code>iscsiadm</code> et les sessions actives avec <code>iscsiadm --mode session</code>."
},
"related": {
"heading": "Autres",
"items": [
{
"href": "/docs/storage-share/host-nfs",
"label": "Partage NFS comme stockage Proxmox",
"tail": "— alternative au niveau des fichiers. Plus simple à configurer, plus flexible (backup / ISO / tmpl / images), légèrement plus lent pour les disques en direct VM."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS comme stockage Proxmox",
"tail": " — une autre option au niveau des fichiers ; à éviter pour les disques des VM actives en raison de la sémantique des verrous."
},
{
"href": "/docs/storage-share/host-local-disk",
"label": "Ajouter le disque local comme stockage Proxmox",
"tail": "— lorsque le disque est local à l'hôte Proxmox, pas sur une autre boîte sur le réseau."
}
]
}
}
@@ -0,0 +1,186 @@
{
"meta": {
"title": "Hôte : Ajouter le disque local comme stockage Proxmox ProxMenux Documentation",
"description": "Formatez un disque SATA, SAS ou NVMe local sur un hôte Proxmox et enregistrez-le comme stockage de type répertoire ou pool ZFS. L’outil vérifie les disques, exige une confirmation avant les opérations destructives, configure fstab par UUID, crée les pools ZFS et utilise pvesm add dir / zfspool.",
"ogTitle": "Hôte : Ajouter le disque local comme stockage Proxmox ProxMenux Documentation",
"ogDescription": "Formatez un disque local et enregistrez-le comme stockage répertoire ou pool ZFS dans Proxmox avec une procédure guidée et des filtres de sécurité."
},
"header": {
"title": "Hôte : Ajouter un disque local comme stockage Proxmox",
"description": "Choisissez un disque physique sur l’hôte Proxmox, formatez-le si nécessaire en ext4, xfs, btrfs ou zfs, puis enregistrez-le comme stockage répertoire avec pvesm add dir ou comme pool ZFS avec pvesm add zfspool. ProxMenux écarte le disque système et les disques utilisés, et annonce chaque opération destructive avant de l’exécuter.",
"section": "Stockage et partage · Hôte"
},
"intro": {
"title": "Ce que ça fait",
"body": "D'autres outils <em>Host</em> dans cette section traitent du stockage <strong>réseau</strong> (NFS / Samba / iSCSI). Celui-ci traite des disques <strong>locaux</strong> — disques de rechange physiquement attachés à votre hôte Proxmox que vous souhaitez utiliser pour les disques, sauvegardes, ISO ou modèles VM. ProxMenux prépare le disque (partitionnement + formatage + montage) et l'enregistre dans Proxmox afin que l'interface utilisateur puisse y placer du contenu."
},
"destructive": {
"title": "Outil destructif pour le chemin 'format'",
"body": "L’option <em>Formater</em> <strong>détruit les partitions et données existantes du disque sélectionné</strong>. ProxMenux affiche un avertissement, filtre les disques utilisés et exige une confirmation avant <code>wipefs</code> / <code>sgdisk</code> / <code>mkfs</code>. Ce n’est pas un écrasement sécurisé de chaque octet. Vérifiez deux fois le chemin du périphérique avant de confirmer."
},
"compare": {
"heading": "Répertoire ou pool ZFS — que choisir ?",
"headerDir": "Répertoire (ext4 / xfs / btrfs)",
"headerZfs": "Pool ZFS",
"rows": [
{
"label": "Type de stockage Proxmox",
"dirRich": "<code>dir</code>",
"zfsRich": "<code>zfspool</code>"
},
{
"label": "Format du disque VM",
"dir": "Fichier qcow2 / raw dans un système de fichiers",
"zfs": "Ensemble de données Native ZFS (zvol) par disque"
},
{
"label": "Instantanés",
"dir": "qcow2 snapshots; btrfs snapshots si fs=btrfs",
"zfs": "Natif, instantané, copie à l'écriture"
},
{
"label": "Allocation fine",
"dir": "Oui (par défaut qcow2)",
"zfs": "Oui (ZFS par défaut)"
},
{
"label": "Besoins en RAM",
"dir": "Faible",
"zfs": "Élevés — ZFS utilise la RAM disponible comme cache ARC"
},
{
"label": "Prend en charge les types de contenu",
"dir": "images, backup, iso, vztmpl, snippets, rootdir",
"zfs": "images et rootdir uniquement (stockage en blocs)"
},
{
"label": "Meilleur pour",
"dir": "Disque à usage général: mélange de disques VM, sauvegardes, ISO",
"zfs": "Pure disque de données VM / LXC avec instantané + besoins d'intégrité"
}
]
},
"opening": {
"heading": "Ouverture de l'outil",
"body": "Dans le menu principal de ProxMenux, ouvrez <strong>Storage &amp; Share Manager → Add Local Disk as Proxmox Storage</strong>. Le sous-menu comporte quatre options :",
"imageAlt": "Menu Local Disk Manager — Ajouter / Afficher / Supprimer / Liste des disques disponibles"
},
"howRuns": {
"heading": "Comment fonctionne le script (Ajouter le flux)",
"body": "La procédure comporte deux phases avec un filtre de sécurité à trois vérifications. Phase 1 découvre les disques sûrs, décide ce qu'il faut faire avec celui choisi et recueille les paramètres de stockage; Phase 2 fait le travail destructeur. Jusqu'à la confirmation finale, le disque est intact."
},
"format": {
"heading": "Formater un disque vide",
"intro": "Le chemin pour un disque frais ou un disque dont le contenu ne vous intéresse pas.",
"items": [
"Choisissez le disque (système / disques en usage sont cachés).",
"Choisissez \"Format disque (ERASE toutes les données)\".",
"Choisissez le système de fichiers — voir le tableau ci-dessus pour les compromis.",
"ID de stockage (<code>disk-&lt;device&gt;</code> par défaut), chemin de montage, préréglage de type contenu.",
"Confirmez dans le dialogue <strong>CONFIRMATION FINALE — LES DONNÉES SERONT EFFACÉES</strong>.",
"ProxMenux efface la table de partitions et crée une partition sur tout le disque. Il exécute <code>mkfs.&lt;fs&gt;</code> ou <code>zpool create</code>, puis monte le résultat. Les systèmes de fichiers classiques reçoivent une entrée UUID dans <code>/etc/fstab</code> avec <code>defaults,nofail</code> ; ZFS utilise la configuration de montage du pool. Si <em>Comme stockage Proxmox</em> est coché (toujours le cas pour ZFS), il est ensuite enregistré avec <code>pvesm add dir</code> ou <code>pvesm add zfspool</code> ; sinon, il reste un simple montage de l’hôte."
],
"tipTitle": "Pourquoi UUID + nofail dans /etc/fstab",
"tipBody": "Le script écrit <code>UUID=… /mnt/&lt;id&gt; &lt;fs&gt; defaults,nofail 0 2</code>. UUID survit à la réorganisation de l'appareil à travers les reboots (ainsi <code>/dev/sdc</code> devenir <code>/dev/sdd</code> ne casse pas le démarrage). <code>nofail</code> signifie que si le disque disparaît un jour (défaut de matériel, débranché), Proxmox démarre quand même — le stockage se montrera comme inactif jusqu'à ce que le disque revienne."
},
"reuse": {
"heading": "Réutiliser un système de fichiers existant",
"intro": "Le chemin pour un disque sur lequel vous souhaitez conserver les données — peut-être l'avez-vous déplacé d'un autre hôte Proxmox, ou le disque a déjà des sauvegardes / ISO que vous voulez garder accessible.",
"items": [
"Choisissez le disque.",
"Choisir « Utiliser le système de fichiers existant ».",
"ID de stockage, chemin de montage, préréglage de type contenu.",
"ProxMenux ne touche <strong>pas</strong> aux données : il crée le point de montage, monte le disque, ajoute une entrée UUID à <code>/etc/fstab</code> et l'enregistre en tant que stockage Proxmox <code>dir</code>."
],
"warnTitle": "Le chemin de réutilisation ne gère pas ZFS pools",
"warnBody": "Si le disque contient déjà un pool ZFS, le chemin <em>reuse</em> essaie ici de le monter en tant que système de fichiers régulier — qui échoue. Pour importer un pool ZFS existant, utilisez <code>zpool import &lt;name&gt;</code> sur la ligne de commande, puis enregistrez-le manuellement avec <code>pvesm add zfspool</code>."
},
"presets": {
"heading": "Préréglages de type contenu",
"intro": "ProxMenux propose trois préréglages et une option personnalisée. La liste de contenu choisie est transmise à <code>pvesm add … --content &lt;csv&gt;</code> :",
"headerPreset": "Préréglage",
"headerContent": "Chaîne de contenu",
"headerUse": "Cas d'utilisation",
"rows": [
{
"preset": "Stockage VM",
"content": "images,backup",
"use": "Un magasin de disques VM dédié qui conserve également les sauvegardes de ces VMs à proximité."
},
{
"preset": "NAS standard",
"content": "backup,iso,vztmpl",
"use": "Une archive / disque multimédia — sauvegardes, ISOs et modèles LXC. Pas de disques VM en direct ici."
},
{
"preset": "Tous types",
"content": "images,backup,iso,vztmpl,snippets",
"use": "Ce préréglage étendu active images, sauvegardes, ISO, modèles LXC et snippets. Ajoutez d’autres types pris en charge, comme rootdir, via Personnalisé si nécessaire."
},
{
"preset": "Personnalisé",
"content": "(saisie libre)",
"useRich": "Tapez le CSV exact vous-même, par exemple. <code>images</code> seul ou <code>rootdir,images</code>."
}
],
"zfsTitle": "ZFS pool le contenu est plus étroit",
"zfsBody": "Avec <strong>zfs</strong>, un <code>zfspool</code> accepte uniquement <code>images</code> et <code>rootdir</code>, pas les fichiers ISO ou de sauvegarde. Saisissez une liste compatible via Personnalisé. Le script la transmet sans modification ; des types non pris en charge peuvent faire échouer l’enregistrement. Vérifiez ensuite <code>pvesm status</code>."
},
"manual": {
"heading": "Équivalent manuel",
"extIntro": "Format + enregistrer un disque comme stockage de répertoire ext4 :",
"zfsIntro": "Ou comme un pool ZFS:"
},
"view": {
"heading": "Afficher les stockages de disques",
"body": "Liste tous les stockages Proxmox soutenus par un disque (les deux <code>dir</code> et <code>zfspool</code> qui sont créés par l'utilisateur — système pools comme <code>rpool</code> sont cachés). Affiche le chemin de montage / pool nom, types de contenu et statut en direct."
},
"remove": {
"heading": "Supprimer le stockage du disque",
"body": "Désenregistre le stockage de Proxmox (<code>pvesm remove</code>) et propose de nettoyer l'entrée correspondante dans <code>/etc/fstab</code>. Pour ZFS pools, le script <strong>ne détruit pas</strong> automatiquement le pool — il s'agit d'une étape <code>zpool destroy &lt;name&gt;</code> distincte que vous effectuez manuellement lorsque vous êtes sûr.",
"warnTitle": "Données et dépendances existantes VM",
"warnBody": "La suppression du stockage ne touche pas le système de fichiers ou le pool — les données restent sur le disque. Mais VMs / CTs qui font référence à ce stockage par ID échouera à démarrer après la suppression. Déplacez ces disques VM vers un autre stockage (ou prenez une sauvegarde) avant de les supprimer."
},
"list": {
"heading": "Liste des disques disponibles",
"body": "Une vue diagnostique en lecture seule : imprime la sortie de <code>lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,MODEL</code> suivie des stockages <code>dir</code> / <code>zfspool</code> Proxmox en est déjà au courant. Bon premier arrêt lorsque vous ouvrez l'outil et que vous voulez voir \"ce qui est sur cet hôte?\" avant d'ajouter quelque chose."
},
"troubleshoot": {
"heading": "Dépannage",
"noDisksTitle": "\"Aucun disque disponible trouvé\"",
"noDisksIntro": "Le filtre de sécurité a caché chaque disque. Raisons communes:",
"noDisksItems": [
"Seul le disque racine est présent.",
"Tous les autres disques font partie d'un tableau actif ZFS / LVM / RAID.",
"Chaque disque est référencé par une config VM ou LXC (passthrough).",
"Le disque est en lecture seule (défaillance matérielle ou dispositif de blocage des écritures)."
],
"noDisksOutro": "Utiliser <em>List Disques disponibles</em> dans le menu pour voir la sortie brute <code>lsblk</code> et comprendre ce qui se passe.",
"mountedTitle": "Le format échoue avec \"le dispositif est monté\"",
"mountedBody": "Quelque chose a monté automatiquement le disque (udisksd, un gestionnaire de bureau, une unité de systemd persistante). Démonter : <code>umount /dev/sdX?*</code> ou <code>systemctl stop &lt;whatever-mounts-it&gt;</code>, puis réessayer. Le filtre de sécurité du script devrait avoir des disques cachés montés, donc si vous avez atteint cette erreur, le montage s'est produit entre le menu montrant et vous confirmant.",
"zpoolTitle": "Échec de zpool create : « invalid vdev specification »",
"zpoolBody": "En général, le disque a encore des signatures GPT/LVM/ZFS que <code>zpool</code> refuse d'écraser sans force. Le script exécute <code>wipefs</code> et <code>sgdisk --zap-all</code> avant le format, mais un disque très têtu peut encore avoir une étiquette obstinée. Forcez un nettoyage manuellement : <code>zpool labelclear -f /dev/sdX</code> ou <code>dd if=/dev/zero of=/dev/sdX bs=1M count=10</code> et réessayez.",
"inactiveTitle": "Le stockage s'affiche comme inactif après redémarrage",
"inactiveBody": "Vérifiez <code>findmnt &lt;mount-path&gt;</code> — si le montage est manquant, quelque chose dans <code>/etc/fstab</code> a échoué. <code>dmesg | tail</code> pointe habituellement à la raison (inadéquation UUID, corruption du système de fichiers, <code>nofail</code> a abandonné la réessayer). Un <code>mount -a</code> réactive habituellement le stockage une fois la cause réglée."
},
"related": {
"heading": "Autres",
"items": [
{
"href": "/docs/disk-manager/format-disk",
"label": "Gestionnaire de disques : formater / effacer un disque physique",
"tail": "— alternative de bas niveau lorsque vous voulez simplement préparer un disque sans l'enregistrer comme stockage Proxmox."
},
{
"href": "/docs/storage-share/host-iscsi",
"label": "Ajouter la cible iSCSI comme stockage Proxmox",
"tail": " — équivalent réseau lorsque le périphérique bloc se trouve sur une autre machine."
},
{
"href": "/docs/storage-share/host-local-shared",
"label": "Ajouter un répertoire partagé sur l'hôte",
"tail": " — prépare un répertoire sur l’hôte pour les bind mounts LXC, sans l’enregistrer comme stockage Proxmox."
}
]
}
}
@@ -0,0 +1,103 @@
{
"meta": {
"title": "Hôte : ajouter un répertoire partagé | Documentation ProxMenux",
"description": "Créez un répertoire hôte prêt pour les bind mounts LXC, avec des permissions adaptées aux conteneurs privilégiés et non privilégiés. Sticky bit, rwx pour tous et ACL par défaut pour l’héritage.",
"ogTitle": "Hôte : ajouter un répertoire partagé | Documentation ProxMenux",
"ogDescription": "Préparer un répertoire hôte pour les bind mounts LXC avec des permissions compatibles avec des CT privilégiés et non privilégiés."
},
"header": {
"title": "Host : Ajouter un répertoire partagé sur Host",
"description": "Créer un répertoire hôte conçu pour être monté sur un ou plusieurs conteneurs LXC. ProxMenux applique un ensemble de permissions qui fonctionne à la fois pour les CT privilégiés et non privilégiés à la fois — pas de maux de tête UID décalés, pas de chowns par conteneur — et enregistre le répertoire afin que le gestionnaire de montage LXC puisse le récupérer plus tard.",
"section": "Stockage et partage · Hôte"
},
"intro": {
"title": "Ce que c'est (et n'est PAS)",
"body": "Cet outil n'enregistre <strong>pas</strong> quoi que ce soit dans Proxmox (pas de <code>pvesm add</code> ici). Il prépare simplement un répertoire sur l'hôte — <code>/mnt/shared</code>, par défaut — avec des autorisations que tout conteneur LXC peut lire et écrire, que le CT soit privilégié ou non. L'étape suivante habituelle consiste à le monter en liaison dans chaque CT avec le <mountLink>LXC Mount Manager</mountLink>."
},
"why": {
"heading": "Pourquoi un outil dédié à cette tâche",
"intro": "Lorsque vous liez un répertoire hôte dans un conteneur LXC, les permissions dépendent de :",
"items": [
"Si le CT est <strong>privilégié</strong> (UID 0 du CT = UID 0 de l’hôte) ou <strong>non privilégié</strong> (UID 0 du CT = UID 100000 de l’hôte — tout est décalé de +100000).",
"Le propriétaire du répertoire hôte (un fichier appartenant à l’UID 1000 sur l’hôte relève des permissions « autres » pour un CT non privilégié, car aucun utilisateur du CT ne correspond à cet UID hôte).",
"Indique si plusieurs CT partagent le même répertoire (différents CT peuvent avoir des plages UID différentes)."
],
"outro": "ProxMenux choisit ici une solution pratique : <strong>donner accès à tout le monde</strong> au niveau du système de fichiers, avec rwx pour tous, le sticky bit et des ACL pour l’héritage des permissions. Tout UID mappé peut lire et écrire ; aucun alignement des UID/GID n’est nécessaire."
},
"howRuns": {
"heading": "Comment fonctionne le script",
"body": "Le script n'a pas de menu principal — il exécute une seule action, <strong>Créer répertoire partagé</strong>. Phase 1 recueille le chemin cible; Phase 2 crée le répertoire et applique les permissions."
},
"bits": {
"heading": "Ce que chaque bit de permission fait",
"intro": "Le numéro <strong>1777</strong> n'est pas arbitraire — c'est le même mode que Linux utilise pour <code>/tmp</code>. Trois propriétés combinées:",
"headerBit": "Bit",
"headerEffect": "Effet",
"headerWhy": "Pourquoi c'est important ici",
"rows": [
{
"bit": "1 (sticky bit)",
"effect": "Seuls le propriétaire du fichier, celui du répertoire ou un processus suffisamment privilégié peuvent supprimer ou renommer le fichier.",
"why": "Limite la suppression des fichiers d’autres utilisateurs ayant des UID mappés différents. N’isole pas les CT partageant un UID mappé ou un accès root privilégié."
},
{
"bit": "777 (rwx-rwx-rwx)",
"effect": "Tout le monde peut lire, écrire et traverser.",
"why": "Les UIDs CT non privilégiés (100000+) apparaissent comme des \"autres\" de l'hôte, de sorte que world-rwx leur donne accès."
},
{
"bit": "ACL (par défaut)",
"effect": "Hérité sur chaque fichier / sous-dir nouvellement créé.",
"why": "Le nouveau contenu hérite des ACL par défaut sans réexécuter le script. Les applications peuvent toutefois demander des modes restrictifs ou modifier les permissions ensuite."
}
],
"privTitle": "Les CT privilégiés voient la même chose, juste sans le changement",
"privBody": "Pour un CT privilégié, UID 0 dans le CT est UID 0 sur l'hôte, de sorte que <code>root</code> à l'intérieur du CT peut lire / écrire le répertoire hôte directement. Le <code>1777</code> est toujours bien — cela signifie simplement que les utilisateurs non root à l'intérieur du CT peuvent également utiliser le répertoire. Les mêmes autorisations couvrent les deux cas."
},
"where": {
"heading": "Où mettre le répertoire partagé",
"intro": "Le localisateur offre quatre options :",
"opt1Title": "1. Créer un nouveau dossier dans /mnt",
"opt1Body": "Le choix habituel. Le ProxMenux suggère automatiquement la première dénomination libre (<code>shared</code>, <code>shared2</code>, <code>shared3</code>, ...). Il suffit de confirmer ou de taper un nom différent.",
"opt2Title": "2. Saisissez le chemin personnalisé",
"opt2Body": "Pour les répertoires hors <code>/mnt</code>. Tout chemin absolu fonctionne (par exemple : <code>/srv/media</code>, <code>/data/family</code>). Le script applique les mêmes permissions.",
"opt3Title": "3. Afficher les dossiers existants dans /mnt",
"opt3Body": "Diagnostic en lecture seule : liste chaque répertoire sous <code>/mnt</code> avec ses permissions, son propriétaire et son espace disponible. Utile avant de créer un nouveau pour éviter les collisions de noms.",
"opt4Title": "4. Annuler",
"opt4Body": "Quitte sans rien créer, comme la touche <kbd>Esc</kbd>.",
"tipTitle": "Où vit /mnt ?",
"tipBody": "Par défaut, <code>/mnt</code> se trouve sur le système de fichiers racine Proxmox. Si vous voulez le répertoire partagé sur un disque différent (un disque de données, un pool ZFS), montez ce disque sous <code>/mnt/&lt;name&gt;</code> d'abord (Disk Manager ou <diskLink>Ajouter le disque local comme stockage Proxmox</diskLink>), puis créez le répertoire partagé comme sous-dossier à l'intérieur — ou choisissez \"Entrer le chemin personnalisé\" ici et pointez sur le disque monté."
},
"manual": {
"heading": "Équivalent manuel",
"body": "Tout le flux peut être rejoué à la main:"
},
"next": {
"heading": "Étape suivante : bind mount dans les conteneurs",
"body": "La création du répertoire ne fait que le préparer — aucun conteneur ne le voit encore. Pour le rendre visible à l'intérieur d'un ou plusieurs LXC, utilisez le <mountLink>LXC Mount Manager</mountLink> pour lier le montage de <code>/mnt/&lt;name&gt;</code> dans les CT. Étant donné que les autorisations sont déjà ouvertes, Mount Manager <strong>ne proposera pas</strong> de les modifier : le répertoire est prêt à être utilisé tel quel."
},
"troubleshoot": {
"heading": "Dépannage",
"mkdirTitle": "\"Failed to create directory\"",
"mkdirBody": "Habituellement un problème de système de fichiers: <code>/mnt</code> est sur un système de fichiers en lecture seule, le chemin contient un composant qui n'est pas un répertoire (par exemple, vous avez tapé <code>/etc/passwd/sub</code>), ou le disque est plein. Vérifiez avec <code>df -h /mnt</code> et <code>mount | grep /mnt</code>.",
"writeTitle": "Conteneur ne peut pas écrire malgré les autorisations ouvertes",
"writeBody": "Vérifiez que le CT utilise bien le bind mount (<code>pct config &lt;ctid&gt; | grep ^mp</code>). À l'intérieur du CT, exécutez <code>touch /mnt/data/test-$(date +%s)</code> — si cela échoue avec la permission refusée, le montage peut être sur un système de fichiers hôte qui n'honore pas les ACL (certaines anciennes <code>ext3</code> ou <code>vfat</code> montures). Déplacez le répertoire partagé vers un support ext4 / xfs / btrfs / zfs.",
"aclTitle": "ACL commande silencieusement indisponible",
"aclBody": "Sur une installation Proxmox minimale <code>setfacl</code> / <code>getfacl</code> peuvent ne pas être installés. Le script tombe gracieusement (contrôle <code>command -v setfacl</code>) et n'applique que les permissions POSIX — ce qui est souvent suffisant, mais les nouveaux fichiers n'hériteront pas automatiquement du profil permissif. Installez <code>acl</code> avec <code>apt-get install -y acl</code> et réexécutez le script dans le répertoire."
},
"related": {
"heading": "Autres",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Gestionnaire de montage LXC",
"tail": "— l'étape suivante naturelle: lier ce répertoire dans un ou plusieurs conteneurs."
},
{
"href": "/docs/storage-share/host-local-disk",
"label": "Ajouter le disque local comme stockage Proxmox",
"tailRich": "— si vous voulez le répertoire partagé sur un disque dédié, préparez le disque d'abord, montez-le sous <code>/mnt</code>, puis créez le sous-dossier partagé ici."
}
]
}
}
@@ -0,0 +1,174 @@
{
"meta": {
"title": "Hôte : monter un partage NFS | Documentation ProxMenux",
"description": "Montez une exportation externe de NFS sur l'hôte Proxmox — soit sous forme de stockage Proxmox (pvesm add nfs), soit sous forme de montage fstab (NON visible dans Datacenter > Storage), ou les deux. La méthode fstab est idéale pour lier le partage dans les conteneurs LXC sans l'exposer comme stockage Proxmox.",
"ogTitle": "Hôte : monter un partage NFS | Documentation ProxMenux",
"ogDescription": "Montez un export NFS externe sur l’hôte Proxmox via pvesm, fstab ou les deux. La méthode fstab convient aux bind mounts LXC."
},
"header": {
"title": "Hôte : monter un partage NFS sur l’hôte",
"description": "Montez une exportation externe de NFS (à partir d'un NAS, d'un autre serveur, d’un partage homelab...) sur l'hôte Proxmox. Choisissez une ou les deux méthodes : enregistrez-la en tant que stockage Proxmox (visible dans Datacenter > Storage) et/ou ajoutez un montage simple /etc/fstab sur un chemin que vous choisissez (utile pour lier le partage dans des conteneurs LXC sans l'exposer comme stockage Proxmox).",
"section": "Stockage et partage · Hôte"
},
"intro": {
"title": "Ce que ça fait",
"body": "ProxMenux propose deux méthodes de montage pour toute exportation de NFS : <strong>(1) Stockage Proxmox</strong> via <code>pvesm add nfs</code> — le partage apparaît dans Datacenter > Stockage et Proxmox gère le montage à <code>/mnt/pve/&lt;id&gt;</code>; <strong>(2) Montage fstab sur l’hôte</strong> sur un chemin que vous choisissez — persistant via <code>/etc/fstab</code>, NON visible comme stockage Proxmox, idéal pour le montage au niveau des conteneurs LXC (l'UI Proxmox reste propre). Vous pouvez exécuter une méthode, l'autre, ou les deux."
},
"opening": {
"heading": "Ouverture de l'outil",
"body": "Dans le menu principal de ProxMenux, ouvrez <strong>Storage &amp; Share Manager → Mount NFS Share on Host</strong>. Le sous-menu comporte quatre options :",
"imageAlt": "Menu NFS Host Manager — Monter / Afficher / Supprimer / Tester la connectivité"
},
"howRuns": {
"heading": "Comment fonctionne le script",
"body": "Le flux a deux phases avec une séparation claire entre \"découvrir, valider et choisir\" et \"en fait monter / écrire config\". Après avoir sélectionné une exportation, vous choisissez les méthodes de montage via une liste de contrôle; le reste des dialogues ne demandent que des paramètres pour les méthodes que vous avez sélectionnées. Jusqu'à la confirmation finale, ni <code>/etc/pve/storage.cfg</code> ni <code>/etc/fstab</code> ne sont touchés."
},
"modes": {
"heading": "Choix de la méthode de montage (une ou deux options)",
"intro": "Après avoir sélectionné et validé l'exportation, ProxMenux affiche une liste de contrôle avec les deux méthodes de montage. Vous pouvez marquer l'un ou l'autre, ou les deux. Si vous appuyez sur OK sans marquer quoi que ce soit, la boîte de dialogue réapparaît jusqu'à ce que vous choisissiez au moins une option ou appuyez sur Annuler pour quitter le flux.",
"imageAlt": "Liste de contrôle des méthodes de montage avec options pvesm et fstab",
"headerMethod": "Méthode",
"headerMount": "Chemin de montage",
"headerUi": "Visible dans Datacenter > Stockage",
"headerUseCase": "Cas d'utilisation typique",
"rows": [
{
"method": "<strong>Comme stockage Proxmox (pvesm)</strong>",
"mountRich": "<code>/mnt/pve/&lt;storage-id&gt;</code> (géré par Proxmox)",
"ui": "Oui",
"useCase": "VM images de disque, sauvegardes, ISOs, modèles LXC — tout ce qui doit apparaître dans l'interface utilisateur Proxmox."
},
{
"method": "<strong>Uniquement le fstab de l'hôte</strong>",
"mountRich": "<code>/mnt/&lt;path&gt;</code> (vous choisissez le chemin)",
"ui": "Non",
"useCaseRich": "Rendre le partage accessible dans un ou plusieurs LXC par bind mount <em>sans</em> l’enregistrer comme stockage Proxmox. Garde l’interface Datacenter claire."
},
{
"method": "<strong>Les deux</strong>",
"mount": "Les deux chemins ci-dessus (deux points de montage du même export NFS)",
"ui": "Oui",
"useCase": "Intégration à l’interface et chemin stable séparé sur l’hôte avec permissions ouvertes pour les bind mounts LXC."
}
],
"bothTitle": "\"Les deux\" crée deux supports indépendants NFS",
"bothBody": "Les deux méthodes sont exécutées séparément : pvesm monte sur <code>/mnt/pve/&lt;id&gt;</code> et fstab sur <code>/mnt/&lt;path&gt;</code>. Cela fournit un montage géré par Proxmox avec ses options par défaut et un montage hôte séparé pour les bind mounts LXC. Deux points de montage ne garantissent pas deux connexions TCP ; le client NFS peut réutiliser les connexions de transport."
},
"pvesmBranch": {
"heading": "Méthode A — En tant que stockage Proxmox (pvesm)",
"intro": "Si <em>Comme stockage Proxmox</em> est marqué, ProxMenux exécute le flux pvesm d'origine:",
"items": [
"<strong>Storage ID</strong> — ce que Proxmox appellera ce stockage. La valeur par défaut est <code>nfs-&lt;server-ip-with-dashes&gt;</code>. Seules les lettres, chiffres, <code>-</code> et <code>_</code> sont acceptés.",
"<strong>Types de contenu</strong> — Proxmox relie les catégories de contenu aux volumes de stockage; choisissez ce que ce NFS peut contenir:"
],
"headerType": "Type de contenu",
"headerAllows": "Ce qu'il permet",
"rows": [
{
"type": "import",
"allowsRich": "Importations d'images de disque (sélectionnées par défaut). Nécessaire pour <em>Importer l'image disque vers VM</em>."
},
{
"type": "backup",
"allowsRich": "Fichiers de sauvegarde VM et CT (<code>vzdump</code>)."
},
{
"type": "iso",
"allows": "Installation des images ISO."
},
{
"type": "vztmpl",
"allows": "Modèles LXC."
},
{
"type": "images",
"allows": "Images disque des VM en cours d’utilisation (ce NFS sert alors au stockage des disques VM)."
},
{
"type": "rootdir",
"allows": "Systèmes de fichiers racine LXC (rare pour NFS – lire la note ci-dessous)."
},
{
"type": "snippets",
"allows": "Scripts de hook et snippets cloud-init."
}
],
"warnTitle": "images et rootdir sur NFS",
"warnBody": "Sélectionner <code>images</code> permet de stocker les disques VM sur NFS. Les performances dépendent du réseau, du serveur et de la charge ; une panne peut bloquer les E/S dépendant du montage. <code>rootdir</code> place les systèmes de fichiers racine LXC sur NFS, où les conteneurs non privilégiés peuvent rencontrer des limites de mappage UID, d’overlay et de propriété. Évaluez ces besoins avant d’y placer <code>images</code> / <code>rootdir</code> ; NFS convient aussi à <code>backup</code> / <code>iso</code> / <code>vztmpl</code>.",
"result": "Le résultat est <code>pvesm add nfs &lt;id&gt; --server &lt;srv&gt; --export &lt;path&gt; --content &lt;csv&gt;</code> et Proxmox se monte automatiquement à <code>/mnt/pve/&lt;id&gt;</code>."
},
"fstabBranch": {
"heading": "Méthode B — Montage fstab de l'hôte uniquement",
"intro": "Si <em>En tant que montage hôte fstab seulement</em> est marqué, ProxMenux demande un chemin de montage hôte et des options persistantes, puis monte et écrit l'entrée à <code>/etc/fstab</code>:",
"items": [
"<strong>Chemin de montage sur l’hôte</strong> — par défaut <code>/mnt/&lt;export-basename&gt;</code>. Ça doit être un chemin absolu. Si quelque chose y est déjà monté, ou si une entrée fstab existe pour le même chemin, ProxMenux vous avertit et vous propose de la remplacer.",
"<strong>Options de montage</strong> — <em>Lecture/écriture</em> (par défaut: <code>rw,hard,nofail,_netdev,rsize=131072,wsize=131072,timeo=600,retrans=2</code>), <em>Lecture seule</em>, <em>Personnalisé</em> (saisissez vos propres options)."
],
"appliesIntro": "Une fois que vous avez confirmé, le script :",
"applies": [
"<code>mkdir -p</code> le chemin de montage.",
"<code>mount -t nfs -o &lt;opts&gt; &lt;srv&gt;:&lt;export&gt; &lt;path&gt;</code>.",
"Écrit une entrée d'une ligne à <code>/etc/fstab</code>: <code>&lt;srv&gt;:&lt;export&gt; &lt;path&gt; nfs &lt;opts&gt; 0 0</code>.",
"Exécute <code>systemctl daemon-reload</code> donc systemd prend la nouvelle entrée fstab.",
"Tente <code>chmod 1777</code> et <code>setfacl o::rwx</code> sur le point de montage, sans signaler l’échec éventuel. Ne réussit que si le serveur NFS le permet ; beaucoup d’exports NAS permettent déjà l’écriture à tous les utilisateurs."
],
"lxcTitle": "Utilisation du montage fstab d'un LXC",
"lxcBody": "Le script affiche une commande <code>pct set</code> pour un bind mount, par exemple <code>pct set &lt;ctid&gt; -mp0 /mnt/&lt;path&gt;,mp=/mnt/&lt;ct-path&gt;,shared=1,backup=0</code>. Vous pouvez aussi utiliser le <mountLink>LXC Mount Manager</mountLink>, qui détecte les montages fstab. <strong>Rien n’est modifié dans le conteneur</strong>. L’accès depuis un CT non privilégié dépend des permissions serveur pour ses UID/GID mappés. Le script tente seulement des changements de permissions depuis l’hôte ; il ne garantit ni export accessible en écriture ni réglages par défaut des fabricants. En cas d’échec, consultez Dépannage.",
"noUiTitle": "Le montage fstab n'est PAS un stockage Proxmox",
"noUiBody": "Le support fstab hôte est invisible à l'interface web Proxmox — par conception. Il n'apparaît pas dans <em>Datacenter > Storage</em>, vous ne pouvez pas le sélectionner dans le créateur VM / CT et les tâches de sauvegarde Proxmox ne peuvent pas le cibler. C'est simplement un chemin du système de fichiers hôte. Si vous voulez aussi intégrer l'interface utilisateur, marquez les méthodes <em>les deux</em> dans le sélecteur."
},
"manual": {
"heading": "Équivalent manuel",
"pvesmIntro": "Méthode A (pvesm) :",
"fstabIntro": "Méthode B (fstab) :"
},
"view": {
"heading": "Affichage configuré NFS stockages",
"body": "Liste toutes les entrées NFS dans Proxmox (<code>pvesm status | awk ''$2 == \"nfs\"''</code>) avec serveur, exportation, types de contenu, chemin de montage et statut en direct. <strong>Note:</strong> cette vue affiche uniquement les stockages enregistrés par pvesm — les montages uniquement par fstab ne sont pas listés ici. Vérifiez ceux avec <code>findmnt -t nfs</code> ou <code>grep nfs /etc/fstab</code>."
},
"remove": {
"heading": "Supprimer le stockage NFS",
"body": "Exécute <code>pvesm remove &lt;storage-id&gt;</code> après une confirmation qui affiche le serveur / export / contenu. Seul l'enregistrement côté Proxmox est supprimé — <strong>le serveur NFS distant lui-même n'est jamais touché</strong>, aucun fichier n'est supprimé. Pour supprimer un montage uniquement fstab, modifiez <code>/etc/fstab</code> à la main et exécutez <code>umount &lt;path&gt;</code>.",
"warnTitle": "Sauvegarder les dépendances d'abord",
"warnBody": "Si les VM, les CT ou les tâches de sauvegarde renvoient encore à ce stockage (par ID), l'enlever les laisse pointer vers un magasin disparu. Proxmox va signaler l'erreur mais pas nettoyer. Déplacez ou supprimez ces références d'abord, puis supprimez le stockage."
},
"test": {
"heading": "Tester la connectivité NFS",
"body": "Exécute une passe diagnostique sur chaque stockage NFS enregistré dans Proxmox : vérifie que <code>showmount</code> est disponible, que <code>rpcbind</code> est en cours d'exécution, pinge chaque serveur, sonde le port 2049, appelle <code>showmount -e</code>, et enfin rapporte la propre vue de Proxmox (<code>pvesm status</code>). Bon premier arrêt quand un stockage affiche comme <em>inactive</em> dans l'interface utilisateur Proxmox."
},
"troubleshoot": {
"heading": "Dépannage",
"noServersTitle": "\"Aucun serveur NFS trouvé sur le réseau\"",
"noServersBody": "Auto-découverte utilise <code>nmap -p 2049 --open &lt;subnet&gt;/24</code>. Le serveur peut ne pas répondre si : il est sur un sous-réseau VLAN /, ses pare-feu bloquent les sondes nmap (beaucoup font) ou le port 2049 est intentionnellement fermé sur cette interface. Utilisez l'option <em>Manual</em> avec l'IP ou le nom d'hôte du serveur.",
"portTitle": "« Le port NFS (2049) est inaccessible »",
"portBody": "Ping a réussi, mais <code>nc -z -w 3 &lt;server&gt; 2049</code> a échoué. Vérifiez que le service NFS fonctionne sur le serveur (<code>systemctl status nfs-server</code> sous Linux, Panneau de configuration → Services de fichiers sur Synology, plugin NFS sur OMV / TrueNAS), et que le pare-feu permet 2049 depuis l'hôte Proxmox.",
"showmountTitle": "« Impossible de se connecter » depuis showmount",
"showmountBody": "Le serveur a refusé la requête de la liste d'exportation. Causes communes : le serveur fait respecter les CLA du client (votre IP Proxmox n'est pas sur la liste autorisée), <code>rpcbind</code> ne fonctionne pas sur le serveur, ou le serveur n'expose que NFSv4 avec <code>showmount</code> désactivé. Le chemin d'exportation peut encore être ajouté manuellement si vous le connaissez.",
"inactiveTitle": "Le stockage est inactif dans l'UI Proxmox",
"inactiveBody": "Lancez d’abord <em>Tester la connectivité NFS</em> : il vérifie que le serveur répond au ping, que le port 2049 est ouvert et que la liste des exports (<code>showmount -e</code>) est disponible. Si la connexion fonctionne mais que le stockage reste inactif, consultez <code>journalctl -u pvestatd</code> et la configuration serveur/export. Rétablissez d’abord connexion ou permissions. <code>pvesm set &lt;id&gt; --disable 0</code> active un stockage désactivé ; ce n’est pas une réparation générale de NFS.",
"lxcNoWriteTitle": "Le montage fstab fonctionne mais le LXC non privilégié ne peut pas écrire à travers un montage de liaison",
"lxcNoWriteBody": "L’accès NFS dépend des propriétaires, ACL et réglages de squash du serveur. Les options CIFS <code>uid=</code> et <code>file_mode=</code> ne s’appliquent <strong>pas</strong> à NFS. Avec le mappage LXC par défaut, root dans le CT devient l’UID 100000 de l’hôte, pas l’UID distant 0. Autorisez l’UID/GID réellement mappé ou l’identité anonyme du serveur. <code>no_root_squash</code> concerne seulement l’UID distant 0 et ne résout pas tous les cas d’UID 100000. Le script tente <code>chmod 1777</code> sans pouvoir contourner les permissions serveur.",
"fstabBootTitle": "fstab mount ne vient pas après le redémarrage",
"fstabBootBody": "Le script ajoute <code>nofail,_netdev</code> de sorte qu'une part manquante au démarrage ne bloque pas le démarrage. Si le montage n'arrive jamais : confirmez que le réseau est accessible (<code>ping &lt;server&gt;</code>), vérifiez <code>journalctl -u remote-fs.target</code>, et vérifiez que l'entrée est valide avec <code>mount -fav | grep nfs</code>. <code>mount -a</code> après le démarrage monte tout ce qui manque actuellement."
},
"related": {
"heading": "Autres",
"items": [
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS comme stockage Proxmox",
"tail": "— même schéma de flux (méthode A pvesm + méthode B fstab) pour les partages SMB/CIFS."
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Gestionnaire de montage LXC",
"tailRich": "— lier le chemin <code>/mnt/&lt;path&gt;</code> dans un ou plusieurs conteneurs."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "Client NFS dans LXC",
"tail": "— alternative: monter NFS directement de l'intérieur d'un conteneur privilégié (sans passer par l’hôte)."
}
]
}
}
@@ -0,0 +1,172 @@
{
"meta": {
"title": "Hôte : monter un partage Samba | Documentation ProxMenux",
"description": "Monter un partage externe de Samba / CIFS sur l'hôte Proxmox — soit sous forme de stockage Proxmox (pvesm add cifs), soit sous forme de montage fstab d'hôte uni avec uid/gid/file_mode ouvert (NON visible dans Datacenter > Storage), ou les deux. La méthode fstab ouvre les permissions afin qu'un montage non privilégié LXC liant le chemin puisse lire/écrire sans aucun changement à l'intérieur du conteneur.",
"ogTitle": "Hôte : monter un partage Samba | Documentation ProxMenux",
"ogDescription": "Montez un partage Samba / CIFS externe sur l’hôte Proxmox via pvesm, fstab avec permissions ouvertes pour les bind mounts LXC, ou les deux."
},
"header": {
"title": "Hôte : monter un partage Samba sur l’hôte",
"description": "Monter un partage externe de Samba (SMB / CIFS) — depuis un NAS, une boîte Windows, une exportation de TrueNAS SMB — sur l'hôte Proxmox. Choisissez une ou les deux méthodes : enregistrez-la en tant que stockage Proxmox (visible dans Datacenter > Storage) et/ou ajoutez un montage simple /etc/fstab sur un chemin que vous choisissez, avec ouvert uid/gid/file_mode afin que les LXC non privilégiés puissent fixer et écrire sans aucun changement à l'intérieur du conteneur.",
"section": "Stockage et partage · Hôte"
},
"intro": {
"title": "Ce que ça fait",
"body": "ProxMenux propose deux méthodes pour un partage Samba : <strong>(1) Stockage Proxmox</strong> via <code>pvesm add cifs</code>, visible dans Datacenter > Storage et monté sur <code>/mnt/pve/&lt;id&gt;</code>. Le mot de passe est conservé en clair dans <code>/etc/pve/priv/storage/&lt;id&gt;.pw</code>, protégé par le répertoire privé accessible uniquement à root : il s’agit d’un contrôle d’accès, pas d’un chiffrement. <strong>(2) Montage fstab de l’hôte</strong> à un chemin choisi, persistant via <code>/etc/fstab</code> avec <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> pour permettre l’écriture depuis les montages liés des LXC non privilégiés. Les identifiants se trouvent dans un fichier réservé à root sous <code>/etc/samba/credentials/</code>, jamais directement dans <code>fstab</code>. Vous pouvez utiliser l’une des méthodes ou les deux."
},
"opening": {
"heading": "Ouverture de l'outil",
"body": "Dans le menu principal de ProxMenux, ouvrez <strong>Storage &amp; Share Manager → Mount Samba Share on Host</strong>. Le sous-menu comporte quatre options :",
"imageAlt": "Menu Samba Host Manager — Monter / Afficher / Supprimer / Tester la connectivité"
},
"howRuns": {
"heading": "Comment fonctionne le script",
"body": "Le flux a deux phases. Phase 1: découvrez le serveur, validez les identifiants, choisissez le partage, puis choisissez les méthodes de montage via une liste de contrôle. Phase 2 : seules les méthodes que vous avez marquées sont exécutées. Les identifiants sont nécessaires dès le départ parce que <code>smbclient</code> a besoin de ceux-ci pour lister les partages. Jusqu'à la confirmation finale, ni <code>/etc/pve/storage.cfg</code> ni <code>/etc/fstab</code> ne sont touchés."
},
"modes": {
"heading": "Choix de la méthode de montage (une ou deux options)",
"intro": "Après avoir sélectionné le partage et validé les identifiants, ProxMenux affiche une liste de contrôle avec les deux méthodes de montage. Vous pouvez marquer l'un ou l'autre, ou les deux. Si vous appuyez sur OK sans marquer quoi que ce soit, la boîte de dialogue réapparaît jusqu'à ce que vous choisissiez au moins une option ou appuyez sur Annuler pour quitter le flux.",
"headerMethod": "Méthode",
"headerMount": "Chemin de montage",
"headerUi": "Visible dans Datacenter > Stockage",
"headerUseCase": "Cas d'utilisation typique",
"rows": [
{
"method": "<strong>Comme stockage Proxmox (pvesm)</strong>",
"mountRich": "<code>/mnt/pve/&lt;storage-id&gt;</code> (géré par Proxmox)",
"ui": "Oui",
"useCase": "Sauvegardes, ISOs, modèles LXC — tout ce qui doit apparaître dans l'interface utilisateur Proxmox. Les disques en direct VM sont techniquement pris en charge mais découragés sur CIFS (blocage sémantique)."
},
{
"method": "<strong>Uniquement le fstab de l'hôte</strong>",
"mountRich": "<code>/mnt/&lt;path&gt;</code> avec uid/gid/file_mode ouverts",
"ui": "Non",
"useCaseRich": "Montez le partage dans des LXC par bind mount <em>sans</em> enregistrer de stockage Proxmox. Les permissions locales ouvertes facilitent l’accès des CT non privilégiés, mais le serveur SMB doit toujours autoriser l’utilisateur authentifié à écrire."
},
{
"method": "<strong>Les deux</strong>",
"mount": "Les deux chemins ci-dessus (deux points de montage du même export CIFS)",
"ui": "Oui",
"useCase": "Vous voulez l'intégration de l'interface utilisateur ET un chemin stable côté hôte avec des permissions ouvertes pour les montants de liaison LXC. Le montage pvesm utilise les valeurs par défaut de Proxmox; le montage fstab applique séparément l'uid/gid/file_mode."
}
],
"bothTitle": "« Les deux » crée deux points de montage CIFS",
"bothBody": "pvesm monte sur <code>/mnt/pve/&lt;id&gt;</code> avec les options Proxmox par défaut. fstab monte sur <code>/mnt/&lt;path&gt;</code> avec <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> pour l’accès local par bind mounts LXC. Le serveur SMB applique toujours les permissions de l’utilisateur du montage. Deux points de montage ne garantissent pas deux connexions TCP distinctes."
},
"pvesmBranch": {
"heading": "Méthode A — En tant que stockage Proxmox (pvesm)",
"intro": "Si <em>Comme stockage Proxmox</em> est marqué, ProxMenux exécute le flux pvesm d'origine:",
"items": [
"<strong>Storage ID</strong> — par défaut <code>cifs-&lt;server-ip-with-dashes&gt;</code>. Seulement lettres, chiffres, <code>-</code> et <code>_</code>.",
"<strong>Types de contenu</strong> — ce sélecteur ProxMenux propose <strong>6</strong> choix. Il omet <code>rootdir</code> par rapport à NFS ; c’est un choix du script, pas une interdiction des systèmes de fichiers racine LXC dans toutes les versions du backend CIFS Proxmox :"
],
"headerType": "Type de contenu",
"headerAllows": "Ce qu'il permet",
"rows": [
{
"type": "import",
"allows": "Importations d'images de disque (sélectionnées par défaut)."
},
{
"type": "backup",
"allowsRich": "Fichiers de sauvegarde VM et CT (<code>vzdump</code>)."
},
{
"type": "iso",
"allows": "Installation des images ISO."
},
{
"type": "vztmpl",
"allows": "Modèles LXC."
},
{
"type": "images",
"allowsRich": "Images disque des VM en cours d’utilisation — <strong>avertissement dans le dialogue</strong>, voir ci-dessous."
},
{
"type": "snippets",
"allows": "Scripts de hook et snippets cloud-init."
}
],
"warnTitle": "Live VM disques sur CIFS",
"warnBody": "Sélectionner <code>images</code> déclenche un avertissement ProxMenux : CIFS/SMB peut poser des problèmes de verrouillage lors des opérations sur disques VM. Le script recommande NFS mais permet de continuer. Sauvegardes et ISO sont des usages courants de CIFS. Évaluez verrouillage, instantanés, migration et charge avant d’utiliser CIFS pour <code>images</code>.",
"credsTitle": "Où pvesm stocke les identifiants",
"credsBody": "Le mot de passe n’est pas écrit dans <code>/etc/pve/storage.cfg</code>. Proxmox écrit les identifiants en clair dans <code>/etc/pve/priv/storage/&lt;storage-id&gt;.pw</code>, dans la zone privée du système de fichiers du cluster, lisible uniquement par <code>root</code> (mode <code>0600</code>) ; ils sont protégés par les droits d’accès, pas par un chiffrement. Après un changement de mot de passe serveur, utilisez <code>pvesm set &lt;id&gt; --password &lt;new&gt;</code> ou supprimez puis ajoutez le stockage via ProxMenux."
},
"fstabBranch": {
"heading": "Méthode B — Montage fstab de l'hôte uniquement",
"intro": "Si <em>Montage fstab sur l’hôte uniquement</em> est sélectionné, ProxMenux demande le chemin et les options persistantes, crée un fichier d’identifiants réservé à root en mode utilisateur, puis monte le partage et écrit l’entrée dans <code>/etc/fstab</code> :",
"items": [
"<strong>Chemin de montage sur l’hôte</strong> — par défaut <code>/mnt/&lt;share-name&gt;</code>. Ça doit être un chemin absolu. Si quelque chose y est déjà monté, ou si une entrée fstab existe, ProxMenux propose de la remplacer.",
"<strong>Options de montage</strong> — <em>Lecture/écriture</em> (par défaut: <code>rw,uid=0,gid=0,file_mode=0777,dir_mode=0777,iocharset=utf8,nofail,_netdev</code>), <em>Lecture seule</em> (<code>file_mode=0555,dir_mode=0555</code>), <em>Personnalisé</em> (saisissez vos options). Le script recommande des uid/gid/file_mode ouverts pour les écritures via bind mounts LXC."
],
"credsTitle": "Fichier d’identifiants (mode utilisateur)",
"credsBody": "En mode utilisateur, ProxMenux crée un fichier d’identifiants réservé à root dans <code>/etc/samba/credentials/&lt;server&gt;_&lt;share&gt;.cred</code> (mode <code>0600</code>) avec des lignes <code>username=</code> et <code>password=</code>. L’entrée fstab le référence par l’option <code>credentials=</code> : le mot de passe en clair ne figure pas dans <code>/etc/fstab</code>. En mode invité, l’option <code>guest</code> remplace ce fichier, qui n’est pas créé.",
"appliesIntro": "Une fois que vous avez confirmé, le script :",
"applies": [
"<code>mkdir -p</code> le chemin de montage.",
"<code>mount -t cifs -o &lt;opts&gt;,credentials=&lt;file&gt;</code> (ou <code>guest</code>) <code>//&lt;srv&gt;/&lt;share&gt; &lt;path&gt;</code>.",
"Écrit une entrée d'une ligne à <code>/etc/fstab</code>: <code>//&lt;srv&gt;/&lt;share&gt; &lt;path&gt; cifs &lt;opts&gt; 0 0</code>.",
"Exécute <code>systemctl daemon-reload</code> donc systemd prend la nouvelle entrée fstab."
],
"lxcTitle": "Utilisation du montage fstab d'un LXC non privilégié",
"lxcBody": "Les options CIFS <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> ouvrent les permissions locales pour les bind mounts LXC. Les ACL serveur et la sémantique Unix/POSIX négociée peuvent encore limiter l’accès. <strong>Rien n’est modifié dans le conteneur</strong> : ni <code>chown</code> dans le CT, ni groupes, ni édition de <code>/etc/lxc</code>. La ligne <code>mp</code> est gérée dans la configuration Proxmox du CT. Utilisez la commande <code>pct set</code> affichée ou le <mountLink>LXC Mount Manager</mountLink>.",
"noUiTitle": "Le montage fstab n'est PAS un stockage Proxmox",
"noUiBody": "Le support fstab hôte est invisible à l'interface web Proxmox — par conception. Il n'apparaît pas dans <em>Datacenter > Storage</em>, vous ne pouvez pas le sélectionner dans le créateur VM / CT et les tâches de sauvegarde Proxmox ne peuvent pas le cibler. C'est simplement un chemin du système de fichiers hôte. Si vous voulez aussi intégrer l'interface utilisateur, marquez les méthodes <em>les deux</em> dans le sélecteur."
},
"manual": {
"heading": "Équivalent manuel",
"pvesmIntro": "Méthode A (pvesm) :",
"fstabUserIntro": "Méthode B (fstab, auth utilisateur) — fichier d'identification + montage:",
"fstabGuestIntro": "Méthode B (fstab, guest auth) — pas de dossier d'identification:"
},
"view": {
"heading": "Voir les stockages CIFS et montages de l’hôte",
"body": "Affiche les stockages CIFS enregistrés (<code>pvesm status | awk ''$2 == \"cifs\"''</code>) avec serveur, partage, contenu, utilisateur ou <em>Invité</em>, chemin et état. Les mots de passe ne sont <strong>jamais affichés</strong>. <strong>Note :</strong> une seconde section liste les montages fstab de l’hôte, leurs options, le chemin du fichier d’identifiants et leur état actif/inactif. Vérification manuelle avec <code>findmnt -t cifs</code> ou <code>grep cifs /etc/fstab</code>."
},
"remove": {
"heading": "Supprimer un stockage CIFS ou un montage hôte",
"body": "Le sélecteur propose les stockages pvesm et les montages fstab de l’hôte. Pour pvesm, il exécute <code>pvesm remove &lt;storage-id&gt;</code> et Proxmox retire les identifiants associés. Pour fstab, il tente <code>umount &lt;path&gt;</code>, retire l’entrée de <code>/etc/fstab</code> et les identifiants sous <code>/etc/samba/credentials/</code>, puis le répertoire vide si possible. Un échec du démontage exige un démontage manuel ou un redémarrage. <strong>Le serveur Samba distant et ses fichiers restent inchangés</strong>.",
"warnTitle": "Sauvegarder les dépendances d'abord",
"warnBody": "VMs, CTs ou tâches de sauvegarde qui renvoient à ce stockage par ID échoueront après la suppression. Déplacer / laisser tomber ces références avant de supprimer le stockage."
},
"test": {
"heading": "Tester la connectivité Samba",
"body": "Diagnostic de chaque stockage CIFS enregistré dans Proxmox : vérifie la présence de <code>smbclient</code>, teste ping et les ports 445/139, tente de lister les partages en invité et affiche l’état selon Proxmox (<code>pvesm status</code>). « Authentification requise » lors du test invité signifie que le serveur réserve les partages aux utilisateurs authentifiés, ce qui est normal pour la plupart des NAS."
},
"troubleshoot": {
"heading": "Dépannage",
"noServersTitle": "\"Aucun serveur Samba trouvé sur le réseau\"",
"noServersBody": "Auto-découverte utilise <code>nmap -p 139,445</code>. Le serveur peut être sur un sous-réseau différent, pare-feu, ou seulement accessible par hostname (mDNS / WINS). Utilisez l'option <em>Manual</em> avec l'IP ou le nom d'hôte à la place.",
"noSharesTitle": "« Aucun partage accessible trouvé »",
"noSharesBody": "<code>smbclient -L</code> n'a rien retourné pour ces références. Causes : l'utilisateur n'a pas la permission de lister des partages (essayez avec les identifiants d'administrateur une fois, ou entrez le nom du partage manuellement), le serveur a désactivé la visibilité du partage, ou les identifiants sont erronés. Le script vous permet de saisir le nom du partage à la main dans ce cas.",
"denyTitle": "Le montage Proxmox échoue avec NT_STATUS_ACCESS_DENIED",
"denyBody": "Les identifiants pvesm stockés sont hors de synchronisation avec le serveur Samba (mot de passe modifié, compte désactivé, domaine / groupe de travail incorrect). Rentrer les identifiants avec <code>pvesm set &lt;id&gt; --username &lt;u&gt; --password &lt;p&gt;</code> ou supprimer et réajouter de ProxMenux. Si le serveur est dans un domaine AD, ajoutez <code>--domain &lt;DOMAIN&gt;</code> à l'appel <code>pvesm set</code>.",
"sleepTitle": "\"l'hôte est en panne\" ou le statut de stockage est inactif la nuit",
"sleepBody": "Certains appareils NAS mettent SMB à dormir agressivement. <code>pvestatd</code> voit alors le stockage comme inactif jusqu'à ce que le premier accès réveille le NAS. Si c'est cosmétique, rien n'est cassé. Si cela provoque des défaillances de sauvegarde, désactivez la déconnexion au ralenti de SMB sur le NAS ou planifiez des sauvegardes à l'extérieur de la fenêtre de veille.",
"lxcNoWriteTitle": "Le bind mount du LXC non privilégié ne permet pas d’écrire dans le chemin fstab",
"lxcNoWriteBody": "Vérifiez les options voulues avec <code>findmnt /mnt/&lt;path&gt;</code>, par exemple <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>. Des permissions locales insuffisantes peuvent bloquer les UID LXC mappés. Réappliquez le profil RW ou adaptez les options personnalisées. Vérifiez aussi les droits serveur de l’utilisateur SMB et si les extensions Unix/POSIX fournissent les modes serveur ; les modes locaux ouverts ne contournent pas les ACL serveur.",
"fstabBootTitle": "fstab mount ne vient pas après le redémarrage",
"fstabBootBody": "Le script ajoute <code>nofail,_netdev</code> de sorte qu'un partage manquant au démarrage ne bloque pas le démarrage. Si le montage n'arrive jamais : confirmez que le réseau est accessible (<code>ping &lt;server&gt;</code>), vérifiez <code>journalctl -u remote-fs.target</code>, vérifiez que le fichier d'identification existe toujours (<code>ls -l /etc/samba/credentials/</code>) et est lisible, et essayez <code>mount -a</code> manuellement."
},
"related": {
"heading": "Autres",
"items": [
{
"href": "/docs/storage-share/host-nfs",
"label": "Partage NFS comme stockage Proxmox",
"tail": "— page soeur avec le même schéma de flux (méthode A pvesm + méthode B fstab) et compromis côte à côte."
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Gestionnaire de montage LXC",
"tailRich": "— lier le chemin <code>/mnt/&lt;path&gt;</code> dans un ou plusieurs conteneurs."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Client Samba en LXC",
"tail": "— alternative: monter Samba directement de l'intérieur d'un conteneur privilégié (sans passer par l’hôte)."
}
]
}
}
@@ -0,0 +1,135 @@
{
"meta": {
"title": "NFS, Samba, iSCSI et points de montage LXC dans Proxmox — Stockage et partage | ProxMenux",
"description": "Intégrez le stockage externe et local dans Proxmox VE et partagez des dossiers entre l’hôte et les conteneurs LXC. Ajoutez des partages NFS, Samba (CIFS) et des cibles iSCSI comme stockage Proxmox, configurez les bind mounts LXC avec Mount Manager et exécutez des clients et serveurs NFS ou Samba dans les conteneurs.",
"ogTitle": "Proxmox NFS, Samba, iSCSI et LXC Points de montage — Stockage et partage",
"ogDescription": "Intégrez le stockage externe / local dans Proxmox VE — NFS, Samba, enregistrement iSCSI plus les bind mounts LXC et le partage de réseau.",
"twitterTitle": "Proxmox NFS, Samba, iSCSI | ProxMenux",
"twitterDescription": "Ajouter NFS / Samba / iSCSI comme stockage Proxmox et partager des dossiers entre hôte et LXC."
},
"header": {
"title": "Gestionnaire de stockage et de partage",
"description": "Intégrez le stockage externe ou local dans Proxmox VE et partagez des dossiers entre l’hôte et les conteneurs LXC. Trois groupes d’outils : intégration du stockage de l’hôte (enregistrement dans Proxmox), LXC Mount Manager (bind mounts avec gestion pratique des permissions) et partage réseau LXC (procédures client et serveur NFS ou Samba pour des besoins précis).",
"section": "Stockage et partage"
},
"intro": {
"title": "Ce menu sert à",
"body": "Le gestionnaire de disques agit au niveau des <em>disques physiques individuels</em>. Storage &amp; Share Manager agit au niveau supérieur : il <strong>enregistre les pools de stockage et les partages réseau dans Proxmox</strong> (pour que l’interface et l’outil de création de VM puissent les utiliser) et <strong>configure le partage de fichiers entre l’hôte et vos conteneurs</strong>."
},
"opening": {
"heading": "Ouverture du menu",
"body": "Dans le menu principal de ProxMenux, sélectionnez <strong>Storage &amp; Share Manager</strong>. Vous verrez ceci :",
"imageAlt": "Menu Storage & Share Manager avec blocs HOST et LXC"
},
"groups": {
"heading": "Trois groupes d'outils",
"intro": "Le menu se divise en trois groupes. <strong>Intégration du stockage de l’hôte</strong> enregistre le stockage externe ou local dans Proxmox. Le <strong>LXC Mount Manager</strong> est l’outil principal pour partager des dossiers avec les conteneurs : une procédure de bind mount qui gère la correspondance des UID non privilégiés côté hôte. <strong>Partage réseau LXC</strong> couvre quatre scénarios supplémentaires dans lesquels un conteneur doit directement <em>utiliser</em> ou <em>exposer</em> des partages NFS ou Samba.",
"hostTitle": "Stockage de l'hôte",
"hostBody": "Enregistrer le stockage externe et local dans Proxmox via <code>pvesm add …</code>. Une fois enregistré, le stockage apparaît dans l'interface utilisateur Proxmox et est disponible pour les créateurs VM et CT.",
"hostItems": [
"NFS / Samba / iSCSI externes → stockage Proxmox",
"Disque local → Répertoire Proxmox ou stockage ZFS",
"Répertoire local partagé (pour les bind mounts entre CT)"
],
"lxcMountTitle": "Gestionnaire de montage LXC",
"lxcMountBody": "L’outil principal de partage LXC. Il monte les répertoires de l’hôte dans les conteneurs par bind mount via <code>pct set -mpN</code> et gère les particularités des permissions des CT non privilégiés, sans créer de groupe ni d’utilisateur dans le conteneur.",
"lxcMountItems": [
"Fonctionne avec des CT privilégiés et non privilégiés",
"Propose <code>o+rwx</code> sur le répertoire hôte pour les UID non privilégiés",
"Correction des montages CIFS / NFS existants si nécessaire"
],
"lxcNetTitle": "Partage de réseau LXC",
"lxcNetBody": "Quatre procédures supplémentaires pour les conteneurs qui doivent utiliser ou exposer directement des partages NFS ou Samba. Toutes exigent un conteneur <strong>privilégié</strong>.",
"lxcNetItems": [
"<strong>Client</strong> NFS / Samba (utiliser des partages externes)",
"NFS / Samba <strong>serveur</strong> (exposer les dossiers CT)"
]
},
"host": {
"heading": "Intégration du stockage de l'hôte",
"intro": "Enregistrer le stockage dans Proxmox. Chaque option appelle <code>pvesm add …</code> sous le capot, de sorte que le stockage apparaît dans <strong>Datacenter → Storage</strong> et devient disponible pour les créateurs VM / CT.",
"options": [
{
"href": "/docs/storage-share/host-nfs",
"icon": "Network",
"title": "Ajouter un partage NFS comme stockage Proxmox",
"description": "Enregistrez un export NFS externe comme stockage Proxmox avec pvesm add nfs. Proxmox gère le montage, sans ajout dans fstab."
},
{
"href": "/docs/storage-share/host-samba",
"icon": "Share2",
"title": "Ajouter un partage Samba comme stockage Proxmox",
"description": "Enregistrez un partage Samba ou CIFS externe comme stockage Proxmox avec pvesm add cifs. Proxmox gère le montage et les identifiants."
},
{
"href": "/docs/storage-share/host-iscsi",
"icon": "Database",
"title": "Ajouter la cible iSCSI comme stockage Proxmox",
"description": "Connectez-vous à une cible externe iSCSI et enregistrez-la en tant que stockage Proxmox (périphérique bloc) pour les images de disque VM."
},
{
"href": "/docs/storage-share/host-local-disk",
"icon": "HardDrive",
"title": "Ajouter le disque local comme stockage Proxmox",
"description": "Formatez un disque local SATA / SAS / NVMe et enregistrez-le comme stockage de type répertoire ou pool ZFS dans Proxmox."
},
{
"href": "/docs/storage-share/host-local-shared",
"icon": "FolderOpen",
"title": "Ajouter un répertoire partagé sur Host",
"description": "Créer un répertoire hôte destiné à être monté sur plusieurs CT. Pas un stockage Proxmox — purement une ressource côté hôte pour les bind mounts LXC."
}
]
},
"lxcMount": {
"heading": "Gestionnaire de montage LXC",
"intro": "L'outil principal pour le partage des dossiers entre l'hôte Proxmox et les conteneurs LXC. Il utilise <code>pct set -mpN</code> pour relier un répertoire hôte dans le conteneur, et gère les quirks de permission des CT non privilégiés du côté hôte (aucun groupe ou utilisateur ne sont créés à l'intérieur du conteneur).",
"card": {
"title": "Points de montage LXC (hôte ↔ CT)",
"description": "Bind-mount n'importe quel répertoire hôte dans un conteneur LXC via pct set -mpN. Fonctionne avec des CT privilégiés et non privilégiés; offre chmod o+rwx / ACLs sur le répertoire hôte et corrige les montages CIFS / NFS existants au besoin."
}
},
"lxcNet": {
"heading": "Partage de réseau LXC",
"intro": "Utilisez ces procédures quand le conteneur doit <em>être</em> un point d’accès NFS ou Samba : utiliser un partage externe (client) ou exposer ses propres dossiers (serveur). Pour la plupart des partages de fichiers (bind mounts hôte ↔ CT), le <mountLink>LXC Mount Manager</mountLink> est plus simple et ne nécessite pas de conteneurs privilégiés.",
"options": [
{
"href": "/docs/storage-share/lxc-nfs-client",
"icon": "Download",
"title": "Client NFS dans LXC",
"description": "Montez des partages NFS externes depuis un conteneur LXC privilégié. Détection automatique, persistance dans /etc/fstab et démontages propres pris en charge."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"icon": "Download",
"title": "Client Samba en LXC",
"description": "Montez des partages Samba / CIFS depuis un conteneur LXC privilégié. Identifiants stockés de manière protégée et détection automatique disponible."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"icon": "Upload",
"title": "Serveur NFS dans LXC",
"description": "Exporter des dossiers sur NFS à partir d'un conteneur LXC privilégié."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"icon": "Upload",
"title": "Serveur Samba en LXC",
"description": "Exposer les dossiers sur SMB / CIFS de l'intérieur d'un conteneur privilégié LXC."
}
]
},
"privReq": {
"title": "Exigences concernant les conteneurs privilégiés",
"body": "Les quatre procédures de <strong>partage réseau LXC</strong> ci-dessus exigent un conteneur <strong>privilégié</strong>. Les scripts imposent ce mode pris en charge avant de configurer les services et outils de montage (<code>nfs-kernel-server</code>, <code>smbd</code>, <code>mount.nfs</code>, <code>mount.cifs</code>). Pour partager des fichiers entre l’hôte et un CT non privilégié, utilisez le <mountLink>LXC Mount Manager</mountLink> : il réalise les bind mounts et ajuste les permissions côté hôte pour permettre la lecture et l’écriture sans configurer ces services ou outils dans le conteneur."
},
"unprivExplain": {
"title": "Comment ProxMenux gère les autorisations de CT non privilégiées",
"body": "Les conteneurs LXC non privilégiés décalent leurs UID de <strong>+100000</strong> sur l’hôte (UID 0 du conteneur = UID 100000 de l’hôte, UID 1000 du conteneur = UID 101000 de l’hôte, …). Un fichier créé par un utilisateur du conteneur apparaît donc comme appartenant aux <em>autres</em> sur l’hôte, sans utilisateur ni groupe hôte ordinaire correspondant. LXC Mount Manager propose une solution pratique : plutôt que d’aligner les UID/GID entre hôte et CT, il propose <code>chmod o+rwx</code> et les ACL correspondantes sur le répertoire hôte pour que tout UID mappé puisse lire et écrire. Pour CIFS, il remonte avec <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> ; pour NFS, il configure un répertoire accessible en écriture à tous avec sticky bit et, si le serveur applique root squash, indique la correction à effectuer côté serveur."
},
"scripts": {
"heading": "Scripts concernés",
"intro": "Chaque page se connecte au script qui conduit son flux. Le fichier ci-dessous est un helper partagé qui n'est pas documenté comme sa propre page mais est utilisé par plusieurs flux de partage de réseau LXC:",
"itemTail": "— validation CT, sélection de points de montage, contrôle privilégié et helpers de configuration de groupe universels partagés sur les flux client/serveur LXC."
}
}
@@ -0,0 +1,174 @@
{
"meta": {
"title": "Points de montage LXC (hôte ↔ conteneur) | Documentation ProxMenux",
"description": "Le gestionnaire de montages LXC rend tout répertoire de l’hôte accessible dans un ou plusieurs conteneurs LXC par bind mount via pct set -mpN. Il gère les particularités des permissions des conteneurs non privilégiés, corrige les montages CIFS / NFS sur l’hôte et ne modifie rien dans le conteneur.",
"ogTitle": "Points de montage LXC (hôte ↔ conteneur) | Documentation ProxMenux",
"ogDescription": "Montez les répertoires de l’hôte dans les conteneurs LXC par bind mount. Gestion pratique du mappage UID non privilégié et correction des accès CIFS / NFS sur l’hôte."
},
"header": {
"title": "Points de montage LXC (hôte ↔ conteneur)",
"description": "L'outil principal pour le partage des dossiers entre l'hôte Proxmox et les conteneurs LXC. Bind-mount n'importe quel répertoire hôte dans un ou plusieurs conteneurs en utilisant la syntaxe native pct set -mpN de Proxmox. Le point fort : il résout les maux de tête d'autorisation des conteneurs non privilégiés du côté hôte – il ne modifie jamais rien à l'intérieur du conteneur.",
"section": "Stockage et partage · LXC"
},
"intro": {
"title": "Ce que ça fait",
"body": "Prenez un répertoire qui vit sur l'hôte Proxmox (un dossier local, un NAS partagé, un stockage géré par Proxmox...) et faites-le apparaître à l'intérieur d'un conteneur LXC sur un chemin que vous choisissez, avec des permissions qui fonctionnent même pour des conteneurs non privilégiés — sans rien toucher à l'intérieur du conteneur."
},
"bigPicture": {
"heading": "Comment ça marche (la grande image)",
"intro": "Un bind mount demande au noyau de rendre le répertoire <code>X</code> de l’hôte également accessible au chemin <code>Y</code> du conteneur. Aucune copie, synchronisation ou transmission réseau : les deux côtés voient les <em>mêmes fichiers</em> en même temps.",
"sourceLabel": "Hôte Proxmox",
"sourceDetail": "/mnt/data\n(votre dossier)",
"targetLabel": "Conteneur LXC",
"targetDetail": "/mnt/data\n(apparaît ici)",
"arrowLabel": "bind mount",
"outro": "Le chemin de l'hôte à gauche et le chemin du conteneur à droite peuvent être différents — par exemple, <code>/mnt/nas-films</code> sur l'hôte peut devenir <code>/media/films</code> à l'intérieur du conteneur. Le script ajoute l'entrée à la configuration du conteneur (<code>/etc/pve/lxc/&lt;ctid&gt;.conf</code>) en utilisant le prochain index libre <code>mpN</code>, avec deux paramètres de sécurité par défaut:",
"items": [
"<code>shared=1</code> — indique à Proxmox que les données sont partagées et ne doivent pas être migrées avec le CT. Ce drapeau ne réplique rien : le même chemin et les mêmes données doivent déjà être disponibles sur le nœud cible.",
"<code>backup=0</code> — exclut le montage de liaison des sauvegardes <code>vzdump</code> (les données vivent sur l'hôte, vous les sauvegardez séparément)."
]
},
"perms": {
"heading": "Gestion des autorisations — la partie smart",
"intro": "Les bind mounts sont faciles en principe. La partie dure est permissions : un conteneur <strong>non privilégié</strong> LXC déplace chaque UID par <strong>+100000</strong>, donc un fichier créé à l'intérieur du conteneur par l'utilisateur 1000 apparaît sur l'hôte sous le nom d'UID 101000 — un UID que personne ne possède sur l'hôte. Pour que cela fonctionne sans aligner les UIDs sur les hôtes et les conteneurs, ProxMenux applique le bon \"ouvrir les permissions\" sur le côté <em>hôte</em>, selon le type de répertoire que vous avez choisi:",
"headerType": "Type de répertoire hôte",
"headerAction": "Ce que le script offre à faire",
"localType": "Dossier local",
"localTypeSub": "Par exemple /mnt/data",
"localActionRich": "<code>chmod o+rwx</code> + <code>setfacl o::rwx</code> dans le répertoire hôte. Seulement offert si le CT n'est pas privilégié et que les autorisations actuelles sont insuffisantes.",
"cifsType": "CIFS monté / SMB",
"cifsTypeSub": "Par exemple /mnt/pve/cifs-…",
"cifsActionRich": "Remonter avec <code>uid=0, gid=0, file_mode=0777, dir_mode=0777</code> afin que le CT (tout UID) puisse lire et écrire le partage. <code>/etc/fstab</code> est mis à jour.",
"nfsType": "NFS monté",
"nfsTypeSub": "Par exemple /mnt/pve/nfs-…",
"nfsActionRich": "<code>chmod 1777</code> + <code>setfacl o::rwx</code> sur le support NFS. Impossible de surcharger le squashing côté serveur — si même l'hôte root ne peut pas écrire, vous êtes guidé pour corriger l'exportation sur le serveur NFS.",
"privTitle": "Les conteneurs privilégiés n'ont pas besoin de ça",
"privBody": "Pour les conteneurs privilégiés, UID 0 dans le CT est UID 0 sur l'hôte — root à l’intérieur du CT peut lire et écrire le répertoire hôte directement sans aucun tour de permission. Le script détecte cela et saute l'étape \"ouvrir les permissions\" entièrement.",
"noCtTitle": "Le script ne modifie jamais rien à l'intérieur du conteneur",
"noCtBody": "Toutes les modifications d'autorisation se produisent sur le système de fichiers <strong>host</strong>. Pas de chowns <code>pct exec</code>, pas de groupes créés dans le CT, pas de fstab à l'intérieur du conteneur. Si vous réutilisez le répertoire relié dans un autre CT plus tard, les mêmes permissions s'appliquent automatiquement — pas de configuration par conteneur."
},
"writes": {
"heading": "Ce que ProxMenux écrit — et ce qu'il ne fait pas",
"intro": "Une confusion fréquente lors du montage de la liaison dans un CT non privilégié: les gens supposent que ProxMenux doit écrire des entrées <code>lxc.idmap</code> dans <code>/etc/pve/lxc/&lt;CTID&gt;.conf</code>. <strong>Il ne le fait pas.</strong> Une seule ligne est annexée à ce fichier — le montage de liaison lui-même:",
"outro": "La ligne de sortie que vous voyez à la fin de l'exécution, <em>\"Conteneur non privilégié — Offset UID: 100000\"</em>, est purement informative — elle vous indique simplement que le CT utilise la cartographie non privilégiée par défaut de Proxmox (root dans CT = UID 100000 sur l'hôte). Le script ne configure rien autour.",
"twoWaysHeading": "Les deux façons de faire fonctionner les permissions — et pourquoi ProxMenux en choisit une",
"headerApproach": "Approche",
"headerChanges": "Ce que ça change",
"headerWhen": "Quand ça va",
"hostType": "Permissions côté hôte",
"hostTypeSub": "(ce que ce script fait)",
"hostChangesRich": "<code>chmod o+rwx</code> + <code>setfacl o::rwx</code> dans le répertoire hôte. Les UIDs cartographiés du CT (100000+) tombent dans le seau \"autres\", donc ouvrir le <em>autres</em> suffit.",
"hostWhen": "Accès à dossier partagé générique depuis n'importe quel CT. Plusieurs CT partageant le même répertoire hôte. Simple et réutilisable.",
"idmapTypeRich": "<code>lxc.idmap</code>",
"idmapTypeSub": "(non utilisé par ce script)",
"idmapChangesRich": "Carte UID/GID personnalisée dans <code>/etc/pve/lxc/&lt;CTID&gt;.conf</code> plus les entrées correspondantes <code>/etc/subuid</code> + <code>/etc/subgid</code> sur l'hôte. Le CT doit être redémarré sur chaque changement.",
"idmapWhenRich": "Vous avez besoin d'un UID <em>spécifique</em> à l'intérieur du CT pour cartographier un UID <em>spécifique</em> sur l'hôte (p. ex. <code>media:1000</code> dans le CT doit posséder des fichiers comme <code>media:1000</code> sur l'hôte de sorte que NFS ne squash). Une configuration plus rigide, normalement ne vaut que pour ce scénario exact.",
"idmapTipTitle": "Lorsque vous avez réellement besoin de lxc.idmap",
"idmapTipBody": "Utilisez le mappage manuel si les fichiers écrits dans le CT doivent avoir un UID/GID numérique précis sur l’hôte, par exemple pour partager le propriétaire avec un utilisateur de l’hôte. Il ne contourne pas <code>all_squash</code> de NFS : le serveur décide toujours de l’identité anonyme et des permissions. Ajoutez au besoin des entrées <code>lxc.idmap</code> manuellement. La ligne de bind mount en est indépendante."
},
"opening": {
"heading": "Ouverture de l'outil",
"body": "Dans le menu principal de ProxMenux, ouvrez <strong>Storage &amp; Share Manager → Configure LXC Mount Points (Host ↔ Container)</strong>. Le sous-menu comporte trois options :",
"imageAlt": "Menu LXC Mount Manager — Ajouter / Afficher / Supprimer"
},
"addFlow": {
"heading": "Ajouter un montage — procédure complète",
"intro": "La vue technique, pour savoir exactement ce que fait chaque boîte de dialogue :"
},
"sources": {
"heading": "Ce que vous pouvez choisir comme répertoire hôte",
"intro": "Le sélectionneur de répertoire hôte est le plus complet de la section Stockage &amp; Share. Il scanne quatre sources et présente une liste dédoublée :",
"headerSource": "Source",
"headerWhere": "D'où ça vient",
"headerLabel": "Étiquette dans le menu",
"rows": [
{
"source": "Montages en réseau actifs",
"whereRich": "Partages CIFS / NFS actuellement montés, lus dans <code>/proc/mounts</code>.",
"labelRich": "<code>NFS [used/size]</code> ou <code>CIFS/SMB [used/size]</code>"
},
{
"source": "Montages fstab inactifs",
"whereRich": "Défini dans <code>/etc/fstab</code> mais pas actuellement monté.",
"labelRich": "<code>fstab(off)-NFS</code> / <code>fstab(off)-CIFS/SMB</code>"
},
{
"source": "Répertoires locaux",
"whereRich": "Les répertoires Sub sous <code>/mnt</code> qui ne sont pas des montages réseau.",
"labelRich": "<code>Local [size]</code>"
},
{
"source": "Stockages Proxmox",
"whereRich": "Voies de stockage sous <code>/mnt/pve/*</code> (NFS / CIFS enregistrées via <code>pvesm</code>).",
"labelRich": "<code>PVE-NFS</code> / <code>PVE-CIFS/SMB</code> / <code>Proxmox-Storage</code>"
},
{
"source": "Entrée manuelle",
"where": "N'importe quoi d'autre — tapez le chemin absolu vous-même.",
"labelRich": "<em>Saisir le chemin manuellement</em>"
}
],
"tipTitle": "Les chemins internes Proxmox sont filtrés",
"tipBody": "Le sélecteur saute explicitement les chemins Proxmox internes (<code>/mnt/pve/local</code>, <code>/mnt/pve/local-lvm</code>, <code>/mnt/pve/backup</code>, ...) — ceux-ci sont réservés aux internes Proxmox et vous ne devriez pas les fixer. Seuls les stockages ajoutés par l'utilisateur apparaissent."
},
"manual": {
"heading": "Équivalent manuel",
"privIntro": "Pour un conteneur privilégié — le cas le plus simple, pas de tours de permission:",
"unprivLocalIntro": "Pour un conteneur non privilégié avec un répertoire d'hôte local — ouvrir les permissions sur l'hôte d'abord:",
"unprivCifsIntro": "Pour un conteneur non privilégié avec un partage CIFS déjà montée sur l'hôte:"
},
"view": {
"heading": "Afficher les points de montage",
"body": "Liste toutes les entrées <code>mpN</code> sur chaque conteneur de cet hôte Proxmox, regroupées par CT id et montrant le chemin hôte → chemin conteneur plus toutes les options supplémentaires. En lecture seule — utile comme vérification de cohérence avant d'ajouter ou de supprimer quoi que ce soit."
},
"remove": {
"heading": "Supprimer un point de montage",
"body": "Choisissez le contenant, choisissez l'entrée <code>mpN</code>, confirmez. Le script lance <code>pct set --delete mpN</code> pour supprimer l'entrée de la configuration CT et propose de redémarrer le conteneur s'il est en cours d'exécution. Le répertoire hôte et son contenu sont <strong>non touché</strong> — vous pouvez rajouter le montage plus tard (ou attacher le même répertoire à un autre CT).",
"warnTitle": "Les conteneurs en cours d’exécution doivent redémarrer pour appliquer les changements",
"warnBody": "L'ajout et la suppression de points de montage ne deviennent visibles à l'intérieur du conteneur qu'après un redémarrage. Le script offre un <code>pct reboot</code> en un clic à la fin de chaque opération ; vous pouvez décliner et redémarrer manuellement plus tard."
},
"troubleshoot": {
"heading": "Dépannage",
"noMountTitle": "Mont apparaît en pct config mais pas dans le conteneur",
"noMountBody": "Les bind mounts ne sont attachés que lorsque le conteneur démarre. Si vous avez ajouté le montage pendant que le CT était en cours d'exécution, redémarrez-le (<code>pct reboot &lt;ctid&gt;</code>). Si elle est déjà redémarrée et manquante, vérifiez que <code>pct config &lt;ctid&gt;</code> confirme que l'entrée existe et que le chemin hôte contient un répertoire.",
"noWriteTitle": "Le conteneur peut voir le répertoire mais ne peut pas écrire",
"noWriteBody": "Presque toujours un problème de permissions. Pour les conteneurs non privilégiés, lancez à nouveau la correction de l'autorisation du script — les ACL du répertoire hôte peuvent avoir été réinitialisés par un autre outil (rsync, restauration de sauvegarde, manuel <code>chmod</code>). Pour CIFS, double-vérifiez les options de montage sur l'hôte : <code>findmnt /mnt/pve/cifs-…</code>, recherchez les valeurs <code>uid=</code> / <code>gid=</code> / <code>file_mode=</code>.",
"alreadyTitle": "\"Ce chemin est déjà utilisé comme point de montage dans ce conteneur\"",
"alreadyBody": "Vous avez choisi le même chemin de conteneur qui est déjà connecté à un autre répertoire hôte. Soit choisir un chemin de conteneur différent, soit enlever le point de montage existant en premier.",
"nfsTitle": "L'accès NFS est bloqué même après l'application de la correction hôte",
"nfsIntro": "Votre serveur NFS est un squashing root ou toutes les connexions. Le script peut détecter cela (il essaie d'écrire un fichier de test à partir de l'hôte) et affiche des conseils côté serveur. Deux corrections communes côté serveur pour l'exportation:",
"nfsItems": [
"<code>no_root_squash</code> — les CT privilégiés peuvent écrire directement.",
"<code>all_squash,anonuid=65534,anongid=65534</code> — pour les CT non privilégiés."
],
"nfsOutro": "Ces changements se produisent sur le serveur NFS (TrueNAS, Synology, votre exportation personnalisée, ...), pas sur Proxmox.",
"fstabOffTitle": "Le montage des entrées \"fstab(off)\" ne fait rien",
"fstabOffBody": "Le sélecteur affiche les entrées <code>fstab(off)-</code> lorsqu'un montage réseau est défini dans fstab mais pas actuellement monté. Le script vous permet de lier le chemin, mais le répertoire sera vide jusqu'à ce que vous montez réellement le partage (<code>mount &lt;path&gt;</code> sur l'hôte). Montez-le d'abord, puis liez-le au CT."
},
"related": {
"heading": "Autres",
"items": [
{
"href": "/docs/storage-share/host-local-shared",
"label": "Ajouter un répertoire partagé sur l'hôte",
"tailRich": "— première étape typique: préparer un <code>/mnt/shared</code> sur l'hôte avant de le fixer dans un ou plusieurs CTs ici."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "Ajouter un partage NFS comme stockage Proxmox",
"extraHref": "/docs/storage-share/host-samba",
"extraLabel": "Ajouter un partage Samba comme stockage Proxmox",
"joiner": " / ",
"tailRich": "— enregistrer d'abord un partage externe dans Proxmox, puis fixer son chemin <code>/mnt/pve/&lt;id&gt;</code> dans le CT ici."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "Client NFS dans LXC",
"extraHref": "/docs/storage-share/lxc-samba-client",
"extraLabel": "Client Samba en LXC",
"joiner": " / ",
"tail": "— l'alternative lorsque vous voulez que le CT lui-même monte le partage (exige un conteneur privilégié)."
}
]
}
}
@@ -0,0 +1,128 @@
{
"meta": {
"title": "NFS client en LXC | ProxMenux Documentation",
"description": "Montez des partages NFS directement dans un conteneur LXC Proxmox avec ProxMenux. Installation automatique de nfs-common, découverte sur le LAN, montages persistants via /etc/fstab et paramètres de démarrage sûrs. Nécessite un conteneur privilégié.",
"ogTitle": "NFS client en LXC | ProxMenux Documentation",
"ogDescription": "Montez des partages NFS dans un conteneur LXC privilégié. Découverte automatique, persistance dans /etc/fstab et paramètres de démarrage sûrs."
},
"header": {
"title": "Client NFS dans LXC",
"description": "Montez des partages NFS directement dans un conteneur LXC Proxmox. Le conteneur devient un véritable client NFS : il communique avec le serveur par le réseau, exécute mount.nfs et écrit dans /etc/fstab. ProxMenux installe nfs-common, aide à trouver les serveurs et exports et applique des paramètres de démarrage sûrs.",
"section": "Stockage et partage · LXC"
},
"privReq": {
"title": "Conteneur privilégié requis",
"body": "Le client du noyau <code>mount.nfs</code> a besoin de capacités (<code>SYS_ADMIN</code> au minimum) que les conteneurs non privilégiés LXC n'exposent pas. Le script force cela — il vous demande de choisir un CT et <strong>s’arrête s'il n'est pas privilégié</strong>. Si vous avez besoin du partage à l'intérieur d'un CT non privilégié, montez-la d'abord sur l'hôte Proxmox (avec <hostNfsLink>NFS en tant que stockage Proxmox</hostNfsLink>) et montez-la par bind mount dans le CT avec le <mountLink>LXC Mount Manager</mountLink>."
},
"what": {
"heading": "Ce que ça fait",
"body": "Contrairement au gestionnaire de montage LXC — ce qui fait que le CT voit quelque chose <em>via</em> l'hôte Proxmox — ce script donne au conteneur son <strong>propre client NFS</strong>: il parle NFS sur le réseau, monte des partages directement du serveur NFS et stocke le montage dans le <code>/etc/fstab</code> du conteneur. L'hôte Proxmox n'est pas dans le chemin de données.",
"diagramServerLabel": "Serveur NFS",
"diagramServerDetail": "/export/data",
"diagramHostLabel": "Hôte Proxmox",
"diagramHostDetail": "(seulement un\npont réseau)",
"diagramCtLabel": "LXC (privilégié)",
"diagramCtDetail": "/mnt/data\nmount.nfs dans le CT",
"diagramArrow": "NFS",
"twoWaysTitle": "Deux façons de donner un accès CT NFS — choisissez une",
"twoWaysBind": "<strong>Montage par host</strong> (<mountLink>LXC Mount Manager</mountLink>) : l'hôte monte le NFS une fois, chaque CT reçoit le même chemin par bind mount. Fonctionne avec des CT non privilégiés. Recommandé lorsque plusieurs CT ont besoin de le même partage.",
"twoWaysDirect": "<strong>Montage NFS direct dans le CT</strong> (cette page) : le CT monte NFS lui-même. Exige un CT privilégié. Utile si le CT doit gérer sa propre connexion et ses identifiants ou si chaque CT utilise un serveur différent."
},
"opening": {
"heading": "Ouverture de l'outil",
"body": "Dans le menu principal de ProxMenux, ouvrez <strong>Storage &amp; Share Manager → Configurer le client NFS dans LXC (privilégié uniquement)</strong>. Choisissez d’abord <strong>le CT cible</strong> ; ProxMenux le démarre s’il est arrêté et abandonne s’il n’est pas privilégié. Le sous-menu suivant s’affiche ensuite :",
"imageAlt": "Menu NFS Client Manager — Montage / Vue / Démonter / Tester la connectivité"
},
"howRuns": {
"heading": "Comment fonctionne le script (mount flow)"
},
"fstabFlags": {
"heading": "Pourquoi ces drapeaux fstab",
"intro": "Pour les montages permanents, le script ajoute trois drapeaux au-delà des options standard NFS : <code>_netdev,x-systemd.automount,noauto</code>. Chacun résout un vrai problème de démarrage :",
"headerFlag": "Drapeau",
"headerEffect": "Ce qu'il fait",
"rows": [
{
"flag": "_netdev",
"effect": "Indique au système d’initialisation que ce montage nécessite le réseau. Le démarrage n’attend pas ce montage avant que le réseau soit disponible."
},
{
"flag": "x-systemd.automount",
"effectRich": "Crée une unité de montage automatique systemd : le montage n'arrive que la première fois que quelque chose accède à <code>/mnt/&lt;path&gt;</code>. Le serveur NFS inaccessible au démarrage ne bloque pas le CT."
},
{
"flag": "noauto",
"effect": "Évite le montage immédiat au démarrage. Avec l’unité automount ci-dessus, le montage n’a lieu qu’au premier accès."
}
],
"netEffectTitle": "Effet net",
"netEffectBody": "Le système de fichiers NFS est monté au <em>premier accès</em> plutôt qu’immédiatement au démarrage. Si le serveur est hors ligne, cet accès peut attendre ou échouer et affecter les services qui dépendent du chemin. Automount réduit la dépendance au démarrage, sans garantir que tous les services du CT restent épargnés."
},
"manual": {
"heading": "Équivalent manuel",
"body": "Répliquez l'ensemble du flux à la main — chaque commande exécute <strong> à l'intérieur du CT</strong> via <code>pct exec &lt;ctid&gt; --</code> ou directement via <code>pct enter &lt;ctid&gt;</code>:"
},
"view": {
"heading": "Afficher les montages actuels",
"body": "Liste tous les points de montage NFS actifs à l'intérieur du CT (<code>mount | grep nfs</code>) plus toutes les lignes NFS du CT du <code>/etc/fstab</code>. Pour chaque entrée fstab, l'état de montage en direct est affiché — utile pour repérer les montages permanents qui ne sont pas apparus au démarrage."
},
"unmount": {
"heading": "Démonter le partage NFS",
"body": "Combine les montages live et les entrées fstab dans une seule liste, vous permet d'en choisir une et <strong>supprime la ligne correspondante de <code>/etc/fstab</code></strong>. Le script <em>n'exécute pas</em> <code>umount</code> sur le montage en direct ; à la place, il vous indique qu'un redémarrage CT est nécessaire pour que le démontage prenne effet.",
"warnTitle": "Le script supprime les entrées fstab, pas les montages en direct",
"warnBody": "C'est un choix de conception délibéré : <code>umount</code> sur une monture occupée échoue avec \"appareil occupé\" quand quelque chose à l'intérieur du CT l'utilise encore. La suppression de l'entrée fstab garantit que le montage disparaît proprement lors du prochain démarrage CT. Si vous voulez que le montage soit parti <em>maintenant</em> et vous êtes sûr que rien ne l'utilise, exécutez <code>pct exec &lt;ctid&gt; -- umount /mnt/&lt;path&gt;</code> à la main après la fin du script."
},
"test": {
"heading": "Tester la connectivité NFS",
"body": "Pass diagnostique à l'intérieur du CT: confirme que le <code>nfs-common</code> est installé, <code>rpcbind</code> est en cours d'exécution, liste les montages NFS, puis itération sur chaque serveur NFS référencé dans fstab et vérifie ping → port 2049 → <code>showmount -e</code>. Bon premier arrêt quand une monture permanente n'arrive pas."
},
"troubleshoot": {
"heading": "Dépannage",
"privTitle": "Conteneur privilégié requis (le script s’arrête)",
"privBody": "Le CT sélectionné n'est pas privilégié. Le client du noyau NFS a besoin de la capacité <code>SYS_ADMIN</code> que les CT non privilégiés n'exposent pas. Soit convertir le CT en privilège (la conversion du gestionnaire de disque &amp; est documentée dans le disque <importLink>Importer en LXC</importLink> page) soit utiliser le chemin alternatif décrit dans l'avertissement en haut de cette page.",
"aptTitle": "apt-get install nfs-common fails",
"aptIntro": "Le script suppose une famille Debian CT (<code>apt-get</code>). Si le CT tourne Alpine / Arch / Rocky / Alma, l'étape d'installation échoue silencieusement. Installez le client NFS à la main pour cette 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": "Ensuite, lancez le script ProxMenux — l'étape d'installation saute lorsque les outils sont déjà présents.",
"portTitle": "\"NFS port (2049) is not accessible\"",
"portBody": "Ping a réussi, mais <code>nc -z &lt;server&gt; 2049</code> a échoué de l'intérieur du CT. Vérifiez que le service NFS fonctionne sur le serveur, que le pare-feu permet 2049 à partir du réseau de CT et que le CT a en fait une route réseau valide (essayez <code>pct exec &lt;ctid&gt; -- ip route</code>).",
"bootTitle": "Le montage permanent réussit mais ne vient pas au démarrage",
"bootBody": "Presque toujours : le réseau n'est pas prêt lorsque le CT monte (les drapeaux du script <code>_netdev,x-systemd.automount,noauto</code> corrigent cela – rajouter le montage via le script si vous avez écrit la ligne fstab à la main sans ces derniers), le serveur est inaccessible au démarrage (le montage automatique attend le premier accès, c'est normal), ou le DNS n'est pas résolu au démarrage (utiliser l'IP du serveur, pas son nom d'hôte).",
"squashTitle": "Serveur squashes root, aucun accès d'écriture à partir de l'intérieur CT",
"squashIntro": "L'exportation de NFS utilise <code>root_squash</code> (par défaut) et le CT écrit comme racine. Deux options :",
"squashItems": [
"Côté serveur : changez l'exportation en <code>no_root_squash</code> (seulement si vous faites confiance au CT).",
"Côté CT : écrivez avec un utilisateur non root accepté par le serveur ou ajustez le propriétaire du partage avec chown."
],
"squashOutro": "ProxMenux ne peut pas corriger cela — c'est la politique du serveur."
},
"related": {
"heading": "Autres",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Points de montage LXC (hôte ↔ conteneur)",
"tail": "— l'alternative pour les CT non privilégiés: monter sur l'hôte, lier dans CT."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Client Samba en LXC",
"tail": " — page associée avec la même approche pour les partages SMB / CIFS."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"label": "Serveur NFS dans LXC",
"tailRich": "— l'inverse: exposer les dossiers <em>de</em> un CT sur NFS."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "Partage NFS comme stockage Proxmox",
"tail": " — enregistrer le partage dans Proxmox lui-même plutôt que dans un seul CT."
}
]
}
}
@@ -0,0 +1,159 @@
{
"meta": {
"title": "NFS serveur dans LXC | ProxMenux Documentation",
"description": "Partagez des dossiers via NFS depuis un conteneur LXC Proxmox avec ProxMenux. Installation automatique de nfs-kernel-server, groupe commun sharedfiles, configuration de /etc/exports, ACL réseau et désinstallation complète. Nécessite un conteneur privilégié.",
"ogTitle": "NFS serveur dans LXC | ProxMenux Documentation",
"ogDescription": "Exécutez un serveur NFS dans un LXC privilégié avec le groupe commun sharedfiles, des ACL réseau et une désinstallation complète."
},
"header": {
"title": "Serveur NFS dans LXC",
"description": "Exécutez un serveur NFS du noyau dans un conteneur LXC Proxmox et exposez des dossiers aux autres machines du réseau. ProxMenux installe nfs-kernel-server, configure le groupe commun sharedfiles pour faciliter le partage entre plusieurs CT privilégiés, gère /etc/exports et propose une désinstallation complète.",
"section": "Stockage et partage · LXC"
},
"privReq": {
"title": "Conteneur privilégié requis",
"body": "<code>nfs-kernel-server</code> doit monter le système de fichiers du noyau <code>nfsd</code> sur <code>/proc/fs/nfsd</code>. Cela exige <code>CAP_SYS_ADMIN</code> dans l’espace de noms du noyau hôte, pas seulement dans celui des utilisateurs du conteneur. Les LXC non privilégiés n’ont pas cette capacité : <code>rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory)</code> ; systemd signale un échec de dépendance pour <code>nfs-server.service</code>. Le script exige donc un CT privilégié et <strong>s’arrête si le CT n’est pas privilégié</strong>. Une autre possibilité consiste à placer le serveur NFS dans une VM."
},
"what": {
"heading": "Ce que ça fait",
"body": "C’est l’inverse de la page <em>client NFS</em> : le CT devient un <strong>serveur NFS</strong> et expose son propre dossier à d’autres CT, à l’hôte Proxmox, à des VM ou à des machines physiques.",
"diagramServerLabel": "LXC (privilégié) — Serveur NFS",
"diagramServerDetail": "/mnt/data\n(dossier exposé)\n\nchown root:sharedfiles\nchmod 2775 (SGID)\n\nnfs-kernel-server\n+ rpcbind en cours d’exécution",
"diagramClientLabel": "Tout client sur le réseau",
"diagramClientDetail": "un autre CT, l'hôte,\nun VM, une machine physique...",
"diagramArrow": "Exportation NFS"
},
"shared": {
"heading": "Le groupe commun « sharedfiles »",
"body": "Avant d'exporter le dossier, ProxMenux crée un groupe appelé <code>sharedfiles</code> avec <strong>GID 101000</strong> à l'intérieur du conteneur, y ajoute chaque utilisateur régulier, puis définit le répertoire d'exportation à <code>root:sharedfiles</code> avec le mode <code>2775</code>. Le <code>2</code> à l'avant est le bit SGID — chaque fichier ou dossier créé à l'intérieur hérite automatiquement du groupe <code>sharedfiles</code>.",
"gidTitle": "Pourquoi GID 101000 spécifiquement",
"gidBody": "Avec le mappage LXC par défaut (+100000), le GID 101000 de l’hôte apparaît comme GID <strong>1000</strong> dans un CT non privilégié. Ce serveur utilise un CT <strong>privilégié</strong>, sans décalage. Deux CT privilégiés utilisant <code>sharedfiles</code> avec le GID 101000 partagent donc le même identifiant numérique de groupe.",
"remapTitle": "La création héritée des utilisateurs « remap_* » est ignorée pour les CT privilégiés",
"remapBody": "L’ancienne branche pour les CT non privilégiés créerait des utilisateurs <code>remap_&lt;uid&gt;</code> avec l’UID <code>&lt;uid&gt; + 100000</code>, tous dans <code>sharedfiles</code>, pour les utilisateurs ordinaires et les UID courants (33, 1000, 1001, 1002). Ce décalage de <code>+100000</code> ne s’applique pas aux CT <strong>privilégiés</strong> exigés ici ; le script ignore donc cette branche. L’absence de comptes <code>remap_*</code> dans <code>getent passwd</code> est normale et n’indique pas une erreur."
},
"defaults": {
"heading": "Options d'exportation par défaut — lire cette première",
"warnTitle": "Les options par défaut incluent no_root_squash",
"warnBody": "ProxMenux utilise par défaut <code>rw,sync,no_subtree_check,'<'strong'>'no_root_squash'<'/strong'>'</code>. <strong>Tout utilisateur root d’un client peut écrire comme root sur l’export.</strong> Réservez cette option à un réseau local de confiance. Si le CT est accessible depuis un réseau non fiable (VPS ou VLAN non fiable), <strong>remplacez l’option par <code>root_squash</code></strong> dans le dialogue des options personnalisées."
},
"opening": {
"heading": "Ouverture de l'outil",
"body": "Dans le menu principal, ouvrez <strong>Storage & Share Manager → Configure NFS Server in LXC</strong>. Seuls les CT privilégiés sont proposés. Choisissez le CT cible ; le script le démarre s’il est arrêté et refuse les CT non privilégiés. Le menu comporte cinq options.",
"imageAlt": "Menu NFS Server Manager — Créer / Afficher / Supprimer / Statut / Désinstaller"
},
"howRuns": {
"heading": "Comment fonctionne le script (Créer le flux)"
},
"network": {
"heading": "Réseau ACL — qui peut monter le partage",
"intro": "<code>/etc/exports</code> détermine quels clients peuvent monter l’export. Le dialogue propose trois modes :",
"headerMode": "Mode",
"headerValue": "Valeur écrite pour /etc/exports",
"headerWhen": "Quand le choisir",
"rows": [
{
"mode": "Réseau local",
"value": "192.168.0.0/16",
"whenRich": "Pour les réseaux domestiques ou de petite entreprise habituels. Couvre toutes les adresses <code>192.168.*.*</code>."
},
{
"mode": "Sous-réseau personnalisé",
"value": "votre CIDR (par exemple 10.0.0.0/24)",
"when": "Lorsque votre LAN n'est pas dans 192.168.x.x ou que vous voulez une portée plus étroite."
},
{
"mode": "Un seul hôte",
"value": "votre IP (par exemple 10.0.0.42)",
"when": "Seule une machine précise peut monter l’export. Option la plus restrictive."
}
]
},
"options": {
"heading": "Options d'exportation expliquées",
"headerOption": "Option",
"headerEffect": "Ce qu'il fait",
"rows": [
{
"option": "rw / ro",
"effect": "Autoriser les clients à lire et écrire, ou à lire uniquement."
},
{
"option": "sync",
"effectRich": "Ne répond aux écritures qu’une fois les données sur disque. Plus sûr que <code>async</code>, au prix d’un débit réduit."
},
{
"option": "no_subtree_check",
"effect": "Évite de vérifier à chaque requête que le fichier appartient encore au sous-arbre exporté. Plus rapide et évite les problèmes si des fichiers sont renommés pendant l’opération."
},
{
"option": "no_root_squash",
"effectRich": "<strong>Faire confiance à root sur le client.</strong> Un client monté par root écrit comme root sur le serveur. Convient aux LAN de confiance, par exemple pour préserver les propriétaires lors des sauvegardes. Remplacez cette option par <code>root_squash</code> si vous ne faites pas entièrement confiance à chaque machine autorisée par l’ACL réseau."
}
]
},
"manual": {
"heading": "Équivalent manuel",
"body": "Reproduisez toute la procédure manuellement. Chaque commande s’exécute <strong>dans le CT</strong> via <code>pct exec &lt;ctid&gt; --</code> ou <code>pct enter &lt;ctid&gt;</code> :"
},
"view": {
"heading": "Voir les exportations actuelles",
"body": "Affiche <code>/etc/exports</code> depuis le CT en ignorant commentaires et lignes vides, puis présente chaque export avec son ACL réseau et ses options. Utile pour vérifier les dossiers exposés avant de communiquer l’IP du CT."
},
"delete": {
"heading": "Supprimer une exportation",
"body": "Liste chaque ligne dans <code>/etc/exports</code> pour la sélection, supprime la ligne choisie (<code>sed -i</code>), exécute <code>exportfs -ra</code> et redémarre <code>nfs-kernel-server</code>. Le dossier lui-même et son contenu restent intacts."
},
"status": {
"heading": "Vérifier l'état NFS",
"body": "Pass diagnostique : confirme que <code>nfs-kernel-server</code> et <code>rpcbind</code> sont installés et actifs, imprime la sortie <code>exportfs -v</code>, liste les sessions NFS actives (<code>showmount -a</code>) et les connexions client actuelles."
},
"uninstall": {
"heading": "Désinstaller le serveur NFS",
"body": "Nettoyage complet après confirmation : arrête et désactive <code>nfs-kernel-server</code> et <code>rpcbind</code>, vide <code>/etc/exports</code>, supprime les paquets NFS avec <code>apt-get purge</code>, retire le groupe <code>sharedfiles</code> et les utilisateurs <code>remap_*</code>, puis termine les processus restants. Les <strong>dossiers exportés eux-mêmes ne sont pas supprimés</strong> ; seules la configuration NFS et les paquets le sont.",
"warnTitle": "Le script s'arrête à la ligne d'exportation, pas aux données",
"warnBody": "<em>Supprimer un export</em> et <em>Désinstaller le serveur NFS</em> retirent la configuration d’export. Les données du dossier sont conservées. Pour les supprimer aussi, utilisez explicitement <code>rm -rf</code> après la fin du script et sauvegardez-les d’abord si quelqu’un peut encore en avoir besoin."
},
"troubleshoot": {
"heading": "Dépannage",
"privTitle": "Conteneur privilégié requis (le script s’arrête)",
"privBody": "Le CT sélectionné n'est pas privilégié. <code>nfs-kernel-server</code> ne peut pas démarrer là parce que le montage <code>/proc/fs/nfsd</code> nécessite <code>CAP_SYS_ADMIN</code> dans l'espace nominatif du noyau hôte, et le module <code>nfsd</code> n'est pas non plus exposé à l'espace nominatif du conteneur (<code>modprobe nfsd</code> de l'intérieur renvoie <code>FATAL: Module nfsd not found</code>). Si vous contournez le contrôle, vous verrez <code>rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory)</code> dans le journal et aucun port NFS n'ouvrira jamais. Les seules options utilisables sont : convertir le CT en privilégié, ou déplacer le serveur NFS vers une VM.",
"aptTitle": "Échec de apt-get install",
"aptIntro": "Le script suppose une famille Debian CT. Sur Alpine / Arch / Rocky / Alma, installez les paquets du serveur NFS à la main:",
"aptItems": [
"Alpine: <code>apk add nfs-utils</code>",
"Arch: <code>pacman -S nfs-utils</code>",
"Rocky / Alma: <code>dnf install nfs-utils</code>"
],
"aptOutro": "Relancez ensuite le script ProxMenux ; l’installation est ignorée si les outils sont déjà présents.",
"aclTitle": "Le client ne peut pas monter : 'accès refusé par le serveur'",
"aclBody": "L’IP du client n’est pas autorisée par l’ACL réseau. Recréez l’export avec un sous-réseau plus large ou ajoutez l’IP exacte du client. Attention : via un routeur NAT, le client peut apparaître avec l’IP WAN du routeur au lieu de son IP LAN. Vérifiez sur le serveur avec <code>tcpdump -n port 2049</code>.",
"ownTitle": "Les fichiers écrits par le client apparaissent avec une propriété bizarre sur le serveur",
"ownIntro": "Deux possibilités :",
"ownItems": [
"Avec <code>no_root_squash</code> (par défaut), le client root écrit comme root sur le serveur. Les fichiers sont détenus par <code>root:sharedfiles</code> grâce au SGID du dossier.",
"Les utilisateurs non-racines de clients écrivent comme leur propre UID/GID. Si leur UID n'existe pas sur le serveur, les fichiers apparaissent avec des nombres bruts (par exemple : <code>1234:1234</code>). Utilisez également le groupe <code>sharedfiles</code> sur le client, ou alignez les UID sur les systèmes qui partagent des fichiers."
],
"noShowTitle": "Serveur accessible mais showmount ne renvoie rien",
"noShowBody": "Après avoir édité <code>/etc/exports</code>, vous devez recharger la table d'exportation avec <code>exportfs -ra</code> et redémarrer <code>nfs-kernel-server</code> — le script fait les deux, mais si vous avez édité le fichier à la main, faites-le vous-même. Confirmez également le pare-feu sur le CT (et sur l'hôte Proxmox) permet TCP/UDP 2049 et le port rpcbind (111)."
},
"related": {
"heading": "Autres",
"items": [
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "Client NFS dans LXC",
"tail": " — l’inverse : monter des partages NFS externes dans un CT."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"label": "Serveur Samba en LXC",
"tail": "— page soeur, même motif avec SMB / CIFS au lieu de NFS."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "Partage NFS comme stockage Proxmox",
"tailRich": " — une fois que le CT expose un export, enregistrez ce partage NFS dans Proxmox pour le voir sous <em>Datacenter → Storage</em>."
}
]
}
}
@@ -0,0 +1,155 @@
{
"meta": {
"title": "Client Samba en LXC | ProxMenux Documentation",
"description": "Montez des partages Samba / CIFS dans un conteneur LXC Proxmox avec ProxMenux. Installation automatique de cifs-utils et smbclient, découverte des serveurs, stockage protégé des identifiants et montages persistants via /etc/fstab. Nécessite un conteneur privilégié.",
"ogTitle": "Client Samba en LXC | ProxMenux Documentation",
"ogDescription": "Montez des partages Samba / CIFS dans un conteneur LXC privilégié. Découverte automatique, fichier d’identifiants protégé et persistance dans /etc/fstab."
},
"header": {
"title": "Client Samba en LXC",
"description": "Le montage Samba (SMB / CIFS) se fait directement à l'intérieur d'un conteneur Proxmox LXC. Le conteneur devient un vrai client CIFS — parle au serveur Samba sur le réseau, exécute mount.cifs, stocke les identifiants en toute sécurité, et écrit à /etc/fstab. ProxMenux installe cifs-utils + smbclient pour vous et valide les identifiants sur le serveur avant le montage.",
"section": "Stockage et partage · LXC"
},
"privReq": {
"title": "Conteneur privilégié requis",
"body": "Le client du noyau <code>mount.cifs</code> a besoin de capacités (<code>SYS_ADMIN</code> au minimum) que les conteneurs non privilégiés LXC n'exposent pas. Le script force cela — il vous demande de choisir un CT et <strong>s’arrête s'il n'est pas privilégié</strong>. Si vous avez besoin du partage à l'intérieur d'un CT non privilégié, montez-la d'abord sur l'hôte Proxmox (avec <hostSambaLink>Samba / CIFS en tant que stockage Proxmox</hostSambaLink>) et montez-la par bind mount dans le CT avec le <mountLink>LXC Mount Manager</mountLink>."
},
"what": {
"heading": "Ce que ça fait",
"body": "Le conteneur parle CIFS sur le réseau et monte le partage lui-même. L'hôte Proxmox n'est que le pont réseau — il ne voit ni ne gère le montage.",
"diagramServerLabel": "Serveur Samba",
"diagramServerDetail": "//srv/share",
"diagramHostLabel": "Hôte Proxmox",
"diagramHostDetail": "(seulement un\npont réseau)",
"diagramCtLabel": "LXC (privilégié)",
"diagramCtDetail": "/mnt/share\nmount.cifs à l'intérieur de CT",
"diagramArrow": "CIFS",
"twoWaysTitle": "Deux façons de donner un CT une part de Samba — choisissez une",
"twoWaysBind": "<strong>Montage par host</strong> (<mountLink>LXC Mount Manager</mountLink>) : l'hôte monte le CIFS une fois, chaque CT reçoit le même chemin par bind mount. Fonctionne avec des CT non privilégiés. Recommandé lorsque plusieurs CT ont besoin de le même partage.",
"twoWaysDirect": "<strong>Montage CIFS direct dans le CT</strong> (cette page) : le CT monte CIFS lui-même. Exige un CT privilégié. Utile si chaque CT doit gérer ses identifiants ou accéder à un serveur différent."
},
"opening": {
"heading": "Ouverture de l'outil",
"body": "Dans le menu principal de ProxMenux, ouvrez <strong>Storage &amp; Share Manager → Configurer le client Samba dans LXC (privilégié uniquement)</strong>. Choisissez d’abord <strong>le CT cible</strong> ; ProxMenux le démarre s’il est arrêté et abandonne s’il n’est pas privilégié. Le sous-menu suivant s’affiche ensuite :",
"imageAlt": "Menu Samba Client Manager — Montage / Affichage / Démontage / Test de connectivité"
},
"howRuns": {
"heading": "Comment fonctionne le script (mount flow)"
},
"creds": {
"heading": "Où vit le mot de passe",
"body": "ProxMenux <strong>ne place pas le mot de passe dans la commande de montage</strong> ni dans <code>/etc/fstab</code>. Il crée un fichier d’identifiants dans le CT. Ce fichier contient les identifiants en clair, protégés par des permissions réservées à root ; il n’est pas chiffré :",
"whyTitle": "Pourquoi un fichier séparé plutôt que fstab",
"whyBody": "Le module CIFS accepte les options <code>username=</code> / <code>password=</code> en ligne dans fstab, mais quiconque peut lire <code>/etc/fstab</code> voit le mot de passe en clair. Mettre des identifiants dans un fichier root-only et pointer fstab dessus (<code>credentials=</code>) maintient le mot de passe hors de config lisible dans le monde."
},
"options": {
"heading": "Options de montage expliquées",
"headerOption": "Option",
"headerEffect": "Ce qu'il fait",
"rows": [
{
"option": "rw / ro",
"effect": "Mode lecture-écriture ou lecture seule pour l'ensemble du montage."
},
{
"option": "file_mode=0664",
"effect": "Permissions présentées pour les fichiers via CIFS. Par défaut, le propriétaire et le groupe peuvent écrire, les autres lire."
},
{
"option": "dir_mode=0775",
"effect": "Autorisations signalées pour les répertoires. Par défaut, le propriétaire+groupe entre et crée, d'autres traversent."
},
{
"option": "iocharset=utf8",
"effect": "Impose UTF-8 pour les noms de fichiers transmis par le réseau. Évite les caractères illisibles dans les noms non ASCII."
},
{
"option": "credentials=file",
"effect": "Lisez le nom d'utilisateur / mot de passe du fichier (ajouté automatiquement pour l'auth utilisateur)."
},
{
"option": "guest",
"effect": "Authentifier en tant qu'invité, aucune identification requise (ajoutée automatiquement lorsque l'invité est choisi)."
},
{
"option": "_netdev",
"effect": "Indique que le système d'initialisation de ce montage a besoin du réseau. Boot ne bloque pas l'attente."
},
{
"option": "x-systemd.automount",
"effect": "Montage paresseux : ne monte que sur le premier accès. Le serveur CIFS inaccessible au démarrage ne bloque pas le CT."
},
{
"option": "noauto",
"effect": "Évite le montage immédiat au démarrage. Avec l’unité automount, le montage n’a lieu qu’au premier accès."
}
],
"netEffectTitle": "Effet net des drapeaux fstab",
"netEffectBody": "Le système de fichiers CIFS est monté au <em>premier accès</em> plutôt qu’immédiatement au démarrage. Si le serveur est hors ligne, cet accès peut attendre ou échouer et affecter les services qui dépendent du chemin. Automount réduit la dépendance au démarrage, sans garantir que tous les services du CT restent épargnés."
},
"manual": {
"heading": "Équivalent manuel",
"body": "Répliquez l'ensemble du flux à la main — chaque commande exécute <strong> à l'intérieur du CT</strong> via <code>pct exec &lt;ctid&gt; --</code> ou directement via <code>pct enter &lt;ctid&gt;</code>:",
"guestIntro": "Variante d'invité — aucun fichier d'identification nécessaire:"
},
"view": {
"heading": "Afficher les montages actuels",
"body": "Liste tous les points de montage CIFS actifs à l'intérieur du CT (<code>mount -t cifs</code>) plus toutes les lignes CIFS du CT <code>/etc/fstab</code>. Pour chaque entrée fstab, l'état de montage en direct est affiché — utile pour repérer les montages permanents qui ne sont pas apparus au démarrage."
},
"unmount": {
"heading": "Démonter le partage Samba",
"body": "Combine les montages live et les entrées fstab dans une seule liste, vous permet de choisir une, et <strong> retire la ligne correspondante de <code>/etc/fstab</code></strong> plus le fichier d'identification correspondant. Le script n'exécute pas <code>umount</code> sur le montage en direct — il vous indique plutôt qu'un redémarrage CT est nécessaire pour que le démontage prenne effet.",
"warnTitle": "Le script supprime les entrées fstab, pas les montages en direct",
"warnBody": "Même conception que le client NFS : <code>umount</code> sur une monture occupée échoue avec \"dispositif occupé\". La suppression de l'entrée fstab garantit que le montage disparaît proprement lors du prochain démarrage CT. Si vous voulez que le montage soit parti <em>maintenant</em>, exécutez <code>pct exec &lt;ctid&gt; -- umount /mnt/&lt;path&gt;</code> à la main après la fin du script."
},
"test": {
"heading": "Tester la connectivité Samba",
"body": "Diagnostic dans le CT : vérifie que <code>cifs-utils</code> est installé, liste les montages CIFS actifs puis teste, pour chaque serveur de fstab, ping → ports 139/445 → liste des partages en invité. « Authentification requise » lors du test invité est normal si le serveur ne propose pas de partage public."
},
"troubleshoot": {
"heading": "Dépannage",
"privTitle": "Conteneur privilégié requis (le script s’arrête)",
"privBody": "Le CT sélectionné n'est pas privilégié. Le client du noyau CIFS a besoin de la capacité <code>SYS_ADMIN</code> que les CT non privilégiés n'exposent pas. Convertissez le CT en privilégié, ou utilisez le chemin alternatif décrit dans l'avertissement en haut de cette page.",
"aptTitle": "apt-get install fails",
"aptIntro": "Le script suppose une famille Debian CT (<code>apt-get</code>). Sur Alpine / Arch / Rocky / Alma, installez le client CIFS à la main:",
"aptItems": [
"Alpine: <code>apk add cifs-utils samba-client</code>",
"Arch: <code>pacman -S cifs-utils smbclient</code>",
"Rocky / Alma: <code>dnf install cifs-utils samba-client</code>"
],
"aptOutro": "Ensuite, lancez le script ProxMenux — l'étape d'installation saute lorsque les outils sont déjà présents.",
"guestFallbackTitle": "\"Le serveur vous a connecté en tant qu'invité au lieu de l'utilisateur spécifié\"",
"guestFallbackBody": "La validation active du script a attrapé un vrai problème d'auth. Le serveur a accepté la connexion mais l'a rétrogradée à invité parce que les identifiants sont erronés. Causes communes : faute de frappe dans le nom d'utilisateur / mot de passe, l'utilisateur n'existe pas sur le serveur, l'utilisateur est verrouillé, ou le groupe de travail / domaine est mal adapté. Réexécutez soigneusement le flux et entrez les identifiants (le mot de passe est caché dans la boîte de dialogue).",
"denyTitle": "\"NT_STATUS_ACCESS_DENIED\" lors du montage",
"denyBody": "Les identifiants sont valides mais le partage refuse l’accès. Vérifiez côté serveur les permissions de l’utilisateur pour ce partage précis : la validation confirme la connexion, pas les ACL de chaque partage. Vérifiez aussi si le serveur exige une version SMB particulière ; ajoutez <code>vers=3.0</code> (ou <code>2.1</code>, <code>2.0</code>) aux options de montage.",
"utf8Title": "Noms de fichiers UTF-8 / non ASCII mal affichés",
"utf8Body": "Les options par défaut incluent <code>iocharset=utf8</code>, mais certaines configurations de serveur signalent une page de code inattendue. Si les noms de fichiers avec des accents / symboles semblent mal, essayez également <code>nounix</code> (certains serveurs Linux Samba en ont besoin lorsque le client est également Linux) ou placez le côté serveur sur <code>unix extensions = no</code>.",
"bootTitle": "Le montage permanent réussit mais ne vient pas au démarrage",
"bootBody": "Presque toujours : le réseau n'est pas prêt lorsque le CT monte (les drapeaux du script <code>_netdev,x-systemd.automount,noauto</code> corrigent cela), le serveur est inaccessible au démarrage (le montage automatique attend le premier accès — c'est normal) ou le DNS n'est pas résolu au démarrage (utiliser l'IP du serveur, pas son nom d'hôte)."
},
"related": {
"heading": "Autres",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Points de montage LXC (hôte ↔ conteneur)",
"tail": "— l'alternative pour les CT non privilégiés: monter sur l'hôte, lier dans CT."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "Client NFS dans LXC",
"tail": " — page associée avec la même approche pour les partages NFS."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"label": "Serveur Samba en LXC",
"tailRich": "— l'inverse: exposer les dossiers <em>de</em> un CT sur Samba."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS comme stockage Proxmox",
"tail": " — enregistrer le partage dans Proxmox lui-même plutôt que dans un seul CT."
}
]
}
}
@@ -0,0 +1,132 @@
{
"meta": {
"title": "Serveur Samba en LXC | ProxMenux Documentation",
"description": "Exécutez un serveur Samba (SMB / CIFS) dans un conteneur LXC Proxmox avec ProxMenux. Installation automatique de samba, gestion de /etc/samba/smb.conf, des utilisateurs smbpasswd et du groupe sharedfiles pour les dossiers montés par bind mount. Nécessite un conteneur privilégié.",
"ogTitle": "Serveur Samba en LXC | ProxMenux Documentation",
"ogDescription": "Exposez des dossiers via SMB/CIFS depuis un LXC privilégié. Installation automatique, utilisateur smbpasswd et permissions adaptées aux bind mounts."
},
"header": {
"title": "Serveur Samba en LXC",
"description": "Exécutez un serveur Samba (SMB / CIFS) à l'intérieur d'un conteneur Proxmox LXC et exposez des dossiers aux clients Windows / macOS / Linux sur le réseau. ProxMenux installe samba, crée un utilisateur Samba avec smbpasswd, gère /etc/samba/smb.conf et applique des permissions adaptées aux bind mounts lorsque le dossier partagé vient de l'hôte.",
"section": "Stockage et partage · LXC"
},
"privReq": {
"title": "Conteneur privilégié requis",
"body": "Samba prend l’identité de l’utilisateur qui se connecte avec <code>setgroups()</code> sur chaque connexion arborescente (le moment où un client ouvre un partage). Dans un LXC non privilégié, le noyau rejette ce syscall parce que l'espace de nom d'utilisateur du conteneur est créé avec <code>setgroups=deny</code> — et <code>smbd</code> répond en arrêtant le processus de travail avec <code>PANIC: sys_setgroups failed</code>. Le résultat est que <code>smbd</code> démarre et lie les ports 139/445, mais chaque connexion client échoue avec <code>NT_STATUS_CONNECTION_DISCONNECTED</code>. Le script impose un CT privilégié pour cette raison et <strong>s’arrête si le CT n’est pas privilégié</strong>. Il n'y a pas de correctif propre du côté serveur; utilisez un CT privilégié ou lancez Samba à l'intérieur d’une VM."
},
"what": {
"heading": "Ce que ça fait",
"body": "Le conteneur devient un serveur SMB/CIFS : il exécute <code>smbd</code>, expose un dossier via <code>/etc/samba/smb.conf</code> et accepte les connexions clientes sur les ports <code>139</code> / <code>445</code>. Les clients voient le partage à <code>\\\\&lt;ct-ip&gt;\\&lt;share-name&gt;</code> dans Windows Explorer, <code>smb://&lt;ct-ip&gt;/&lt;share-name&gt;</code> dans macOS Finder, ou via <code>mount.cifs</code> sur Linux.",
"diagramServerLabel": "LXC (privilégié) — Serveur Samba",
"diagramServerDetail": "/mnt/data\n(dossier exposé)\n\nsmbd + nmbd en cours d’exécution\n\nUtilisateur: <username>\n(via smbpasswd)\n\nGroupe imposé:\nsharedfiles",
"diagramClientLabel": "Tout client sur le réseau",
"diagramClientDetail": "Windows: \\\\<ip>\\<share>\nmacOS: smb://<ip>/<share>\nLinux: mount.cifs",
"diagramArrow": "SMB / CIFS"
},
"perms": {
"heading": "Deux chemins d'autorisation selon le type de dossier",
"body": "Avant d'ajouter la part à <code>smb.conf</code>, le script vérifie si le dossier choisi est un montage <strong>bind de l'hôte</strong> ou un dossier local normal <strong> à l'intérieur du CT</strong> — et applique des droits de propriété différents en conséquence:",
"headerType": "Type de dossier",
"headerAction": "Ce que fait le script",
"bindType": "Bind-mount de l'hôte",
"bindTypeSubRich": "détecté par la sortie <code>mount</code>",
"bindActionRich": "Crée le groupe <code>sharedfiles</code> (par défaut GID 999, dynamique si pris), y ajoute l'utilisateur Samba, puis <code>chown root:sharedfiles</code> + <code>chmod 2775</code> (SGID — nouveaux fichiers héritent du groupe). Si l'utilisateur ne peut toujours pas écrire, applique <code>setfacl -m u:&lt;user&gt;:rwx</code>.",
"localType": "Dossier local à l'intérieur de CT",
"localTypeSub": "aucun montage de liaison détecté",
"localActionRich": "Propriété standard: <code>chown -R &lt;user&gt;:&lt;user&gt;</code> + <code>chmod -R 755</code>. Aucun groupe partagé n'est nécessaire car aucun autre CT n'écrit dans ce dossier. Retourne à <code>setfacl</code> si l'accès à l'écriture est toujours manquant.",
"gidTitle": "GID pour 'sharedfiles' diffère du flux du serveur NFS",
"gidBody": "Le script serveur Samba utilise GID <strong>999</strong> pour <code>sharedfiles</code>, tandis que le flux du serveur <nfsLink>NFS</nfsLink> utilise GID <strong>101000</strong>. Si vous exécutez les deux serveurs dans le même CT et que vous voulez un seul groupe partagé dans les deux protocoles, modifiez l'un d'eux pour correspondre à l'autre après l'installation (p. ex. <code>groupmod -g 101000 sharedfiles</code>) et ré-appliquer la propriété sur les dossiers touchés. C'est une incohérence connue dans les scripts actuels."
},
"opening": {
"heading": "Ouverture de l'outil",
"body": "Dans le menu principal, ouvrez <strong>Storage & Share Manager → Configure Samba Server in LXC</strong>. Seuls les CT privilégiés sont proposés. Choisissez le CT cible ; le script le démarre s’il est arrêté et refuse les CT non privilégiés. Le menu comporte cinq options.",
"imageAlt": "Menu Samba Server Manager — Créer / Afficher / Supprimer / Statut / Désinstaller"
},
"howRuns": {
"heading": "Comment fonctionne le script (Créer le flux)"
},
"modes": {
"heading": "Les trois modes de partage",
"intro": "Chaque mode écrit une stanza différente à <code>smb.conf</code>. Tous les trois comprennent le <code>valid users = &lt;username&gt;</code> (pas d'anonymat), le <code>force group = sharedfiles</code> (ainsi les nouveaux fichiers appartiennent au groupe partagé) et le <code>veto files = /lost+found/</code> (le cache des clients).",
"headerMode": "Mode",
"headerBlock": "Bloc écrit en smb.conf",
"rwMode": "Lecture et écriture",
"roMode": "Lecture seule",
"customMode": "Personnalisé",
"customBodyRich": "Vous tapez vos propres directives dans une boîte en texte libre. Le ProxMenux les enveloppe toujours dans un bloc <code>[share]</code> avec les <code>path</code>, <code>valid users</code>, <code>force group</code> et <code>veto files</code>."
},
"manual": {
"heading": "Équivalent manuel",
"body": "Reproduisez toute la procédure manuellement. Chaque commande s’exécute <strong>dans le CT</strong> via <code>pct exec &lt;ctid&gt; --</code> ou <code>pct enter &lt;ctid&gt;</code> :"
},
"connect": {
"heading": "Connexion des clients",
"headerOs": "Système d'exploitation du client",
"headerHow": "Comment se connecter",
"windowsOs": "Windows",
"windowsHowRich": "Explorateur de fichiers → barre d’adresse : <code>\\\\&lt;ct-ip&gt;\\&lt;share-name&gt;</code>. Ou <em>Connecter un lecteur réseau</em> → cocher « Se connecter à l’aide d’informations d’identification différentes ».",
"macosOs": "macOS",
"macosHowRich": "Finder → <em>Aller → Se connecter au serveur...</em> → <code>smb://&lt;ct-ip&gt;/&lt;share-name&gt;</code>. Ou <code>mount_smbfs //user@&lt;ct-ip&gt;/&lt;share&gt; /mountpoint</code>.",
"linuxOs": "Linux",
"linuxHowRich": "<code>mount -t cifs //&lt;ct-ip&gt;/&lt;share&gt; /mnt/x -o username=&lt;u&gt;,password=&lt;p&gt;,iocharset=utf8</code>. Ou utilisez le client <clientLink>Samba dans la page LXC</clientLink> si le client est un autre client Proxmox CT."
},
"view": {
"heading": "Voir les partages actuels",
"body": "Analyse <code>/etc/samba/smb.conf</code> à l'intérieur du CT et liste tous les blocs <code>[share]</code> (en ignorant <code>[global]</code>, <code>[homes]</code>, <code>[printers]</code>) avec son chemin. Utile comme un inventaire rapide."
},
"delete": {
"heading": "Supprimer un partage",
"body": "Permet de choisir un partage par nom, supprime le bloc de <code>smb.conf</code> (<code>sed</code> supprime de <code>[share]</code> jusqu'à la prochaine ligne blanche), et redémarre <code>smbd</code>. Le dossier lui-même et son contenu restent intacts."
},
"status": {
"heading": "Vérifier l'état de Samba",
"body": "Indique si <code>smbd</code> et <code>nmbd</code> sont installés et actifs, liste les utilisateurs de Samba (<code>pdbedit -L</code>) et imprime les sessions actives (<code>smbstatus</code>)."
},
"uninstall": {
"heading": "Désinstaller le serveur Samba",
"body": "Nettoyage complet après confirmation : arrête et désactive <code>smbd</code> et <code>nmbd</code>, sauvegarde <code>smb.conf</code> dans <code>smb.conf.backup.YYYYMMDD_HHMMSS</code>, supprime les utilisateurs Samba avec <code>smbpasswd -x</code> et les paquets Samba avec <code>apt-get purge</code>. Les <strong>dossiers exportés eux-mêmes ne sont pas supprimés</strong>.",
"warnTitle": "Les dossiers survivent — sauvegarde des données séparément",
"warnBody": "<em>Supprimer un partage</em> et <em>Désinstaller le serveur Samba</em> retirent la configuration de partage. Les données des dossiers exportés sont conservées. Pour les supprimer aussi, utilisez explicitement <code>rm -rf</code> après la fin du script."
},
"troubleshoot": {
"heading": "Dépannage",
"privTitle": "Conteneur privilégié requis (le script s’arrête)",
"privBody": "Le CT sélectionné n'est pas privilégié et <code>smbd</code> ne peut pas y servir de fichiers. Si vous contournez le contrôle et configurez Samba à la main, <code>smbd</code> démarre et les ports s'ouvrent, mais la première connexion client panique avec <code>PANIC: sys_setgroups failed</code> dans <code>/var/log/samba/log.&lt;client&gt;</code> et le client voit <code>NT_STATUS_CONNECTION_DISCONNECTED</code>. La cause est l'espace de noms d'utilisateur non privilégié ayant <code>setgroups=deny</code>, qui bloque l’adoption de l’identité de l’utilisateur par Samba à chaque connexion. Ni le <code>features=keyctl=1</code> ni la suppression du <code>force user</code> / <code>force group</code> ne changent cela. Les seules options utilisables sont : convertir le CT en privilégié, ou déplacer Samba vers une VM.",
"aptTitle": "Échec de apt-get install",
"aptIntro": "Le script suppose une famille Debian CT. Sur Alpine / Arch / Rocky / Alma, installer Samba à la main:",
"aptItems": [
"Alpine: <code>apk add samba</code>",
"Arch: <code>pacman -S samba</code>",
"Rocky / Alma: <code>dnf install samba</code>"
],
"aptOutro": "Relancez ensuite le script ProxMenux ; l’installation est ignorée si les outils sont déjà présents.",
"noShareTitle": "Le client se connecte mais ne voit pas le partage",
"noShareBody": "Vérifiez que <code>browseable = yes</code> est défini dans le bloc de partage (par défaut pour les modes rw / ro; peut être manquant en mode personnalisé). Vérifiez également le pare-feu CT et le pare-feu hôte Proxmox permettent TCP 445 (SMB) et 139 (NetBIOS). Certains clients Windows nécessitent également une résolution de nom — essayez d'abord directement l'IP.",
"authTitle": "Défauts d'authentification (NT_STATUS_LOGON_FAILURE)",
"authBody": "Le mot de passe est incorrect (les mots de passe Samba sont <em>distincts</em> de ceux du système ; listez les utilisateurs Samba avec <code>pdbedit -L</code>) ou l’utilisateur ne figure pas dans <code>valid users</code> pour ce partage. Réinitialisez le mot de passe dans le CT avec <code>smbpasswd &lt;user&gt;</code>.",
"groupTitle": "Les fichiers écrits par le client apparaissent avec un mauvais groupe sur le serveur",
"groupBody": "Le script définit <code>force group = sharedfiles</code> dans le bloc de partage, de sorte que les nouveaux fichiers doivent être du groupe <code>sharedfiles</code>. S'ils ne le sont pas, le bit SGID du répertoire parent peut avoir été perdu (quelqu'un a exécuté <code>chmod</code> à la main). Réappliquer : <code>chmod 2775 /mnt/&lt;share&gt;</code>.",
"bothTitle": "Partage du même dossier sur NFS et Samba",
"bothBody": "Le ProxMenux utilise différents GID pour le <code>sharedfiles</code> dans chaque script (Samba: 999, NFS: 101000). Si vous servez le même dossier via les deux, choisissez un seul GID et alignez les deux. La correction la plus simple : après avoir exécuté les deux scripts, modifiez le GID plus petit :"
},
"related": {
"heading": "Autres",
"items": [
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Client Samba en LXC",
"tail": " — l’inverse : monter des partages Samba externes dans un CT."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"label": "Serveur NFS dans LXC",
"tail": "— page soeur, même motif avec NFS au lieu de CIFS."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS comme stockage Proxmox",
"tailRich": " — une fois que le CT expose un export, enregistrez ce partage Samba dans Proxmox pour le voir sous <em>Datacenter → Storage</em>."
}
]
}
}
@@ -0,0 +1,123 @@
{
"meta": {
"title": "Host: Aggiungi il target iSCSI come storage Proxmox | Documentazione ProxMenux",
"description": "Registra un target iSCSI come storage Proxmox con ProxMenux. La procedura installa open-iscsi, rileva il portale tramite sendtargets, consente di scegliere il target ed esegue pvesm add iscsi. Fornisce dispositivi a blocchi raw per le immagini disco delle VM.",
"ogTitle": "Host: Aggiungi il target iSCSI come storage Proxmox | Documentazione ProxMenux",
"ogDescription": "Registra un target iSCSI come storage Proxmox con rilevamento guidato. Usa pvesm add iscsi e fornisce dispositivi a blocchi raw per i dischi delle VM."
},
"header": {
"title": "Host: Aggiungi il target iSCSI come storage Proxmox",
"description": "Registra un target iSCSI (SAN, TrueNAS / FreeNAS, Synology, Windows Server o qualsiasi array compatibile con iSCSI) come storage Proxmox. I LUN esportati appaiono come dispositivi a blocchi e possono ospitare immagini disco VM con prestazioni vicine a quelle locali tramite la rete.",
"section": "Archiviazione e condivisione · Host"
},
"intro": {
"title": "Cosa succede?",
"body": "ProxMenux offre una procedura guidata per <code>pvesm add iscsi</code>: installa <code>open-iscsi</code> se necessario, chiede il portale iSCSI (IP:porta), esegue <code>iscsiadm --mode discovery --type sendtargets</code> sul portale, permette di scegliere l’IQN del target e registra lo storage iSCSI in Proxmox. Il servizio <code>iscsid</code> mantiene quindi la sessione iSCSI anche dopo i riavvii."
},
"vocab": {
"heading": "Vocabolario iSCSI (riferimento rapido)",
"headerTerm": "Termine",
"headerMeaning": "Significato",
"rows": [
{
"term": "Portale",
"meaningRich": "L'endpoint del servizio iSCSI sul server di destinazione — un IP (o un hostname) più una porta TCP. La porta di default è <code>3260</code>; ProxMenux lo assume se non si specifica uno."
},
{
"term": "Destinazione",
"meaningRich": "Un singolo \"server\" esportato all'interno del portale, identificato dal suo IQN (<em>iSCSI Qualified Name</em>). Un portale può ospitare molti obiettivi."
},
{
"term": "IQN",
"meaningRich": "La forma canonica è <code>iqn.YYYY-MM.reverse.domain:identifier</code>, ad esempio <code>iqn.2024-08.com.truenas:proxmox-pool</code>. Sia l'obiettivo che l'iniziatore hanno il proprio IQN."
},
{
"term": "LUN",
"meaningRich": "Un dispositivo a blocchi all'interno di un target (numero unità logica). Un singolo obiettivo può esporre diversi LUN; ogni LUN appare come un proprio disco in Proxmox e può diventare un disco VM."
},
{
"term": "Iniziatore",
"meaningRich": "Il cliente che si collega a un obiettivo — in questo caso, il vostro host Proxmox. L'iniziatore ha il proprio IQN memorizzato in <code>/etc/iscsi/initiatorname.iscsi</code>. Gli obiettivi tipicamente accettano solo sessioni da parte dell'iniziatore pre-autorizzato IQNs."
}
]
},
"opening": {
"heading": "Apertura dello strumento",
"body": "Dal menu principale di ProxMenux, aprire <strong>Storage &amp; Share Manager → Aggiungi iSCSI Target come Proxmox Storage</strong>. Vedrete questo sub-menu con quattro opzioni:",
"imageAlt": "iSCSI Host Manager menu — Aggiungi / Visualizza / Rimuovi / Test connettività"
},
"howRuns": {
"heading": "Come funziona lo script (Aggiungi flusso)",
"body": "Il flusso ha due fasi con chiara separazione tra \"impostare l'iniziatore, scoprire gli obiettivi\" e \"registrare effettivamente lo storage in Proxmox\". A differenza di NFS / Samba, non c'è auto-scoperta sulla sottorete — è necessario conoscere l'indirizzo del portale (iSCSI non è broadcast-friendly)."
},
"add": {
"heading": "Aggiungere l'obiettivo iSCSI come storage Proxmox",
"items": [
"<strong>Inserimento del portale</strong> — digitare il nome IP o host del server di destinazione iSCSI. Port <code>3260</code> è assunto a meno che non si digita <code>host:port</code>.",
"<strong>Rilevamento dei target</strong> — ProxMenux chiama <code>iscsiadm --mode discovery --type sendtargets --portal &lt;ip:port&gt;</code>. Il server risponde con ogni IQN che consente a questo iniziatore di vedere. Se la scoperta fallisce, lo script mostra l'errore esatto da <code>iscsiadm</code> e elenca cause comuni (IP errato, firewall, iniziatore IQN non autorizzato).",
"<strong>Selezione del target</strong> — un solo target viene selezionato automaticamente; con più target viene mostrato un menu.",
"<strong>Storage ID</strong> — default è <code>iscsi-&lt;last IQN segment, 20 chars max&gt;</code>. Solo lettere, cifre, <code>-</code> e <code>_</code>.",
"<strong>Tipo di contenuto</strong> — a differenza di NFS / Samba, il contenuto di iSCSI è <strong>fissato a <code>images</code></strong>. iSCSI espone dispositivi a blocchi raw, non un filesystem, quindi Proxmox consente solo di ospitare dischi VM su di esso."
],
"authTitle": "Autorizzare l'iniziatore Proxmox sul bersaglio",
"authBody1": "Prima che il flusso Add funzioni end-to-end, l'obiettivo iSCSI deve conoscere il vostro host Proxmox. Ottieni il tuo iniziatore IQN:",
"authBody2": "Quindi aggiungere che IQN alla lista di accesso dell'obiettivo (in TrueNAS: <em>Sharing → Block → Gruppi Iniziatori</em>; in Synology: <em>SAN Manager → iSCSI → Target → Modifica → Initiators</em>; ecc.). Se l'iniziatore non è autorizzato, la scoperta di <code>iscsiadm</code> restituisce un elenco vuoto o un errore di autenticazione."
},
"manual": {
"heading": "Equivalente manuale",
"body": "L'intero flusso mappa a questi comandi:"
},
"view": {
"heading": "Visualizzare gli archivi iSCSI configurati",
"body": "Elenca ogni voce iSCSI in Proxmox (<code>pvesm status | awk ''$2 == \"iscsi\"''</code>) con portale, target IQN, tipo di contenuto e stato live."
},
"remove": {
"heading": "Rimuovere lo storage iSCSI",
"body": "Esegue <code>pvesm remove &lt;storage-id&gt;</code> dopo aver confermato il portale, l'obiettivo e il contenuto. Solo la registrazione Proxmox viene rimossa — <strong> l'obiettivo iSCSI stesso non è toccato</strong> e le sessioni esistenti sul lato del kernel possono indugiare fino al prossimo riavvio.",
"warnTitle": "Prima controlla i dischi VM presenti su questo iSCSI",
"warnBody": "La rimozione di uno storage iSCSI mentre le VM hanno ancora dischi su di esso lascia quelle VM che puntano in un storage non più registrato. Proxmox segnalerà l'errore, ma i dati LUN sono intatti sul bersaglio — è possibile re-registrare lo storage più tardi per ottenere i dischi indietro. Tuttavia, spostare o eseguire il backup delle VM prima di essere al sicuro."
},
"test": {
"heading": "Test di connettività iSCSI",
"body": "Esegue un passaggio diagnostico: controlla che <code>iscsiadm</code> è installato, stampa il tuo iniziatore IQN, conferma che <code>iscsid</code> è in esecuzione, pings ogni portale registrato, sonde la sua porta, e segnala <code>pvesm status</code> più se una sessione iSCSI è attualmente attiva (<code>iscsiadm --mode session</code>). Sessione attiva più il portale raggiungibile ma \"inattiva\" in Proxmox di solito significa uno stato obsoleto - prova <code>pvesm set &lt;id&gt; --disable 0</code>."
},
"troubleshoot": {
"heading": "Risoluzione dei problemi",
"portalTitle": "\"Impossibile raggiungere il portale\" ma il server IP risponde altrove",
"portalBody": "Il ping all’indirizzo del portale non è riuscito. Controlla di raggiungere l’interfaccia della <em>rete di storage</em> (iSCSI spesso usa una VLAN o subnet separata dalla rete di gestione). Verifica anche il DNS se hai indicato un nome host.",
"discoverTitle": "\"iSCSI scoperta fallita\" da iscsiadm",
"discoverIntro": "Lo script mostra l'errore esatto. Cause più comuni:",
"discoverItems": [
"Portale IP / porta sbagliato (doppio controllo, default è 3260).",
"Il servizio iSCSI non viene eseguito sul server di destinazione.",
"Firewall blocca 3260 tra Proxmox e l'obiettivo.",
"<strong>L’IQN dell’iniziatore non è autorizzato sul target.</strong> Causa più frequente negli array aziendali. Aggiungi prima l’IQN Proxmox all’ACL degli iniziatori del target."
],
"noTargetTitle": "Nessun obiettivo trovato ma la scoperta è riuscita",
"noTargetBody": "Il server ha accettato l’iniziatore ma non gli espone alcun target. Controlla autenticazione e accessi: alcuni array consentono il rilevamento a tutti gli IQN ma filtrano i target visibili a ciascuno.",
"noLunTitle": "I LUN non appaiono in /dev/disk/by-path dopo la registrazione",
"noLunBody": "<code>pvesm add iscsi</code> è riuscito ma il kernel non vede dispositivi a blocchi. Controlla <code>iscsiadm --mode session</code>: se non esistono sessioni attive, avviane una con <code>iscsiadm --mode node --login</code>. Se una sessione esiste ma mancano i LUN, forza una nuova scansione: <code>iscsiadm --mode session --rescan</code>. Se non appare ancora nulla, il target probabilmente non ha LUN assegnati a questo IQN; configura la mappatura LUN sul target.",
"chapTitle": "autenticazione CHAP",
"chapBody": "ProxMenux non offre campi utente/password CHAP nella procedura interattiva. Se il rilevamento fallisce, lo script si ferma prima di <code>pvesm add</code> e non registra comunque lo storage. Configura separatamente i requisiti CHAP del target in <code>open-iscsi</code>, inclusa l’autenticazione del rilevamento se necessaria, poi riprova. Controlla la configurazione con <code>iscsiadm</code> e verifica le sessioni attive con <code>iscsiadm --mode session</code>."
},
"related": {
"heading": "Correlati",
"items": [
{
"href": "/docs/storage-share/host-nfs",
"label": "Condivisione NFS come storage Proxmox",
"tail": "— alternativa a livello di file. Più semplice da configurare, più flessibile (backup / ISO / tmpl / immagini), leggermente più lento per dischi VM dal vivo."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS come storage Proxmox",
"tail": " — un’altra opzione a livello di file; da evitare per i dischi delle VM in esecuzione a causa della semantica dei blocchi."
},
{
"href": "/docs/storage-share/host-local-disk",
"label": "Aggiungere disco locale come archiviazione Proxmox",
"tail": " — quando il disco è locale all’host Proxmox anziché su un’altra macchina in rete."
}
]
}
}
@@ -0,0 +1,186 @@
{
"meta": {
"title": "Host: Aggiungere disco locale come archiviazione Proxmox | Documentazione ProxMenux",
"description": "Formatta un disco SATA, SAS o NVMe locale sull’host Proxmox e registralo come storage di tipo directory o pool ZFS. Include selezione sicura del disco, conferma delle operazioni distruttive, fstab basato su UUID, creazione del pool ZFS e uso di pvesm add dir / zfspool.",
"ogTitle": "Host: Aggiungere disco locale come archiviazione Proxmox | Documentazione ProxMenux",
"ogDescription": "Formatta un disco locale e registralo come storage directory o pool ZFS in Proxmox con una procedura guidata e filtri di sicurezza."
},
"header": {
"title": "Host: Aggiungi disco locale come archiviazione Proxmox",
"description": "Scegli un disco fisico sull’host Proxmox, formattalo se necessario in ext4, xfs, btrfs o zfs e registralo come storage directory con pvesm add dir oppure come pool ZFS con pvesm add zfspool. ProxMenux esclude il disco di sistema e quelli in uso e descrive ogni operazione distruttiva prima di eseguirla.",
"section": "Archiviazione e condivisione · Host"
},
"intro": {
"title": "Cosa succede?",
"body": "Altri strumenti <em>Host</em> in questa sezione affrontano lo storage <strong>di rete</strong> (NFS / Samba / iSCSI). Questo si occupa di dischi <strong>locali</strong> — unità di ricambio fisicamente attaccate al vostro host Proxmox che si desidera utilizzare per dischi, backup, ISO o modelli VM. ProxMenux prepara il disco (partizione + formato + montaggio) e lo registra in Proxmox in modo che l'interfaccia utente possa inserire il contenuto lì."
},
"destructive": {
"title": "Strumento distruttivo per il percorso 'format'",
"body": "La procedura <em>Formatta</em> <strong>distrugge le partizioni e i dati esistenti sul disco selezionato</strong>. ProxMenux mostra un avviso, esclude i dischi in uso e richiede conferma prima di eseguire <code>wipefs</code> / <code>sgdisk</code> / <code>mkfs</code>. Non è una sovrascrittura sicura di ogni byte. Controlla due volte il percorso del dispositivo prima di confermare."
},
"compare": {
"heading": "Directory o pool ZFS — quale scegliere?",
"headerDir": "Directory (ext4 / xfs / btrfs)",
"headerZfs": "Pool ZFS",
"rows": [
{
"label": "Tipo di stoccaggio Proxmox",
"dirRich": "<code>dir</code>",
"zfsRich": "<code>zfspool</code>"
},
{
"label": "Formato del disco VM",
"dir": "File qcow2 / raw su un file system",
"zfs": "Nativo ZFS dataset (zvol) per disco"
},
{
"label": "Istantanee",
"dir": "snapshot qcow2; btrfs snapshots se fs=btrfs",
"zfs": "Nativo, istantaneo, copia su scrittura"
},
{
"label": "Provisioning sottile",
"dir": "Sì (qcow2 default)",
"zfs": "Sì (ZFS default)"
},
{
"label": "RAM esigenze",
"dir": "Basso",
"zfs": "Elevati — ZFS usa la RAM libera come cache ARC"
},
{
"label": "Supporta i tipi di contenuti",
"dir": "images, backup, iso, vztmpl, snippets, rootdir",
"zfs": "solo images e rootdir (storage a blocchi)"
},
{
"label": "Il meglio per",
"dir": "Disco generico: mix di dischi VM, backup, ISO",
"zfs": "Pure VM / LXC disco dati con istantanee + esigenze di integrità"
}
]
},
"opening": {
"heading": "Apertura dello strumento",
"body": "Dal menu principale di ProxMenux, aprire <strong>Storage &amp; Share Manager → Aggiungi disco locale come Proxmox Storage</strong>. Vedrete questo sub-menu con quattro opzioni:",
"imageAlt": "Menu Local Disk Manager — Aggiungi / Visualizza / Rimuovi / Elenca dischi disponibili"
},
"howRuns": {
"heading": "Come funziona lo script (Aggiungi flusso)",
"body": "Il flusso ha due fasi con un filtro di sicurezza con tre controlli. Fase 1 scopre dischi sicuri, decide cosa fare con quello scelto e raccoglie i parametri di archiviazione; Fase 2 fa il lavoro distruttivo. Fino alla conferma finale il disco è intatto."
},
"format": {
"heading": "Formattare un disco vuoto",
"intro": "Il percorso per un disco fresco o uno il cui contenuto non ti interessa.",
"items": [
"Scegliere il disco (sistema / dischi in uso sono nascosti).",
"Scegliere \"Format disk (ERASE tutti i dati)\".",
"Scegli il filesystem — vedi la tabella sopra per i trade-off.",
"ID di archiviazione (default <code>disk-&lt;device&gt;</code>), percorso di montaggio, preimpostazione del tipo di contenuto.",
"Conferma nel dialogo <strong>CONFERMA FINALE — I DATI SARANNO CANCELLATI</strong>.",
"ProxMenux cancella la tabella delle partizioni e crea una partizione sull’intero disco. Esegue <code>mkfs.&lt;fs&gt;</code> o <code>zpool create</code> e monta il risultato. I file system normali ricevono una voce UUID in <code>/etc/fstab</code> con <code>defaults,nofail</code>; ZFS usa la configurazione di montaggio del pool. Se <em>Come storage Proxmox</em> è selezionato (sempre per ZFS), viene poi registrato con <code>pvesm add dir</code> o <code>pvesm add zfspool</code>; altrimenti resta solo un montaggio dell’host."
],
"tipTitle": "Perché UUID + nofail in /etc/fstab",
"tipBody": "Lo script scrive <code>UUID=… /mnt/&lt;id&gt; &lt;fs&gt; defaults,nofail 0 2</code>. UUID sopravvive al riordino del dispositivo attraverso i reboots (così <code>/dev/sdc</code> diventando <code>/dev/sdd</code> non rompe l'avvio). <code>nofail</code> significa che se il disco scomparirà mai (guasto hardware, scollegamento), Proxmox si avvia comunque — lo storage mostra solo come inattivo fino a quando il disco torna indietro."
},
"reuse": {
"heading": "Riutilizzare un filesystem esistente",
"intro": "Il percorso per un disco che si desidera mantenere i dati su — forse si è spostato da un altro host Proxmox, o il disco ha già backup / ISO che si desidera mantenere accessibile.",
"items": [
"Scegli il disco.",
"Scegliere \"Usa filesystem esistente\".",
"ID di archiviazione, percorso di montaggio, preimpostazione di tipo di contenuto.",
"ProxMenux <strong>non</strong> tocca i dati: crea il punto di montaggio, monta il disco, aggiunge una voce UUID a <code>/etc/fstab</code> e lo registra come archivio <code>dir</code> Proxmox."
],
"warnTitle": "Il riutilizzo non gestisce i pool ZFS",
"warnBody": "Se il disco contiene già un ZFS pool, il percorso di <em>riutilizzo</em> qui cerca solo di montarlo come un filesystem regolare — che non riesce. Importare un esistente ZFS pool uso <code>zpool import &lt;name&gt;</code> sulla riga di comando e quindi registrarlo manualmente con <code>pvesm add zfspool</code>."
},
"presets": {
"heading": "Preimpostazioni di tipo contenuto",
"intro": "ProxMenux offre tre preimpostazioni e un’opzione personalizzata. La stringa di contenuto scelta viene passata a <code>pvesm add … --content &lt;csv&gt;</code>:",
"headerPreset": "Preimpostazione",
"headerContent": "stringa di contenuti",
"headerUse": "Caso di utilizzo",
"rows": [
{
"preset": "Storage VM",
"content": "images,backup",
"use": "Uno storage dedicato ai dischi delle VM che conserva anche i backup delle stesse VM."
},
{
"preset": "NAS standard",
"content": "backup,iso,vztmpl",
"use": "Un disco di archivio / media — backup, ISO e modelli LXC. Qui non ci sono dischi VM."
},
{
"preset": "Tutti i tipi",
"content": "images,backup,iso,vztmpl,snippets",
"use": "Questa preimpostazione ampia abilita immagini, backup, ISO, modelli LXC e snippet. Aggiungi altri tipi supportati, come rootdir, tramite Personalizzato se necessario."
},
{
"preset": "Personalizzato",
"content": "(ingresso libero)",
"useRich": "Digitare il CSV esatto da soli, ad esempio. <code>images</code> da solo, o <code>rootdir,images</code>."
}
],
"zfsTitle": "ZFS pool il contenuto è più stretto",
"zfsBody": "Con <strong>zfs</strong>, uno <code>zfspool</code> supporta solo <code>images</code> e <code>rootdir</code>, non file ISO o backup. Inserisci una lista supportata tramite Personalizzato. Lo script la inoltra invariata; tipi non supportati possono far fallire la registrazione. Controlla poi <code>pvesm status</code>."
},
"manual": {
"heading": "Equivalente manuale",
"extIntro": "Formato + registra un disco come archiviazione directory ext4:",
"zfsIntro": "O come una ZFS pool:"
},
"view": {
"heading": "Visualizza gli archivi del disco",
"body": "Elenca ogni archiviazione Proxmox su disco (entrambi <code>dir</code> e <code>zfspool</code> che sono creati dall'utente — i pool di sistema come <code>rpool</code> sono nascosti). Mostra il percorso di montaggio / pool nome, tipi di contenuti e stato dal vivo."
},
"remove": {
"heading": "Rimuovi storage su disco",
"body": "Rimuove lo storage da Proxmox (<code>pvesm remove</code>) e offre la pulizia della voce corrispondente in <code>/etc/fstab</code>. Lo script <strong>non</strong> distrugge automaticamente i pool ZFS: è un passaggio separato con <code>zpool destroy &lt;name&gt;</code> da eseguire manualmente quando sei sicuro.",
"warnTitle": "Dati e dipendenze VM esistenti",
"warnBody": "La rimozione dello storage non modifica il file system o il pool: i dati restano sul disco. Tuttavia, VM e CT che lo usano tramite ID non potranno avviarsi. Prima di rimuoverlo, sposta i dischi delle VM su un altro storage o esegui un backup."
},
"list": {
"heading": "Elenca i dischi disponibili",
"body": "Una visione diagnostica di sola lettura: stampa l'output di <code>lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,MODEL</code> seguito dagli storage <code>dir</code> / <code>zfspool</code> già noti a Proxmox. Buona prima fermata quando si apre lo strumento e si desidera vedere \"che cosa è su questo host?\" prima di aggiungere qualcosa."
},
"troubleshoot": {
"heading": "Risoluzione dei problemi",
"noDisksTitle": "\"Nessun disco disponibile trovato\"",
"noDisksIntro": "Il filtro di sicurezza ha nascosto ogni disco. Motivi comuni:",
"noDisksItems": [
"Solo il disco radice è presente.",
"Ogni altro disco fa parte di un array attivo ZFS / LVM / RAID.",
"Ogni altro disco è riferito da una configurazione VM o LXC (passthrough).",
"Il disco è in sola lettura (guasto hardware o blocco delle scritture)."
],
"noDisksOutro": "Usa <em>Elenca dischi disponibili</em> nel menu per vedere l’output grezzo di <code>lsblk</code> e capire cosa sta accadendo.",
"mountedTitle": "Formato fallisce con \"il dispositivo è montato\"",
"mountedBody": "Qualcosa ha montato automaticamente il disco (udisksd, un desktop manager, un'unità systemd persistente). Smontare: <code>umount /dev/sdX?*</code> o <code>systemctl stop &lt;whatever-mounts-it&gt;</code>, poi riprovare. Il filtro di sicurezza dello script dovrebbe aver nascosto i dischi montati, quindi se avete raggiunto questo errore il montaggio è avvenuto tra il menu che mostra e si conferma.",
"zpoolTitle": "zpool create fallisce con «invalid vdev specification»",
"zpoolBody": "Di solito significa che il disco ha ancora le firme GPT / LVM / ZFS stanti che <code>zpool</code> rifiuta di sovrascrivere senza forza. Lo script esegue <code>wipefs</code> e <code>sgdisk --zap-all</code> prima del formato, ma un disco molto testardo può ancora avere un'etichetta stante. Forzare una pulizia pulita manualmente: <code>zpool labelclear -f /dev/sdX</code> o <code>dd if=/dev/zero of=/dev/sdX bs=1M count=10</code> e riprovare.",
"inactiveTitle": "Mostra come inattivo dopo il riavvio",
"inactiveBody": "Controlla <code>findmnt &lt;mount-path&gt;</code>. Se il montaggio manca, qualcosa in <code>/etc/fstab</code> non ha funzionato. <code>dmesg | tail</code> di solito indica la causa: UUID non corrispondente, filesystem danneggiato o tentativo saltato in presenza di <code>nofail</code>. Dopo aver corretto la causa, <code>mount -a</code> in genere rende nuovamente disponibile lo storage."
},
"related": {
"heading": "Correlati",
"items": [
{
"href": "/docs/disk-manager/format-disk",
"label": "Disk Manager: Formato / Pulisci disco fisico",
"tail": "— alternativa di basso livello quando si desidera solo preparare un disco senza registrarlo come archiviazione Proxmox."
},
{
"href": "/docs/storage-share/host-iscsi",
"label": "Aggiungere l'obiettivo iSCSI come storage Proxmox",
"tail": " — equivalente di rete se il dispositivo a blocchi si trova su un’altra macchina."
},
{
"href": "/docs/storage-share/host-local-shared",
"label": "Aggiungi Directory condivisa su host",
"tail": " — prepara una directory sull’host per i bind mount LXC, senza registrarla come storage Proxmox."
}
]
}
}
@@ -0,0 +1,103 @@
{
"meta": {
"title": "Host: Aggiungi directory condivisa su Host | ProxMenux Documentazione",
"description": "Crea una directory sull’host pronta per i bind mount LXC, con permessi compatibili sia con i container privilegiati sia con quelli non privilegiati. Usa sticky bit, permessi rwx per tutti e ACL per l’ereditarietà predefinita.",
"ogTitle": "Host: Aggiungi directory condivisa su Host | ProxMenux Documentazione",
"ogDescription": "Prepara una directory sull’host per i bind mount LXC con permessi compatibili con CT privilegiati e non privilegiati."
},
"header": {
"title": "Host: Aggiungi directory condivisa su Host",
"description": "Crea una directory sull’host da rendere accessibile a uno o più container LXC tramite bind mount. ProxMenux applica permessi compatibili con CT privilegiati e non privilegiati, senza dover allineare gli UID spostati o eseguire chown per ogni container, e registra la directory per renderla disponibile a LXC Mount Manager.",
"section": "Archiviazione e condivisione · Host"
},
"intro": {
"title": "Ciò che è (e NON è)",
"body": "Questo strumento <strong>non</strong> registra nulla in Proxmox (nessun <code>pvesm add</code> qui). Prepara semplicemente una directory sull'host — <code>/mnt/shared</code>, per impostazione predefinita — con autorizzazioni che qualsiasi contenitore LXC può leggere e scrivere, indipendentemente dal fatto che il CT sia privilegiato o non privilegiato. Il solito passaggio successivo è collegarlo al montaggio in ogni CT con <mountLink>LXC Mount Manager</mountLink>."
},
"why": {
"heading": "Perché uno strumento dedicato per questo",
"intro": "Quando si esegue il bind mount di una directory host in un contenitore LXC, le autorizzazioni dipendono da:",
"items": [
"Se il CT è <strong>privilegiato</strong> (UID 0 nel CT = UID 0 sull’host) o <strong>non privilegiato</strong> (UID 0 nel CT = UID 100000 sull’host, con uno spostamento di +100000).",
"La proprietà della directory host (un file dell’UID 1000 sull’host usa i permessi per «altri» dal punto di vista di un CT non privilegiato, poiché nessun utente del CT corrisponde a quell’UID host).",
"Se più CT condividono la stessa directory (le TC differenti possono avere diversi intervalli UID)."
],
"outro": "ProxMenux usa una soluzione pratica: <strong>dare accesso a tutti</strong> a livello di filesystem, con rwx per tutti, sticky bit e ACL per l’ereditarietà dei permessi. Qualsiasi UID mappato può leggere e scrivere; non serve allineare UID/GID."
},
"howRuns": {
"heading": "Come funziona lo script",
"body": "Lo script non ha menu principale — esegue una singola azione, <strong>Crea directory condivisa</strong>. Fase 1 raccoglie il percorso di destinazione; Fase 2 crea la directory e applica autorizzazioni."
},
"bits": {
"heading": "Che ogni bit di autorizzazione fa",
"intro": "Il numero <strong>1777</strong> non è arbitrario: è la stessa modalità che utilizza Linux per <code>/tmp</code>. Tre proprietà combinate:",
"headerBit": "Bit",
"headerEffect": "Effetto",
"headerWhy": "Perché è importante qui",
"rows": [
{
"bit": "1 (sticky bit)",
"effect": "Solo il proprietario del file, quello della directory o un processo con privilegi sufficienti può eliminare o rinominare il file.",
"why": "Aiuta a impedire agli utenti con UID mappati diversi di eliminare i file altrui. Non isola CT con lo stesso UID mappato o accesso root privilegiato."
},
{
"bit": "777 (rwx-rwx-rwx)",
"effect": "Tutti possono leggere, scrivere e attraversare.",
"why": "Gli UID dei CT non privilegiati (100000+) usano i permessi per “altri” sull’host; rwx per tutti concede loro accesso."
},
{
"bit": "ACL (predefinite)",
"effect": "Ereditate su ogni nuovo file / subdir creato.",
"why": "I nuovi contenuti ereditano le ACL predefinite senza rieseguire lo script. Le applicazioni possono comunque richiedere modalità restrittive o modificare i permessi in seguito."
}
],
"privTitle": "I CT privilegiati vedono lo stesso risultato, senza lo spostamento degli UID",
"privBody": "Per un CT privilegiato, UID 0 nel CT è UID 0 sull'host, così <code>root</code> all'interno del CT può leggere / scrivere direttamente la directory host. <code>1777</code> è ancora bene — significa solo che gli utenti non-root all'interno del CT possono anche usare la directory. Gli stessi permessi coprono entrambi i casi."
},
"where": {
"heading": "Dove mettere la directory condivisa",
"intro": "Il localizzatore offre quattro opzioni:",
"opt1Title": "1. Crea una nuova cartella in /mnt",
"opt1Body": "La solita scelta. ProxMenux suggerisce automaticamente il primo nome libero (<code>shared</code>, <code>shared2</code>, <code>shared3</code>, ...). Basta confermare o digitare un nome diverso.",
"opt2Title": "2. Inserisci il percorso personalizzato",
"opt2Body": "Per le directory al di fuori di <code>/mnt</code>. Qualsiasi percorso assoluto funziona (ad es. <code>/srv/media</code>, <code>/data/family</code>). Lo script applica le stesse autorizzazioni.",
"opt3Title": "3. Visualizza le cartelle esistenti in /mnt",
"opt3Body": "Diagnostica di sola lettura: elenca ogni directory sotto <code>/mnt</code> con le sue autorizzazioni, proprietario e spazio disponibile. Utile prima di creare un nuovo per evitare collisioni di nome.",
"opt4Title": "4. Annulla",
"opt4Body": "Esce senza creare nulla, come premendo <kbd>Esc</kbd>.",
"tipTitle": "Dove vive /mnt?",
"tipBody": "Per impostazione predefinita <code>/mnt</code> siede sul filesystem Proxmox root. Se si desidera la directory condivisa su un disco diverso (un disco di dati, un ZFS pool), montare il disco sotto <code>/mnt/&lt;name&gt;</code> primo (Disk Manager o <diskLink>Aggiungere il disco locale come archiviazione Proxmox</diskLink>), e quindi creare la directory condivisa come una sottocartella all'interno di esso — o scegliere \"Inserisci percorso personalizzato\" qui e puntare al disco montato."
},
"manual": {
"heading": "Equivalente manuale",
"body": "L'intero flusso può essere riprodotto a mano:"
},
"next": {
"heading": "Passaggio successivo: bind mount nei container",
"body": "La creazione della directory la prepara solo: nessun contenitore la vede ancora. Per renderlo visibile all'interno di uno o più LXC, utilizzare <mountLink>LXC Mount Manager</mountLink> per collegare il montaggio <code>/mnt/&lt;name&gt;</code> ai CT. Poiché i permessi sono già aperti, Mount Manager <strong>non</strong> offrirà di modificarli: la directory è pronta per l'uso così com'è."
},
"troubleshoot": {
"heading": "Risoluzione dei problemi",
"mkdirTitle": "\"Failed to create directory\"",
"mkdirBody": "Di solito un problema filesystem: <code>/mnt</code> è su un filesystem di sola lettura, il percorso contiene un componente che non è una directory (ad esempio digitato <code>/etc/passwd/sub</code>), o disco è pieno. Controllare con <code>df -h /mnt</code> e <code>mount | grep /mnt</code>.",
"writeTitle": "Container non può scrivere nonostante le autorizzazioni aperte",
"writeBody": "Verifica che il CT stia realmente usando il bind mount con <code>pct config &lt;ctid&gt; | grep ^mp</code>. Nel CT esegui <code>touch /mnt/data/test-$(date +%s)</code>. Se ricevi un errore di accesso negato, la directory potrebbe trovarsi su un filesystem dell’host che non rispetta le ACL, come alcune vecchie configurazioni <code>ext3</code> o <code>vfat</code>. Sposta la directory condivisa su un filesystem ext4, xfs, btrfs o zfs.",
"aclTitle": "ACL comanda silenziosamente non disponibile",
"aclBody": "In un’installazione minima di Proxmox, <code>setfacl</code> / <code>getfacl</code> potrebbero non essere installati. Lo script ricade con grazia (controllo <code>command -v setfacl</code>) e applica solo le autorizzazioni POSIX — che è spesso abbastanza, ma i nuovi file non erediteranno automaticamente il profilo permissivo. Installare <code>acl</code> con <code>apt-get install -y acl</code> e eseguire nuovamente lo script nella directory."
},
"related": {
"heading": "Correlati",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Gestore montaggi LXC",
"tail": "— il passo successivo naturale: legare-montare questa directory in uno o più contenitori."
},
{
"href": "/docs/storage-share/host-local-disk",
"label": "Aggiungere disco locale come archiviazione Proxmox",
"tailRich": "— se si desidera la directory condivisa su un disco dedicato, preparare il disco prima, montarlo sotto <code>/mnt</code>, quindi creare la sottocartella condivisa qui."
}
]
}
}
@@ -0,0 +1,174 @@
{
"meta": {
"title": "Host: monta condivisione NFS sull’host | Documentazione ProxMenux",
"description": "Monta un’esportazione NFS esterna sull’host Proxmox come storage Proxmox tramite pvesm add nfs, come semplice montaggio fstab sull’host non visibile in Datacenter > Storage oppure in entrambi i modi. Il metodo fstab è adatto a condividere il percorso con i container LXC tramite bind mount senza registrarlo come storage Proxmox.",
"ogTitle": "Host: monta condivisione NFS sull’host | Documentazione ProxMenux",
"ogDescription": "Monta un’esportazione NFS esterna sull’host Proxmox tramite pvesm, fstab o entrambi. La modalità fstab è adatta ai bind mount LXC."
},
"header": {
"title": "Host: monta condivisione NFS sull’host",
"description": "Monta sull’host Proxmox un’esportazione NFS proveniente da un NAS, un altro server o una condivisione del tuo homelab. Puoi registrarla come storage Proxmox visibile in Datacenter > Storage, aggiungere un montaggio tramite /etc/fstab in un percorso a scelta oppure usare entrambi i metodi. Il percorso separato è utile per i bind mount nei container LXC senza registrare uno storage Proxmox.",
"section": "Archiviazione e condivisione · Host"
},
"intro": {
"title": "Cosa succede?",
"body": "ProxMenux offre due metodi per montare un’esportazione NFS: <strong>(1) Storage Proxmox</strong> tramite <code>pvesm add nfs</code>. La condivisione compare in Datacenter > Storage e Proxmox gestisce il montaggio in <code>/mnt/pve/&lt;id&gt;</code>. <strong>(2) Montaggio fstab sull’host</strong> in un percorso a scelta, reso permanente tramite <code>/etc/fstab</code>. Non compare come storage Proxmox ed è adatto ai bind mount nei container LXC, senza aggiungere voci nell’interfaccia Proxmox. Puoi usare uno dei due metodi oppure entrambi."
},
"opening": {
"heading": "Apertura dello strumento",
"body": "Dal menu principale di ProxMenux, apri <strong>Storage &amp; Share Manager → Mount NFS Share on Host</strong>. Il sottomenu presenta quattro opzioni:",
"imageAlt": "Menu NFS host — Monta / Visualizza / Rimuovi / Testa connettività"
},
"howRuns": {
"heading": "Come funziona lo script",
"body": "Il flusso ha due fasi con chiara separazione tra \"scoprire, validare e scegliere\" e \"montare effettivamente e scrivere la configurazione\". Dopo aver selezionato un'esportazione, scegli il metodo di montaggio (s) tramite una lista di controllo; il resto delle finestre di dialogo chiede solo params per i metodi selezionati. Fino alla conferma finale, non si toccano né <code>/etc/pve/storage.cfg</code> né <code>/etc/fstab</code>."
},
"modes": {
"heading": "Selezione del metodo di montaggio (una o entrambe le opzioni)",
"intro": "Dopo aver selezionato e convalidato l'esportazione, ProxMenux mostra una lista di controllo con i due metodi di montaggio. Puoi selezionare uno o entrambi. Se si preme OK senza marcare nulla, la finestra di dialogo riappare fino a quando si sceglie almeno una opzione o premere Annulla per uscire dal flusso.",
"imageAlt": "Elenco di controllo del metodo di montaggio con opzioni pvesm e fstab",
"headerMethod": "Metodo",
"headerMount": "Percorso di montaggio",
"headerUi": "Visibile in Datacenter > Storage",
"headerUseCase": "Caso di uso tipico",
"rows": [
{
"method": "<strong>Come storage Proxmox (pvesm)</strong>",
"mountRich": "<code>/mnt/pve/&lt;storage-id&gt;</code> (gestito da Proxmox)",
"ui": "Sì",
"useCase": "VM immagini disco, backup, ISO, modelli LXC — tutto ciò che deve apparire nell'interfaccia utente Proxmox."
},
{
"method": "<strong>Solo fstab dell'host</strong>",
"mountRich": "<code>/mnt/&lt;path&gt;</code> (si sceglie il percorso)",
"ui": "No",
"useCaseRich": "Collega la condivisione a uno o più LXC tramite bind mount <em>senza</em> registrarla come storage Proxmox. Mantiene ordinata l’interfaccia Datacenter."
},
{
"method": "<strong>Entrambi</strong>",
"mount": "Entrambi i percorsi sopra (due punti di montaggio della stessa esportazione NFS)",
"ui": "Sì",
"useCase": "Integrazione nell’interfaccia e percorso stabile separato sull’host con permessi aperti per bind mount LXC."
}
],
"bothTitle": "“Entrambi” crea due montaggi NFS indipendenti",
"bothBody": "I due metodi vengono eseguiti separatamente: pvesm monta in <code>/mnt/pve/&lt;id&gt;</code> e fstab in <code>/mnt/&lt;path&gt;</code>. Si ottiene un montaggio gestito da Proxmox con opzioni predefinite e un montaggio host separato per bind mount LXC. Due punti di montaggio non garantiscono due connessioni TCP: il client NFS può riutilizzare le connessioni di trasporto."
},
"pvesmBranch": {
"heading": "Metodo A — Come stoccaggio Proxmox (pvesm)",
"intro": "Se è selezionato <em>Come storage Proxmox</em>, ProxMenux esegue la procedura pvesm originale:",
"items": [
"<strong>Storage ID</strong> — ciò che Proxmox chiamerà questo storage. Predefinito è <code>nfs-&lt;server-ip-with-dashes&gt;</code>. Sono accettate solo lettere, cifre, <code>-</code> e <code>_</code>.",
"<strong>Content type</strong> — Proxmox lega le categorie di contenuti ai volumi di archiviazione; selezionare ciò che questo NFS è permesso di tenere:"
],
"headerType": "Tipo di contenuto",
"headerAllows": "Cosa permette",
"rows": [
{
"type": "import",
"allowsRich": "Importazioni dell'immagine del disco (selezionate per impostazione predefinita). Necessità di <em>Import Disk Image a VM</em>."
},
{
"type": "backup",
"allowsRich": "File di backup VM e CT (<code>vzdump</code>)."
},
{
"type": "iso",
"allows": "Installazione immagini ISO."
},
{
"type": "vztmpl",
"allows": "Modelli LXC."
},
{
"type": "images",
"allows": "Immagini disco delle VM in uso: rende NFS uno storage per dischi VM."
},
{
"type": "rootdir",
"allows": "File system radice LXC (rari su NFS — leggi la nota sotto)."
},
{
"type": "snippets",
"allows": "Script hook e frammenti cloud-init."
}
],
"warnTitle": "images e rootdir su NFS",
"warnBody": "Selezionando <code>images</code> puoi archiviare dischi VM su NFS. Le prestazioni dipendono da rete, server e carico; un’interruzione può bloccare l’I/O che dipende dal montaggio. <code>rootdir</code> archivia file system radice LXC su NFS, dove i container non privilegiati possono incontrare limiti di mappatura UID, overlay e proprietà. Valuta questi requisiti prima di collocarvi <code>images</code> / <code>rootdir</code>; NFS è utile anche per <code>backup</code> / <code>iso</code> / <code>vztmpl</code>.",
"result": "Il risultato è <code>pvesm add nfs &lt;id&gt; --server &lt;srv&gt; --export &lt;path&gt; --content &lt;csv&gt;</code> e Proxmox auto-mount a <code>/mnt/pve/&lt;id&gt;</code>."
},
"fstabBranch": {
"heading": "Metodo B — solo montaggio tramite fstab sull’host",
"intro": "Se <em>Solo montaggio fstab sull’host</em> è contrassegnato, ProxMenux chiede un percorso di montaggio host e opzioni persistenti, quindi monta e scrive l'ingresso a <code>/etc/fstab</code>:",
"items": [
"<strong>Percorso di montaggio sull’host</strong> — default <code>/mnt/&lt;export-basename&gt;</code>. Dev'essere un percorso assoluto. Se qualcosa è già montato là, o una voce fstab esiste per lo stesso percorso, ProxMenux vi avverte e le offerte per sostituirlo.",
"<strong>Opzioni di montaggio</strong> — <em>Lettura/scrittura</em> (predefinito: <code>rw,hard,nofail,_netdev,rsize=131072,wsize=131072,timeo=600,retrans=2</code>), <em>Sola lettura</em>, <em>Personalizzato</em> (inserisci le tue opzioni)."
],
"appliesIntro": "Dopo la conferma, lo script:",
"applies": [
"<code>mkdir -p</code> il percorso di montaggio.",
"<code>mount -t nfs -o &lt;opts&gt; &lt;srv&gt;:&lt;export&gt; &lt;path&gt;</code>.",
"Scrive una voce di una linea a <code>/etc/fstab</code>: <code>&lt;srv&gt;:&lt;export&gt; &lt;path&gt; nfs &lt;opts&gt; 0 0</code>.",
"Esegue <code>systemctl daemon-reload</code> così systemd raccoglie la nuova voce fstab.",
"Tenta <code>chmod 1777</code> e <code>setfacl o::rwx</code> sul punto di montaggio, ignorando gli eventuali errori. Riesce solo se il server NFS lo permette; molte esportazioni NAS consentono già la scrittura a tutti gli utenti."
],
"lxcTitle": "Usare da un LXC il filesystem montato tramite fstab",
"lxcBody": "Lo script mostra un comando <code>pct set</code> per un bind mount, ad esempio <code>pct set &lt;ctid&gt; -mp0 /mnt/&lt;path&gt;,mp=/mnt/&lt;ct-path&gt;,shared=1,backup=0</code>. In alternativa, <mountLink>LXC Mount Manager</mountLink> rileva i montaggi fstab. <strong>Non viene modificato nulla nel container</strong>. L’accesso di un CT non privilegiato dipende dai permessi sul server per i suoi UID/GID mappati. Lo script tenta solo modifiche ai permessi dall’host e non garantisce esportazioni scrivibili o impostazioni predefinite dei produttori. Se l’accesso fallisce, consulta Risoluzione dei problemi.",
"noUiTitle": "Il montaggio tramite fstab NON è uno storage Proxmox",
"noUiBody": "Il montaggio tramite fstab sull’host rimane intenzionalmente invisibile nell’interfaccia web Proxmox. Non compare in <em>Datacenter > Storage</em>, non è selezionabile durante la creazione di VM o CT e non può essere scelto come destinazione dei processi di backup Proxmox. È soltanto un percorso nel filesystem dell’host. Per avere anche l’integrazione nell’interfaccia, seleziona <em>entrambi</em> i metodi."
},
"manual": {
"heading": "Equivalente manuale",
"pvesmIntro": "Il metodo A (pvesm) corrisponde a:",
"fstabIntro": "Il metodo B (fstab) corrisponde a:"
},
"view": {
"heading": "Visualizzare gli archivi NFS configurati",
"body": "Elenca tutte le voci NFS registrate in Proxmox (<code>pvesm status | awk ''$2 == \"nfs\"''</code>) con server, esportazione, tipi di contenuto, percorso e stato attuale del montaggio. <strong>Nota:</strong> questa vista mostra solo gli storage registrati tramite pvesm. I montaggi configurati soltanto in fstab non compaiono; controllali con <code>findmnt -t nfs</code> o <code>grep nfs /etc/fstab</code>."
},
"remove": {
"heading": "Rimuovere lo storage NFS",
"body": "Esegue <code>pvesm remove &lt;storage-id&gt;</code> dopo una conferma che mostra il server / esportazione / contenuto. Solo la registrazione sul lato Proxmox viene rimossa — <strong> il server NFS remoto non viene mai toccato</strong>, nessun file viene eliminato. Per rimuovere un montaggio solo fstab, modificare <code>/etc/fstab</code> a mano ed eseguire <code>umount &lt;path&gt;</code>.",
"warnTitle": "Prima esegui il backup delle dipendenze",
"warnBody": "Se VM, CT o lavori di backup fanno ancora riferimento a questo storage (da ID), rimuoverlo li lascia puntare in uno storage non più disponibile. Proxmox segnalerà l’errore ma non ripulirà. Spostare o rilasciare i riferimenti prima, quindi rimuovere lo storage."
},
"test": {
"heading": "Test di connettività NFS",
"body": "Esegue un passaggio diagnostico su ogni storage NFS registrato in Proxmox: controlla che <code>showmount</code> è disponibile, che <code>rpcbind</code> è in esecuzione, pings ogni server, sonde porta 2049, chiama <code>showmount -e</code>, e infine segnala la propria vista di Proxmox (<code>pvesm status</code>). Buona prima fermata quando uno storage mostra come <em>inactive</em> nell'interfaccia Proxmox."
},
"troubleshoot": {
"heading": "Risoluzione dei problemi",
"noServersTitle": "\"Nessun server NFS trovato sulla rete\"",
"noServersBody": "Auto-scoprimento utilizza <code>nmap -p 2049 --open &lt;subnet&gt;/24</code>. Il server non può rispondere se: è su una diversa VLAN / subnet, il suo firewall blocca nmap sonde (molti fanno) o la porta 2049 è volutamente chiusa su quell'interfaccia. Utilizzare l'opzione <em>Manual</em> con IP o hostname del server.",
"portTitle": "«La porta NFS (2049) non è accessibile»",
"portBody": "Ping riuscì ma <code>nc -z -w 3 &lt;server&gt; 2049</code> fallì. Controllare il servizio NFS è in esecuzione sul server (<code>systemctl status nfs-server</code> su Linux, Pannello di controllo → File Services on Synology, NFS plugin su OMV / TrueNAS), e che il firewall consente 2049 dall'host Proxmox.",
"showmountTitle": "\"Failed to connect\" da showmount",
"showmountBody": "Il server ha rifiutato la query della lista delle esportazioni. Cause comuni: il server applica il client rigoroso ACLs (il vostro IP Proxmox non è nell'elenco consentito), <code>rpcbind</code> non è in esecuzione sul server, o il server espone solo NFSv4 con <code>showmount</code> disabilitato. Il percorso di esportazione può ancora essere aggiunto manualmente se lo conosci.",
"inactiveTitle": "Lo stoccaggio mostra come inattivo nell'UI Proxmox",
"inactiveBody": "Esegui prima <em>Testa connettività NFS</em>: verifica che il server risponda al ping, che la porta 2049 sia aperta e che l’elenco delle esportazioni (<code>showmount -e</code>) sia disponibile. Se la connessione funziona ma lo storage rimane inattivo, controlla <code>journalctl -u pvestatd</code> e la configurazione server/esportazione. Ripristina prima connessione o permessi. <code>pvesm set &lt;id&gt; --disable 0</code> abilita uno storage disabilitato; non è una riparazione generica di NFS.",
"lxcNoWriteTitle": "Il montaggio fstab funziona ma il LXC non privilegiato non può scrivere tramite bind mount",
"lxcNoWriteBody": "L’accesso NFS dipende da proprietari, ACL e squash sul server. Le opzioni CIFS <code>uid=</code> e <code>file_mode=</code> <strong>non</strong> si applicano a NFS. Con la mappatura LXC predefinita, root nel CT diventa UID 100000 sull’host, non UID remoto 0. Configura l’accesso per l’UID/GID mappato effettivo o l’identità anonima del server. <code>no_root_squash</code> riguarda solo l’UID remoto 0 e non risolve ogni caso di UID 100000. Lo script tenta <code>chmod 1777</code> ma non aggira i permessi del server.",
"fstabBootTitle": "fstab mount non arriva dopo il riavvio",
"fstabBootBody": "Lo script aggiunge <code>nofail,_netdev</code> quindi una parte mancante all'avvio non blocca l'avvio. Se il montaggio non arriva mai: confermare la rete è raggiungibile (<code>ping &lt;server&gt;</code>), controllare <code>journalctl -u remote-fs.target</code>, e verificare che l'ingresso sia valido con <code>mount -fav | grep nfs</code>. <code>mount -a</code> dopo il boot monta tutto ciò che attualmente manca."
},
"related": {
"heading": "Correlati",
"items": [
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS come storage Proxmox",
"tail": "— stesso modello di flusso (Method A pvesm + Metodo B fstab) per le condivisioni SMB/CIFS."
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Gestore montaggi LXC",
"tailRich": "— eseguire il bind mount del percorso <code>/mnt/&lt;path&gt;</code> in uno o più contenitori."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "client NFS in LXC",
"tail": "— alternativa: montare NFS direttamente dall'interno di un contenitore privilegiato (senza passare dall’host)."
}
]
}
}
@@ -0,0 +1,172 @@
{
"meta": {
"title": "Host: monta condivisione Samba sull’host | Documentazione ProxMenux",
"description": "Monta una condivisione Samba o CIFS esterna sull’host Proxmox come storage Proxmox tramite pvesm add cifs, come montaggio fstab con opzioni uid/gid/file_mode aperte non visibile in Datacenter > Storage oppure in entrambi i modi. Il metodo fstab consente a un LXC non privilegiato di leggere e scrivere tramite bind mount, senza modifiche all’interno del container.",
"ogTitle": "Host: monta condivisione Samba sull’host | Documentazione ProxMenux",
"ogDescription": "Monta una condivisione Samba / CIFS esterna sull’host Proxmox tramite pvesm, fstab con permessi aperti per bind mount LXC o entrambi."
},
"header": {
"title": "Host: monta condivisione Samba sull’host",
"description": "Monta sull’host Proxmox una condivisione Samba esterna (SMB / CIFS) proveniente da un NAS, un PC Windows o un’esportazione SMB TrueNAS. Puoi registrarla come storage Proxmox visibile in Datacenter > Storage, aggiungere un montaggio tramite /etc/fstab in un percorso a scelta oppure usare entrambi i metodi. Le opzioni uid/gid/file_mode aperte consentono agli LXC non privilegiati di leggere e scrivere tramite bind mount, senza modifiche nel container.",
"section": "Archiviazione e condivisione · Host"
},
"intro": {
"title": "Cosa succede?",
"body": "ProxMenux offre due metodi per una condivisione Samba: <strong>(1) Storage Proxmox</strong> tramite <code>pvesm add cifs</code>, visibile in Datacenter > Storage e montato su <code>/mnt/pve/&lt;id&gt;</code>. La password è salvata in chiaro in <code>/etc/pve/priv/storage/&lt;id&gt;.pw</code>, protetta dalla directory privata accessibile solo a root: è controllo degli accessi, non cifratura. <strong>(2) Mount fstab dell’host</strong> su un percorso scelto, persistente tramite <code>/etc/fstab</code> e montato con <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> per consentire la scrittura ai bind mount degli LXC non privilegiati. Le credenziali sono in un file riservato a root sotto <code>/etc/samba/credentials/</code>, mai direttamente in <code>fstab</code>. Puoi usare un metodo o entrambi."
},
"opening": {
"heading": "Apertura dello strumento",
"body": "Dal menu principale di ProxMenux, apri <strong>Storage &amp; Share Manager → Mount Samba Share on Host</strong>. Il sottomenu presenta quattro opzioni:",
"imageAlt": "Menu Samba host — Monta / Visualizza / Rimuovi / Testa connettività"
},
"howRuns": {
"heading": "Come funziona lo script",
"body": "Il flusso ha due fasi. Fase 1: scopri il server, convalida le credenziali, scegli la condivisione, quindi scegli il metodo di montaggio (s) tramite una lista di controllo. Fase 2: vengono eseguiti solo i metodi contrassegnati. Le credenziali sono necessarie fin dall’inizio perché <code>smbclient</code> ha bisogno di loro per elencare le condivisioni. Fino alla conferma finale, né <code>/etc/pve/storage.cfg</code> né <code>/etc/fstab</code> sono toccati."
},
"modes": {
"heading": "Selezione del metodo di montaggio (una o entrambe le opzioni)",
"intro": "Dopo aver selezionato la condivisione e convalidare le credenziali, ProxMenux mostra una lista di controllo con i due metodi di montaggio. Puoi selezionare uno o entrambi. Se si preme OK senza marcare nulla, la finestra di dialogo riappare fino a quando si sceglie almeno una opzione o premere Annulla per uscire dal flusso.",
"headerMethod": "Metodo",
"headerMount": "Percorso di montaggio",
"headerUi": "Visibile in Datacenter > Storage",
"headerUseCase": "Caso di uso tipico",
"rows": [
{
"method": "<strong>Come storage Proxmox (pvesm)</strong>",
"mountRich": "<code>/mnt/pve/&lt;storage-id&gt;</code> (gestito da Proxmox)",
"ui": "Sì",
"useCase": "Backup, ISO, modelli LXC — tutto ciò che deve apparire nell'interfaccia utente Proxmox. Live VM dischi sono tecnicamente supportati ma scoraggiati su CIFS (bloccando semantica)."
},
{
"method": "<strong>Solo fstab dell'host</strong>",
"mountRich": "<code>/mnt/&lt;path&gt;</code> con uid aperto/gid/file_mode",
"ui": "No",
"useCaseRich": "Collega la condivisione ai LXC tramite bind mount <em>senza</em> registrare uno storage Proxmox. I permessi locali aperti facilitano l’accesso dei CT non privilegiati, ma il server SMB deve comunque consentire la scrittura all’utente autenticato."
},
{
"method": "<strong>Entrambi</strong>",
"mount": "Entrambi i percorsi sopra (due punti di montaggio della stessa esportazione CIFS)",
"ui": "Sì",
"useCase": "Vuoi sia l’integrazione nell’interfaccia sia un percorso stabile sull’host con permessi aperti per i bind mount LXC. Il montaggio tramite pvesm usa i valori predefiniti di Proxmox; quello tramite fstab applica separatamente le opzioni uid/gid/file_mode aperte."
}
],
"bothTitle": "«Entrambi» crea due punti di montaggio CIFS",
"bothBody": "pvesm monta in <code>/mnt/pve/&lt;id&gt;</code> con le opzioni Proxmox predefinite. fstab monta in <code>/mnt/&lt;path&gt;</code> con <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> per l’accesso locale tramite bind mount LXC. Il server SMB applica comunque i permessi dell’utente del montaggio. Due punti di montaggio non garantiscono due connessioni TCP separate."
},
"pvesmBranch": {
"heading": "Metodo A — Come stoccaggio Proxmox (pvesm)",
"intro": "Se è selezionato <em>Come storage Proxmox</em>, ProxMenux esegue la procedura pvesm originale:",
"items": [
"<strong>Storage ID</strong> — default <code>cifs-&lt;server-ip-with-dashes&gt;</code>. Solo lettere, cifre, <code>-</code> e <code>_</code>.",
"<strong>Tipi di contenuto</strong> — questa lista ProxMenux offre <strong>6</strong> opzioni. Omette <code>rootdir</code> rispetto a NFS: è una scelta dello script, non significa che ogni versione del backend CIFS Proxmox vieti i file system radice LXC:"
],
"headerType": "Tipo di contenuto",
"headerAllows": "Cosa permette",
"rows": [
{
"type": "import",
"allows": "Importazioni dell'immagine del disco (selezionate per impostazione predefinita)."
},
{
"type": "backup",
"allowsRich": "File di backup VM e CT (<code>vzdump</code>)."
},
{
"type": "iso",
"allows": "Installazione immagini ISO."
},
{
"type": "vztmpl",
"allows": "Modelli LXC."
},
{
"type": "images",
"allowsRich": "Immagini disco delle VM in uso — <strong>avviso nel dialogo</strong>, vedi sotto."
},
{
"type": "snippets",
"allows": "Script hook e frammenti cloud-init."
}
],
"warnTitle": "Live dischi VM su CIFS",
"warnBody": "Selezionare <code>images</code> attiva un avviso ProxMenux: CIFS/SMB può causare problemi di blocco nelle operazioni sui dischi VM. Lo script consiglia NFS ma consente di continuare. Backup e ISO sono usi comuni di CIFS. Valuta blocchi, snapshot, migrazione e carico prima di usare CIFS per <code>images</code>.",
"credsTitle": "Dove pvesm memorizza le credenziali",
"credsBody": "La password non è scritta in <code>/etc/pve/storage.cfg</code>. Proxmox salva credenziali in chiaro in <code>/etc/pve/priv/storage/&lt;storage-id&gt;.pw</code>, nell’area privata del file system del cluster, leggibile solo da <code>root</code> (modalità <code>0600</code>); sono protette dai permessi di accesso, non dalla cifratura. Dopo un cambio password sul server usa <code>pvesm set &lt;id&gt; --password &lt;new&gt;</code> oppure rimuovi e aggiungi lo storage tramite ProxMenux."
},
"fstabBranch": {
"heading": "Metodo B — solo montaggio tramite fstab sull’host",
"intro": "Se è selezionato <em>Solo montaggio fstab sull’host</em>, ProxMenux chiede percorso e opzioni persistenti, crea un file di credenziali riservato a root in modalità utente, quindi monta la condivisione e scrive la voce in <code>/etc/fstab</code>:",
"items": [
"<strong>Percorso di montaggio sull’host</strong> — default <code>/mnt/&lt;share-name&gt;</code>. Dev'essere un percorso assoluto. Se qualcosa è già montato là, o una voce fstab esiste, ProxMenux offre per sostituirla.",
"<strong>Opzioni di montaggio</strong> — <em>Lettura/scrittura</em> (predefinito: <code>rw,uid=0,gid=0,file_mode=0777,dir_mode=0777,iocharset=utf8,nofail,_netdev</code>), <em>Sola lettura</em> (<code>file_mode=0555,dir_mode=0555</code>), <em>Personalizzato</em> (inserisci le tue opzioni). Lo script consiglia uid/gid/file_mode aperti per scrivere tramite bind mount LXC."
],
"credsTitle": "File Credenziali (Modalità utente)",
"credsBody": "In modalità utente, ProxMenux crea un file di credenziali riservato a root in <code>/etc/samba/credentials/&lt;server&gt;_&lt;share&gt;.cred</code> (modalità <code>0600</code>) con righe <code>username=</code> e <code>password=</code>. La voce fstab lo richiama tramite <code>credentials=</code>: la password in chiaro non compare in <code>/etc/fstab</code>. In modalità ospite viene aggiunto <code>guest</code> e non viene creato alcun file di credenziali.",
"appliesIntro": "Dopo la conferma, lo script:",
"applies": [
"<code>mkdir -p</code> il percorso di montaggio.",
"<code>mount -t cifs -o &lt;opts&gt;,credentials=&lt;file&gt;</code> (o <code>guest</code>) <code>//&lt;srv&gt;/&lt;share&gt; &lt;path&gt;</code>.",
"Scrive una voce di una linea a <code>/etc/fstab</code>: <code>//&lt;srv&gt;/&lt;share&gt; &lt;path&gt; cifs &lt;opts&gt; 0 0</code>.",
"Esegue <code>systemctl daemon-reload</code> così systemd raccoglie la nuova voce fstab."
],
"lxcTitle": "Usare da un LXC non privilegiato il filesystem montato tramite fstab",
"lxcBody": "Le opzioni CIFS <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> aprono i controlli locali dei permessi per bind mount LXC. ACL del server e semantica Unix/POSIX negoziata possono ancora influire sull’accesso. <strong>Non viene modificato nulla nel container</strong>: nessun <code>chown</code> nel CT, gruppi o modifiche a <code>/etc/lxc</code>. La riga <code>mp</code> è gestita nella configurazione Proxmox del CT. Usa il comando <code>pct set</code> mostrato o <mountLink>LXC Mount Manager</mountLink>.",
"noUiTitle": "Il montaggio tramite fstab NON è uno storage Proxmox",
"noUiBody": "Il montaggio tramite fstab sull’host rimane intenzionalmente invisibile nell’interfaccia web Proxmox. Non compare in <em>Datacenter > Storage</em>, non è selezionabile durante la creazione di VM o CT e non può essere scelto come destinazione dei processi di backup Proxmox. È soltanto un percorso nel filesystem dell’host. Per avere anche l’integrazione nell’interfaccia, seleziona <em>entrambi</em> i metodi."
},
"manual": {
"heading": "Equivalente manuale",
"pvesmIntro": "Il metodo A (pvesm) corrisponde a:",
"fstabUserIntro": "Metodo B (fstab, user auth) — file credenziali + montaggio:",
"fstabGuestIntro": "Metodo B (fstab, guest auth) — nessun file di credenziali:"
},
"view": {
"heading": "Visualizza storage CIFS e montaggi host",
"body": "Mostra gli storage CIFS registrati (<code>pvesm status | awk ''$2 == \"cifs\"''</code>) con server, condivisione, contenuto, utente o <em>Ospite</em>, percorso e stato. Le password <strong>non vengono mai mostrate</strong>. <strong>Nota:</strong> una seconda sezione elenca montaggi fstab host, opzioni, percorso del file di credenziali e stato attivo/inattivo. Verifica manualmente con <code>findmnt -t cifs</code> o <code>grep cifs /etc/fstab</code>."
},
"remove": {
"heading": "Rimuovi storage CIFS o montaggio host",
"body": "Il selettore offre storage pvesm e montaggi fstab host. Per pvesm esegue <code>pvesm remove &lt;storage-id&gt;</code> e Proxmox rimuove le credenziali associate. Per fstab tenta <code>umount &lt;path&gt;</code>, rimuove la voce da <code>/etc/fstab</code> e le credenziali in <code>/etc/samba/credentials/</code>, poi la directory vuota se possibile. Se lo smontaggio fallisce, serve uno smontaggio manuale o un riavvio. <strong>Il server Samba remoto e i suoi file non vengono modificati</strong>.",
"warnTitle": "Prima esegui il backup delle dipendenze",
"warnBody": "VM, CT o processi di backup che fanno riferimento a questo ID di storage non funzioneranno dopo la rimozione. Sposta o elimina quei riferimenti prima di rimuovere lo storage."
},
"test": {
"heading": "Prova la connettività Samba",
"body": "Diagnostica ogni storage CIFS registrato in Proxmox: verifica la presenza di <code>smbclient</code>, prova ping e porte 445/139, tenta un elenco come ospite e mostra lo stato secondo Proxmox (<code>pvesm status</code>). «Autenticazione richiesta» nel test ospite significa che il server espone le condivisioni solo agli utenti autenticati, come nella maggior parte dei NAS."
},
"troubleshoot": {
"heading": "Risoluzione dei problemi",
"noServersTitle": "\"Nessun server Samba trovato sulla rete\"",
"noServersBody": "Auto-scoprimento utilizza <code>nmap -p 139,445</code>. Il server può essere su una subnet diversa, firewalled, o solo raggiungibile tramite hostname (mDNS / WINS). Utilizzare l'opzione <em>Manual</em> con il nome IP o host.",
"noSharesTitle": "«Nessuna condivisione accessibile trovata»",
"noSharesBody": "<code>smbclient -L</code> non ha restituito nulla per queste credenziali. Cause: l'utente non ha il permesso di elencare le condivisioni (prova con le credenziali di amministratore una volta, o inserire manualmente il nome della condivisione), il server ha la visibilità condivisa disabilitata, o le credenziali sono errate. Lo script consente di digitare il nome di condivisione a mano in questo caso.",
"denyTitle": "Il montaggio Proxmox fallisce con NT_STATUS_ACCESS_DENIED",
"denyBody": "Le credenziali memorizzate pvesm non sono sincronizzate con il server Samba (password modificata, disabilitato account, dominio / workgroup mismatch). Reinserire le credenziali con <code>pvesm set &lt;id&gt; --username &lt;u&gt; --password &lt;p&gt;</code> o rimuovere e riadd da ProxMenux. Se il server è in un dominio AD, aggiungere <code>--domain &lt;DOMAIN&gt;</code> alla chiamata <code>pvesm set</code>.",
"sleepTitle": "\"host is down\" o lo stato di archiviazione va inattivo di notte",
"sleepBody": "Alcuni elettrodomestici NAS messi SMB dormire aggressivamente. <code>pvestatd</code> poi vede l'archiviazione inattiva fino a quando il primo accesso non sveglia il NAS. Se questo è cosmetico, niente è rotto. Se provoca guasti di backup, disabilitare SMB disconnettere il NAS o programmare i backup fuori dalla finestra di sonno.",
"lxcNoWriteTitle": "Il LXC non privilegiato non può scrivere nel percorso fstab tramite bind mount",
"lxcNoWriteBody": "Controlla le opzioni previste con <code>findmnt /mnt/&lt;path&gt;</code>, ad esempio <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>. Permessi locali insufficienti possono bloccare gli UID LXC mappati. Riapplica il profilo RW o adatta le opzioni personalizzate. Verifica anche i diritti dell’utente SMB sul server e se le estensioni Unix/POSIX forniscono modalità server: i permessi locali aperti non aggirano le ACL del server.",
"fstabBootTitle": "fstab mount non arriva dopo il riavvio",
"fstabBootBody": "Lo script aggiunge <code>nofail,_netdev</code> quindi una parte mancante all'avvio non blocca l'avvio. Se il montaggio non arriva mai: confermare la rete è raggiungibile (<code>ping &lt;server&gt;</code>), controllare <code>journalctl -u remote-fs.target</code>, verificare che il file delle credenziali esista ancora (<code>ls -l /etc/samba/credentials/</code>) ed è leggibile, e provare <code>mount -a</code> manualmente."
},
"related": {
"heading": "Correlati",
"items": [
{
"href": "/docs/storage-share/host-nfs",
"label": "Condivisione NFS come storage Proxmox",
"tail": " — pagina correlata con lo stesso schema (metodo A pvesm + metodo B fstab) e confronto dei compromessi."
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Gestore montaggi LXC",
"tailRich": "— eseguire il bind mount del percorso <code>/mnt/&lt;path&gt;</code> in uno o più contenitori."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "client Samba in LXC",
"tail": "— alternativa: montare Samba direttamente dall'interno di un contenitore privilegiato (senza passare dall’host)."
}
]
}
}
@@ -0,0 +1,135 @@
{
"meta": {
"title": "Proxmox NFS, Samba, iSCSI e punti di montaggio LXC — Storage e condivisioni | ProxMenux",
"description": "Integra lo storage esterno e locale in Proxmox VE e condividi cartelle fra l’host e i container LXC. Aggiungi condivisioni NFS, Samba (CIFS) e target iSCSI come storage Proxmox, configura i bind mount LXC con Mount Manager ed esegui client e server NFS o Samba all’interno dei container.",
"ogTitle": "Proxmox NFS, Samba, iSCSI e punti di montaggio LXC — Storage e condivisioni",
"ogDescription": "Integra storage esterno o locale in Proxmox VE: registrazione di NFS, Samba e iSCSI, bind mount LXC e condivisione in rete.",
"twitterTitle": "Proxmox NFS, Samba, iSCSI | ProxMenux",
"twitterDescription": "Aggiungere NFS / Samba / iSCSI come Proxmox storage e condividere cartelle tra host e LXC."
},
"header": {
"title": "Gestore storage e condivisioni",
"description": "Integra lo storage esterno o locale in Proxmox VE e condividi cartelle tra l’host e i container LXC. Tre gruppi di strumenti: integrazione dello storage sull’host (registrazione in Proxmox), LXC Mount Manager (bind mount con gestione pratica dei permessi) e condivisione di rete LXC (procedure client e server NFS o Samba per casi specifici).",
"section": "Storage e condivisioni"
},
"intro": {
"title": "A cosa serve questo menu",
"body": "Disk Manager opera al livello dei <em>singoli dischi fisici</em>. Storage &amp; Share Manager opera un livello sopra: <strong>registra pool di storage e condivisioni di rete in Proxmox</strong> (per renderli disponibili all’interfaccia e allo strumento di creazione delle VM) e <strong>configura la condivisione di file tra l’host e i container</strong>."
},
"opening": {
"heading": "Apertura del menu",
"body": "Dal menu principale di ProxMenux, selezionare <strong>Storage &amp; Share Manager</strong>. Vedrai questo:",
"imageAlt": "Menu Storage & Share Manager con blocchi HOST e LXC"
},
"groups": {
"heading": "Tre gruppi di strumenti",
"intro": "Il menu è diviso in tre gruppi. <strong>Integrazione dello storage sull’host</strong> registra lo storage esterno o locale in Proxmox. <strong>LXC Mount Manager</strong> è lo strumento principale per condividere cartelle con i container: una procedura di bind mount che gestisce sul lato host la mappatura degli UID dei CT non privilegiati. <strong>Condivisione di rete LXC</strong> copre quattro scenari aggiuntivi in cui un container deve <em>utilizzare</em> o <em>esporre</em> direttamente condivisioni NFS o Samba.",
"hostTitle": "storage host",
"hostBody": "Registra lo storage esterno e locale in Proxmox tramite <code>pvesm add …</code>. Una volta registrato, l'archiviazione appare nella UI Proxmox ed è disponibile per i creatori VM e CT.",
"hostItems": [
"NFS esterno / Samba / iSCSI → storage Proxmox",
"Disco locale → Proxmox directory o archiviazione ZFS",
"Directory locale condivisa per bind mount fra più CT"
],
"lxcMountTitle": "Gestore montaggi LXC",
"lxcMountBody": "Lo strumento principale di condivisione LXC. Rende accessibili le directory dell’host nei container tramite bind mount con <code>pct set -mpN</code> e gestisce i permessi particolari dei CT non privilegiati senza creare gruppi o utenti nel container.",
"lxcMountItems": [
"Funziona con CT privilegiati e non privilegiati",
"Propone <code>o+rwx</code> sulla directory host per gli UID non privilegiati",
"Corregge, se necessario, i montaggi CIFS e NFS esistenti"
],
"lxcNetTitle": "condivisione di rete LXC",
"lxcNetBody": "Quattro procedure aggiuntive per i container che devono utilizzare o esporre direttamente condivisioni NFS o Samba. Tutte richiedono un container <strong>privilegiato</strong>.",
"lxcNetItems": [
"<strong>Client</strong> NFS / Samba (utilizza condivisioni esterne)",
"NFS / Samba <strong>server</strong> (esporre cartelle CT)"
]
},
"host": {
"heading": "Integrazione di storage host",
"intro": "Registra lo storage in Proxmox. Ogni opzione chiama <code>pvesm add …</code> sotto il cofano, quindi lo storage si presenta in <strong>Datacenter → Storage</strong> e diventa disponibile per i creatori VM / CT.",
"options": [
{
"href": "/docs/storage-share/host-nfs",
"icon": "Network",
"title": "Aggiungi una condivisione NFS come storage Proxmox",
"description": "Registra un’esportazione NFS esterna come storage Proxmox tramite pvesm add nfs. Proxmox gestisce il montaggio, senza voci aggiuntive in fstab."
},
{
"href": "/docs/storage-share/host-samba",
"icon": "Share2",
"title": "Aggiungi una condivisione Samba come storage Proxmox",
"description": "Registra una condivisione Samba o CIFS esterna come storage Proxmox tramite pvesm add cifs. Proxmox gestisce il montaggio e le credenziali."
},
{
"href": "/docs/storage-share/host-iscsi",
"icon": "Database",
"title": "Aggiungere l'obiettivo iSCSI come storage Proxmox",
"description": "Collegati a un obiettivo iSCSI esterno e registralo come storage Proxmox (dispositivo a blocchi) per le immagini disco VM."
},
{
"href": "/docs/storage-share/host-local-disk",
"icon": "HardDrive",
"title": "Aggiungere disco locale come archiviazione Proxmox",
"description": "Formatta un disco locale SATA / SAS / NVMe e registralo come storage Proxmox di tipo directory o pool ZFS."
},
{
"href": "/docs/storage-share/host-local-shared",
"icon": "FolderOpen",
"title": "Aggiungi directory condivisa su Host",
"description": "Crea una directory sull’host da rendere accessibile in più CT tramite bind mount. È una risorsa dell’host per i container LXC e non viene registrata come storage Proxmox."
}
]
},
"lxcMount": {
"heading": "Gestore montaggi LXC",
"intro": "Lo strumento principale per condividere cartelle tra l’host Proxmox e i container LXC. Usa <code>pct set -mpN</code> per rendere accessibile una directory dell’host nel container tramite bind mount e gestisce sul lato host i permessi dei CT non privilegiati (non vengono creati gruppi o utenti nel container).",
"card": {
"title": "Punti di montaggio LXC (Host ↔ CT)",
"description": "Rendi accessibile una directory dell’host in un container LXC tramite bind mount con pct set -mpN. Funziona con CT privilegiati e non privilegiati; propone chmod o+rwx e ACL per la directory sull’host e corregge, se necessario, i montaggi CIFS o NFS esistenti."
}
},
"lxcNet": {
"heading": "condivisione di rete LXC",
"intro": "Usa queste procedure quando il container deve <em>essere</em> un endpoint NFS o Samba: può usare una condivisione esterna come client oppure esporre le proprie cartelle come server. Per le comuni esigenze di condivisione tramite bind mount fra host e CT, <mountLink>LXC Mount Manager</mountLink> è più semplice e non richiede container privilegiati.",
"options": [
{
"href": "/docs/storage-share/lxc-nfs-client",
"icon": "Download",
"title": "client NFS in LXC",
"description": "Monta condivisioni NFS esterne dall’interno di un container LXC privilegiato. Supporta rilevamento automatico, persistenza in /etc/fstab e smontaggio pulito."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"icon": "Download",
"title": "client Samba in LXC",
"description": "Monta condivisioni Samba / CIFS dall’interno di un container LXC privilegiato. Credenziali archiviate con protezione e rilevamento automatico disponibile."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"icon": "Upload",
"title": "Server NFS in LXC",
"description": "Esporta cartelle su NFS dall'interno di un contenitore privilegiato LXC."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"icon": "Upload",
"title": "Server Samba in LXC",
"description": "Esporre cartelle su SMB / CIFS dall'interno di un contenitore privilegiato LXC."
}
]
},
"privReq": {
"title": "Requisito di container privilegiato",
"body": "Le quattro procedure di <strong>condivisione di rete LXC</strong> sopra richiedono un container <strong>privilegiato</strong>. Gli script impongono questa modalità supportata prima di configurare servizi e strumenti di montaggio (<code>nfs-kernel-server</code>, <code>smbd</code>, <code>mount.nfs</code>, <code>mount.cifs</code>). Per condividere file tra l’host e un CT non privilegiato, usa <mountLink>LXC Mount Manager</mountLink>: esegue i bind mount e regola i permessi sull’host, consentendo al container di leggere e scrivere senza configurare tali servizi o strumenti al suo interno."
},
"unprivExplain": {
"title": "Come ProxMenux gestisce i permessi dei CT non privilegiati",
"body": "I container LXC non privilegiati spostano gli UID di <strong>+100000</strong> sull’host (UID 0 nel container = UID 100000 sull’host, UID 1000 nel container = UID 101000 sull’host, …). Un file creato da un utente del container appare quindi sull’host come <em>altri</em>, senza corrispondere a un normale utente o gruppo dell’host. LXC Mount Manager adotta una soluzione pratica: invece di allineare UID/GID fra host e CT, propone <code>chmod o+rwx</code> e le ACL corrispondenti sulla directory dell’host, così ogni UID mappato può leggere e scrivere. Per CIFS rimonta con <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>; per NFS imposta una directory scrivibile da tutti con sticky bit e, se il server applica root squash, indica la correzione da eseguire sul server."
},
"scripts": {
"heading": "Scripts coinvolti",
"intro": "Ogni singola pagina collega allo script che guida il suo flusso. Il file sottostante è un helper condiviso che non è documentato come propria pagina, ma viene utilizzato da diversi flussi di condivisione della rete LXC:",
"itemTail": "— validazione CT, selezione del punto di montaggio, controllo privilegiato e helper di configurazione del gruppo universale condivisi attraverso i flussi client / server LXC."
}
}
@@ -0,0 +1,174 @@
{
"meta": {
"title": "Punti di montaggio LXC (host ↔ container) | Documentazione ProxMenux",
"description": "LXC Mount Manager rende accessibile una directory dell’host in uno o più container LXC tramite bind mount con pct set -mpN. Gestisce le particolarità dei permessi nei container non privilegiati, corregge i montaggi CIFS e NFS sul lato host e non modifica nulla all’interno del container.",
"ogTitle": "Punti di montaggio LXC (host ↔ container) | Documentazione ProxMenux",
"ogDescription": "Monta directory dell’host nei container LXC tramite bind mount. Gestisce la mappatura UID non privilegiata in modo pratico e corregge l’accesso CIFS / NFS sull’host."
},
"header": {
"title": "LXC Punti di montaggio (Host ↔ Contenitore)",
"description": "Lo strumento principale per condividere cartelle fra l’host Proxmox e i container LXC. Rende accessibile una directory dell’host in uno o più container tramite bind mount con la sintassi nativa pct set -mpN. Gestisce i permessi dei container non privilegiati sul lato host, senza modificare nulla all’interno del container.",
"section": "Archiviazione e condivisione · LXC"
},
"intro": {
"title": "Cosa succede?",
"body": "Prendere una directory che vive sull'host Proxmox (una cartella locale, una condivisione NAS montata, un deposito gestito da Proxmox...) e farlo apparire all'interno di un contenitore LXC in un percorso scelto, con autorizzazioni che funzionano anche per contenitori non privilegiati - senza toccare nulla all'interno del contenitore."
},
"bigPicture": {
"heading": "Come funziona (il quadro grande)",
"intro": "Con un bind mount, Proxmox chiede al kernel di rendere la directory <code>X</code> dell’host accessibile anche nel percorso <code>Y</code> del container. Non ci sono copie, sincronizzazioni o trasferimenti di rete: entrambi vedono contemporaneamente gli <em>stessi file</em>.",
"sourceLabel": "Host Proxmox",
"sourceDetail": "/mnt/data\n(la tua cartella)",
"targetLabel": "Contenitore LXC",
"targetDetail": "/mnt/data\n(vedi qui)",
"arrowLabel": "bind mount",
"outro": "Il percorso host sulla sinistra e il percorso contenitore sulla destra possono essere diversi — ad esempio, <code>/mnt/nas-films</code> sull'host può diventare <code>/media/films</code> all'interno del contenitore. Lo script aggiunge l'ingresso al contenitore config (<code>/etc/pve/lxc/&lt;ctid&gt;.conf</code>) utilizzando il prossimo indice <code>mpN</code> libero, con due impostazioni di sicurezza integrate:",
"items": [
"<code>shared=1</code> — indica a Proxmox che i dati sono condivisi e non vanno migrati con il CT. Il flag non replica i dati: lo stesso percorso e gli stessi dati devono essere già disponibili sul nodo di destinazione.",
"<code>backup=0</code> — il bind mount resta escluso dai backup <code>vzdump</code>. I dati risiedono sull’host e vanno salvati separatamente."
]
},
"perms": {
"heading": "Gestione delle autorizzazioni — la parte smart",
"intro": "Il principio dei bind mount è semplice; la parte delicata sono i permessi. Un container LXC <strong>non privilegiato</strong> applica uno spostamento di <strong>+100000</strong> agli UID. Un file creato dall’utente 1000 nel container appare quindi sull’host con UID 101000, che non appartiene a nessun utente dell’host. Per evitare di dover allineare gli UID, ProxMenux adatta i permessi sul lato <em>host</em> in base al tipo di directory scelto:",
"headerType": "Tipo di directory host",
"headerAction": "Cosa offre lo script da fare",
"localType": "Cartella locale",
"localTypeSub": "ad esempio. /mnt/data",
"localActionRich": "<code>chmod o+rwx</code> + <code>setfacl o::rwx</code> nella directory host. Solo se il CT non è privilegiato e le autorizzazioni attuali sono insufficienti.",
"cifsType": "montato CIFS / SMB",
"cifsTypeSub": "ad esempio. /mnt/pve/cifs-…",
"cifsActionRich": "Rimontare con <code>uid=0, gid=0, file_mode=0777, dir_mode=0777</code> in modo che il CT (qualsiasi UID) possa leggere e scrivere la condivisione. <code>/etc/fstab</code> è aggiornato.",
"nfsType": "NFS montato",
"nfsTypeSub": "ad esempio. /mnt/pve/nfs-…",
"nfsActionRich": "<code>chmod 1777</code> e <code>setfacl o::rwx</code> sul montaggio NFS. Non possono aggirare lo squashing applicato dal server: se nemmeno root sull’host riesce a scrivere, la procedura ti invita a correggere l’esportazione sul server NFS.",
"privTitle": "I container privilegiati non richiedono questi adattamenti",
"privBody": "Per contenitori privilegiati, UID 0 nel CT è UID 0 sull'host — root all'interno del CT può leggere e scrivere la directory host direttamente senza alcun trucco di autorizzazione. Lo script rileva e salta completamente il passo \"aprire le autorizzazioni\".",
"noCtTitle": "Lo script non modifica mai nulla all'interno del contenitore",
"noCtBody": "Tutte le modifiche di autorizzazione avvengono sul filesystem <strong>host</strong>. Nessun chowns <code>pct exec</code>, nessun gruppo creato nel CT, nessun fstab all'interno del contenitore. Se riutilizzate la directory in un altro CT in seguito, le stesse autorizzazioni si applicano automaticamente, nessuna configurazione per-container."
},
"writes": {
"heading": "Che cosa scrive ProxMenux — e che cosa non fa",
"intro": "Un equivoco comune sui bind mount nei CT non privilegiati è pensare che ProxMenux debba aggiungere voci <code>lxc.idmap</code> in <code>/etc/pve/lxc/&lt;CTID&gt;.conf</code>. <strong>Non lo fa.</strong> A quel file viene aggiunta una sola riga, quella del bind mount:",
"outro": "La linea di uscita che vedi alla fine della corsa, <em>\"Container non privilegiato — UID offset: 100000\"</em>, è puramente informativo — ti dice solo che il CT sta usando la mappatura non privilegiata predefinita di Proxmox (root in CT = UID 100000 sull'host). Lo script non configura nulla intorno a esso.",
"twoWaysHeading": "I due modi per far funzionare le autorizzazioni — e perché ProxMenux sceglie uno",
"headerApproach": "Approccio",
"headerChanges": "Cosa cambia",
"headerWhen": "Quando si adatta",
"hostType": "Permessi sull’host",
"hostTypeSub": "(che cosa fa questo script)",
"hostChangesRich": "<code>chmod o+rwx</code> + <code>setfacl o::rwx</code> nella directory host. Gli UID mappati di CT (100000+) cadono nel secchio \"altri\", quindi l'apertura di <em>altri</em> è sufficiente.",
"hostWhen": "Accesso generico a cartella condivisa da qualsiasi CT. Multiple CTs che condividono la stessa directory host. Semplice e riutilizzabile.",
"idmapTypeRich": "<code>lxc.idmap</code>",
"idmapTypeSub": "(non usato da questo script)",
"idmapChangesRich": "Mapping UID/GID personalizzato in <code>/etc/pve/lxc/&lt;CTID&gt;.conf</code> più abbinato <code>/etc/subuid</code> + <code>/etc/subgid</code> voci sull'host. CT deve essere riavviata su ogni cambiamento.",
"idmapWhenRich": "Hai bisogno di un UID <em>specifico</em> all'interno del CT per mappare un UID <em>specifico</em> sull'host (ad es. <code>media:1000</code> nel CT deve possedere i file come <code>media:1000</code> sull'host in modo che NFS non squash). Una configurazione più rigida, normalmente ne vale solo la pena per quello scenario esatto.",
"idmapTipTitle": "Quando hai veramente bisogno lxc.idmap",
"idmapTipBody": "Usa la mappatura manuale quando i file scritti nel CT devono avere uno specifico UID/GID numerico sull’host, ad esempio per condividere il proprietario con un utente host. Non aggira <code>all_squash</code> di NFS: il server decide comunque identità anonima e permessi. Aggiungi manualmente voci <code>lxc.idmap</code> se necessario. La riga del bind mount è indipendente da queste voci."
},
"opening": {
"heading": "Apertura dello strumento",
"body": "Dal menu principale di ProxMenux, aprire <strong>Storage &amp; Share Manager → Configurare LXC Mount Points (Host ↔ Container)</strong>. Vedrete questo sub-menu con tre opzioni:",
"imageAlt": "LXC Mount Manager menu — Aggiungi / Vedi / Rimuovi"
},
"addFlow": {
"heading": "Aggiungere un montaggio — procedura completa",
"intro": "La vista tecnica, per quando si desidera sapere esattamente ciò che ogni dialogo fa:"
},
"sources": {
"heading": "Cosa puoi scegliere come directory host",
"intro": "Il raccoglitore host-directory è il più accurato nella sezione Storage &amp; Share. Scansiona quattro fonti e presenta una lista deduplicata:",
"headerSource": "Fonte",
"headerWhere": "Da dove viene",
"headerLabel": "Etichetta nel menu",
"rows": [
{
"source": "Montaggi di rete attivi",
"whereRich": "Condivisioni CIFS / NFS attualmente montate, lette da <code>/proc/mounts</code>.",
"labelRich": "<code>NFS [used/size]</code> o <code>CIFS/SMB [used/size]</code>"
},
{
"source": "Montaggi fstab inattivi",
"whereRich": "Definito in <code>/etc/fstab</code> ma non attualmente montato.",
"labelRich": "<code>fstab(off)-NFS</code> / <code>fstab(off)-CIFS/SMB</code>"
},
{
"source": "Directory locali",
"whereRich": "Sottodirectory di <code>/mnt</code> che non corrispondono a montaggi di rete.",
"labelRich": "<code>Local [size]</code>"
},
{
"source": "Stoccaggio Proxmox",
"whereRich": "Percorsi di stoccaggio sotto <code>/mnt/pve/*</code> (NFS / CIFS registrati tramite <code>pvesm</code>).",
"labelRich": "<code>PVE-NFS</code> / <code>PVE-CIFS/SMB</code> / <code>Proxmox-Storage</code>"
},
{
"source": "Entrata manuale",
"where": "Qualsiasi altra cosa — digitare il percorso assoluto da soli.",
"labelRich": "<em>Inserisci percorso manualmente</em>"
}
],
"tipTitle": "I percorsi Proxmox interni sono filtrati",
"tipBody": "Il raccoglitore salta esplicitamente i percorsi interni Proxmox (<code>/mnt/pve/local</code>, <code>/mnt/pve/local-lvm</code>, <code>/mnt/pve/backup</code>, ...) — quelli sono riservati per gli interni Proxmox e non è necessario legare-montare. Vengono visualizzati solo gli storage aggiunti dall'utente."
},
"manual": {
"heading": "Equivalente manuale",
"privIntro": "Per un contenitore privilegiato — il caso più semplice, nessun trucco di autorizzazione:",
"unprivLocalIntro": "Per un contenitore non privilegiato con una directory host locale — aprire le autorizzazioni sull'host prima:",
"unprivCifsIntro": "Per un contenitore non privilegiato con una condivisione CIFS già montata sull'host:"
},
"view": {
"heading": "Visualizza i punti di montaggio",
"body": "Elenca ogni ingresso <code>mpN</code> su ogni contenitore su questo host Proxmox, raggruppato da CT id e che mostra il percorso host → percorso container più eventuali opzioni extra. sola lettura — utile come controllo di sanità prima di aggiungere o rimuovere nulla."
},
"remove": {
"heading": "Rimuovi un punto di montaggio",
"body": "Scegli il contenitore, scegli la voce <code>mpN</code>, conferma. Lo script esegue <code>pct set --delete mpN</code> per rilasciare l'ingresso dalla configurazione CT e offre di riavviare il contenitore se è in esecuzione. La directory host e i suoi contenuti sono <strong>non toccati</strong> — è possibile ri-add il montaggio in seguito (o collegare la stessa directory a un diverso CT).",
"warnTitle": "I container in esecuzione richiedono un riavvio per applicare le modifiche",
"warnBody": "Sia l'aggiunta che la rimozione dei punti di montaggio diventano visibili solo all'interno del contenitore dopo un riavvio. Lo script offre un <code>pct reboot</code> con un solo clic alla fine di ogni operazione; è possibile declinare e riavviare manualmente in seguito."
},
"troubleshoot": {
"heading": "Risoluzione dei problemi",
"noMountTitle": "Il montaggio appare in pct config ma non all'interno del contenitore",
"noMountBody": "I bind mount vengono collegati all’avvio del container. Se hai aggiunto il montaggio mentre il CT era in esecuzione, riavvialo con <code>pct reboot &lt;ctid&gt;</code>. Se manca anche dopo il riavvio, controlla con <code>pct config &lt;ctid&gt;</code> che la voce esista e che il percorso sull’host contenga effettivamente una directory.",
"noWriteTitle": "Il contenitore può vedere la directory ma non può scrivere",
"noWriteBody": "Quasi sempre un problema di autorizzazioni. Per i contenitori non privilegiati, eseguire nuovamente la correzione del permesso dello script — gli ACL della directory host possono essere stati ripristinati da un altro strumento (rsync, ripristino da backup, manuale <code>chmod</code>). Per CIFS, controllare le opzioni di montaggio sull'host: <code>findmnt /mnt/pve/cifs-…</code>, cercare i valori <code>uid=</code> / <code>gid=</code> / <code>file_mode=</code>.",
"alreadyTitle": "\"Questo percorso è già utilizzato come punto di montaggio in questo contenitore\"",
"alreadyBody": "Hai scelto lo stesso percorso contenitore che è già collegato a una directory host diversa. Scegliere un percorso contenitore diverso o rimuovere prima il punto di montaggio esistente.",
"nfsTitle": "L'accesso NFS bloccato anche dopo aver applicato la correzione dell'host",
"nfsIntro": "Il server NFS sta schiacciando root o tutte le connessioni. Lo script può rilevare questo (cerca di scrivere un file di prova dall'host) e mostra la guida lato server. Due correzioni lato server comuni per l'esportazione:",
"nfsItems": [
"<code>no_root_squash</code> — i CT privilegiati possono scrivere direttamente.",
"<code>all_squash,anonuid=65534,anongid=65534</code> — per CT non privilegiati."
],
"nfsOutro": "Queste modifiche avvengono sul server NFS (TrueNAS, Synology, la tua esportazione personalizzata, ...), non su Proxmox.",
"fstabOffTitle": "Il montaggio delle voci \"fstab(off)\" non fa nulla",
"fstabOffBody": "La selezione mostra voci <code>fstab(off)-</code> quando un montaggio di rete è definito in fstab ma non è attivo. Lo script consente di collegare il percorso tramite bind mount, ma la directory resterà vuota finché non monterai la condivisione sull’host con <code>mount &lt;path&gt;</code>. Montala prima e poi collegala al CT."
},
"related": {
"heading": "Correlati",
"items": [
{
"href": "/docs/storage-share/host-local-shared",
"label": "Aggiungi Directory condivisa su host",
"tailRich": "— primo passo tipico: preparare un <code>/mnt/shared</code> sull'host prima di legarlo in una o più CT qui."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "Aggiungi condivisione NFS come storage Proxmox",
"extraHref": "/docs/storage-share/host-samba",
"extraLabel": "Aggiungi condivisione Samba come storage Proxmox",
"joiner": " / ",
"tailRich": "— registrare una condivisione esterna in Proxmox prima, quindi legare-montare il suo percorso <code>/mnt/pve/&lt;id&gt;</code> nel CT qui."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "client NFS in LXC",
"extraHref": "/docs/storage-share/lxc-samba-client",
"extraLabel": "client Samba in LXC",
"joiner": " / ",
"tail": "— l'alternativa quando si desidera che il CT stesso monti la condivisione (richiede un contenitore privilegiato)."
}
]
}
}
@@ -0,0 +1,128 @@
{
"meta": {
"title": "client NFS in LXC | Documentazione ProxMenux",
"description": "Monta condivisioni NFS direttamente in un container LXC Proxmox con ProxMenux. Installa automaticamente nfs-common, rileva i server nella LAN, supporta montaggi persistenti via /etc/fstab e impostazioni di avvio sicure. Richiede un container privilegiato.",
"ogTitle": "client NFS in LXC | Documentazione ProxMenux",
"ogDescription": "Monta condivisioni NFS in un container LXC privilegiato. Rilevamento automatico, persistenza in /etc/fstab e impostazioni di avvio sicure."
},
"header": {
"title": "client NFS in LXC",
"description": "Monta condivisioni NFS direttamente in un container LXC Proxmox. Il container diventa un vero client NFS: comunica con il server in rete, esegue mount.nfs e scrive in /etc/fstab. ProxMenux installa nfs-common, aiuta a trovare server ed esportazioni e applica impostazioni di avvio sicure.",
"section": "Archiviazione e condivisione · LXC"
},
"privReq": {
"title": "Contenitore privilegiato richiesto",
"body": "Il client NFS che usa <code>mount.nfs</code> richiede capacità (almeno <code>SYS_ADMIN</code>) non disponibili nei container LXC non privilegiati. Lo script chiede di scegliere un CT e <strong>si interrompe se non è privilegiato</strong>. Per usare la condivisione in un CT non privilegiato, montala prima sull’host Proxmox con <hostNfsLink>Condivisione NFS come storage Proxmox</hostNfsLink> e rendila accessibile al CT tramite bind mount con <mountLink>LXC Mount Manager</mountLink>."
},
"what": {
"heading": "Cosa succede?",
"body": "A differenza di LXC Mount Manager — che permette al CT di vedere una risorsa <em>tramite</em> l'host Proxmox — questo script dà al contenitore il suo <strong>proprio client NFS</strong>: parla NFS sulla rete, monta condivisioni direttamente dal server NFS, e memorizza il montaggio nel contenitore <code>/etc/fstab</code>. L'host Proxmox non è nel percorso dati.",
"diagramServerLabel": "Server NFS",
"diagramServerDetail": "/export/data",
"diagramHostLabel": "Host Proxmox",
"diagramHostDetail": "(solo un\nponte di rete)",
"diagramCtLabel": "LXC (privilegiato)",
"diagramCtDetail": "/mnt/data\nmount.nfs nel CT",
"diagramArrow": "NFS",
"twoWaysTitle": "Due modi per dare un accesso CT NFS — scegliere uno",
"twoWaysBind": "<strong>Bind mount tramite host</strong> (<mountLink>LXC Mount Manager</mountLink>): l’host monta NFS una volta e ogni CT riceve lo stesso percorso tramite bind mount. Funziona con CT non privilegiati. Consigliato quando più CT usano la stessa condivisione.",
"twoWaysDirect": "<strong>Montaggio NFS diretto nel CT</strong> (questa pagina): il CT monta NFS da sé. Richiede un CT privilegiato. Utile se il CT deve gestire la propria connessione e le credenziali o se ciascun CT usa un server diverso."
},
"opening": {
"heading": "Apertura dello strumento",
"body": "Dal menu principale apri <strong>Storage &amp; Share Manager → Configura client NFS in LXC (solo privilegiato)</strong>. ProxMenux chiede di <strong>scegliere il CT di destinazione</strong>, lo avvia se è fermo e si interrompe se non è privilegiato. Dopo la selezione compare questo sottomenu:",
"imageAlt": "Menu client NFS — Monta / Visualizza / Smonta / Verifica connettività"
},
"howRuns": {
"heading": "Come viene eseguito lo script (Mount flow)"
},
"fstabFlags": {
"heading": "Perché quelle bandiere di fstab",
"intro": "Per montare permanente lo script aggiunge tre bandiere oltre le opzioni standard NFS: <code>_netdev,x-systemd.automount,noauto</code>. Ognuno risolve un problema di boot-time reale:",
"headerFlag": "Bandiera",
"headerEffect": "Che cosa fa",
"rows": [
{
"flag": "_netdev",
"effect": "Segnala al sistema di inizializzazione che questo montaggio richiede la rete. L’avvio non resta bloccato in attesa del montaggio prima che la rete sia disponibile."
},
{
"flag": "x-systemd.automount",
"effectRich": "Crea un'unità auto-montaggio systemd: il montaggio avviene solo la prima volta che qualcosa accede a <code>/mnt/&lt;path&gt;</code>. Il server NFS non raggiungibile all'avvio non blocca il CT."
},
{
"flag": "noauto",
"effect": "Evita il montaggio immediato all’avvio. In combinazione con l’unità automount descritta sopra, il filesystem viene montato solo al primo accesso."
}
],
"netEffectTitle": "Effetto netto",
"netEffectBody": "Il filesystem NFS viene montato al <em>primo accesso</em> anziché subito durante l’avvio. Se il server è offline, l’accesso può attendere o fallire e influire sui servizi che dipendono dal percorso. Automount riduce la dipendenza all’avvio, ma non garantisce che tutti i servizi del CT restino indipendenti da un guasto NFS."
},
"manual": {
"heading": "Equivalente manuale",
"body": "Replica l'intero flusso a mano — ogni comando viene eseguito <strong>dentro il CT</strong> tramite <code>pct exec &lt;ctid&gt; --</code> o direttamente tramite <code>pct enter &lt;ctid&gt;</code>:"
},
"view": {
"heading": "Visualizzare i montaggi correnti",
"body": "Elenca i punti di montaggio NFS attivi nel CT tramite <code>mount | grep nfs</code> e tutte le righe NFS del suo <code>/etc/fstab</code>. Per ciascuna voce di fstab mostra se il montaggio è attualmente attivo, così puoi individuare quelli permanenti che non sono stati ripristinati all’avvio."
},
"unmount": {
"heading": "Smonta la condivisione NFS",
"body": "Combina i montaggi live e le voci fstab in un unico elenco, ti consente di sceglierne uno e <strong>rimuove la riga corrispondente da <code>/etc/fstab</code></strong>. Lo script <em>non</em> esegue <code>umount</code> sul montaggio live, invece ti dice che è necessario un riavvio CT affinché lo smontaggio abbia effetto.",
"warnTitle": "Lo script rimuove le voci da fstab, senza smontare i filesystem attivi",
"warnBody": "È una scelta voluta: <code>umount</code> fallisce con “device busy” se un processo nel CT usa ancora il montaggio. Rimuovere la voce da fstab impedisce che venga ripristinato al prossimo avvio del CT. Se vuoi smontarlo <em>subito</em> e sei certo che non sia in uso, esegui manualmente <code>pct exec &lt;ctid&gt; -- umount /mnt/&lt;path&gt;</code> dopo la fine dello script."
},
"test": {
"heading": "Test di connettività NFS",
"body": "La diagnostica nel CT verifica che <code>nfs-common</code> sia installato e che <code>rpcbind</code> sia in esecuzione, poi elenca i montaggi NFS attivi. Per ogni server NFS indicato in fstab controlla ping, porta 2049 e <code>showmount -e</code>. È un buon primo passo se un montaggio permanente non si attiva."
},
"troubleshoot": {
"heading": "Risoluzione dei problemi",
"privTitle": "Container privilegiato richiesto (lo script si interrompe)",
"privBody": "Il CT selezionato non è privilegiato. Il client NFS del kernel richiede la capacità <code>SYS_ADMIN</code>, non esposta dai CT non privilegiati. Converti il CT in privilegiato (la conversione con Disk Manager &amp; è descritta in <importLink>Importa disco in LXC</importLink>) oppure usa l’alternativa indicata nell’avviso all’inizio di questa pagina.",
"aptTitle": "apt-get install nfs-common fails",
"aptIntro": "Lo script assume una famiglia Debian CT (<code>apt-get</code>). Se il CT funziona Alpine / Arch / Rocky / Alma, la fase di installazione non riesce silenziosamente. Installare il client NFS a mano per quella distro:",
"aptItems": [
"Alpine: <code>apk add nfs-utils</code>",
"Arch: <code>pacman -S nfs-utils</code>",
"Rocky / Alma: <code>dnf install nfs-utils</code>"
],
"aptOutro": "Quindi eseguire nuovamente lo script ProxMenux — il passaggio di installazione salta quando gli strumenti sono già presenti.",
"portTitle": "\"NFS port (2049) is not accessible\"",
"portBody": "Ping è riuscito ma <code>nc -z &lt;server&gt; 2049</code> non è riuscito da dentro il CT. Controllare che il servizio NFS sia in esecuzione sul server, che il firewall consenta a 2049 dalla rete CT e che il CT abbia effettivamente un percorso di rete valido (prova <code>pct exec &lt;ctid&gt; -- ip route</code>).",
"bootTitle": "Il montaggio permanente riesce, ma non viene ripristinato all’avvio",
"bootBody": "Quasi sempre uno di: la rete non è pronta quando CT monta (lo script <code>_netdev,x-systemd.automount,noauto</code> le opzioni risolvono il problema — aggiungi di nuovo il montaggio tramite lo script se hai scritto la linea fstab a mano senza quelle), il server è irraggiungibile all'avvio (auto-mount aspetta per il primo accesso — che è normale), o DNS è irrisolto all'avvio (utilizzare l'IP del server, non il suo nome host).",
"squashTitle": "Server squash root, nessun accesso di scrittura dall'interno CT",
"squashIntro": "L'esportazione NFS utilizza <code>root_squash</code> (il default) e il CT scrive come root. Due opzioni:",
"squashItems": [
"lato server: cambiare l'esportazione in <code>no_root_squash</code> (solo se ti fidi della CT).",
"CT-side: scrivere come utente non-root che il server accetta, o chown la parte in modo appropriato."
],
"squashOutro": "ProxMenux non può risolvere questo problema — è la politica del server."
},
"related": {
"heading": "Correlati",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "LXC Punti di montaggio (Host ↔ Contenitore)",
"tail": " — l'alternativa per le TC non private: montare su host, legare in CT."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "client Samba in LXC",
"tail": " — pagina correlata con lo stesso schema per le condivisioni SMB / CIFS."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"label": "Server NFS in LXC",
"tailRich": " — l’inverso: esporre cartelle <em>da</em> un CT tramite NFS."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "Condivisione NFS come storage Proxmox",
"tail": " — registrare la condivisione in Proxmox anziché in un singolo CT."
}
]
}
}
@@ -0,0 +1,159 @@
{
"meta": {
"title": "Server NFS in LXC | Documentazione ProxMenux",
"description": "Condividi cartelle via NFS da un container LXC Proxmox con ProxMenux. Installa automaticamente nfs-kernel-server e configura il gruppo comune sharedfiles, /etc/exports, ACL di rete e disinstallazione completa. Richiede un container privilegiato.",
"ogTitle": "Server NFS in LXC | Documentazione ProxMenux",
"ogDescription": "Esegui un server NFS in un LXC privilegiato con il gruppo comune sharedfiles, ACL di rete e disinstallazione completa."
},
"header": {
"title": "Server NFS in LXC",
"description": "Esegui un server NFS del kernel in un container LXC Proxmox ed esponi cartelle ad altre macchine della rete. ProxMenux installa nfs-kernel-server, configura il gruppo comune sharedfiles per condividere correttamente i file fra più CT privilegiati, gestisce /etc/exports e offre la disinstallazione completa.",
"section": "Archiviazione e condivisione · LXC"
},
"privReq": {
"title": "Contenitore privilegiato richiesto",
"body": "<code>nfs-kernel-server</code> deve montare il file system del kernel <code>nfsd</code> in <code>/proc/fs/nfsd</code>. Serve <code>CAP_SYS_ADMIN</code> nello spazio dei nomi del kernel host, non soltanto in quello utente del container. I LXC non privilegiati non hanno questa capacità: <code>rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory)</code>; systemd segnala un errore di dipendenza per <code>nfs-server.service</code>. Lo script richiede quindi un CT privilegiato e <strong>si interrompe se il CT non è privilegiato</strong>. In alternativa, esegui il server NFS in una VM."
},
"what": {
"heading": "Cosa succede?",
"body": "È il caso inverso rispetto alla pagina <em>client NFS</em>: il CT diventa un <strong>server NFS</strong> e condivide una propria cartella con altri CT, l’host Proxmox, VM o macchine fisiche.",
"diagramServerLabel": "LXC (privilegiato) — server NFS",
"diagramServerDetail": "/mnt/data\n(cartella condivisa)\n\nchown root:sharedfiles\nchmod 2775 (SGID)\n\nnfs-kernel-server\n+ rpcbind in esecuzione",
"diagramClientLabel": "Qualsiasi client sulla rete",
"diagramClientDetail": "un altro CT, l'host,\nun VM, una macchina fisica...",
"diagramArrow": "Esportazione NFS"
},
"shared": {
"heading": "La convenzione di gruppo \"sharedfiles\"",
"body": "Prima di esportare la cartella, ProxMenux crea un gruppo chiamato <code>sharedfiles</code> con <strong>GID 101000</strong> all'interno del contenitore, aggiunge ogni utente regolare ad esso, quindi imposta la directory di esportazione a <code>root:sharedfiles</code> con modalità <code>2775</code>. Il <code>2</code> sul davanti è il bit SGID — ogni file o cartella creata all'interno eredita automaticamente il gruppo <code>sharedfiles</code>.",
"gidTitle": "Perché GID 101000 specificamente",
"gidBody": "Con la mappatura ID predefinita di LXC (+100000), il GID 101000 dell’host appare come GID <strong>1000</strong> in un CT non privilegiato. Questo flusso server usa un CT <strong>privilegiato</strong>, senza spostamento. Due CT privilegiati con <code>sharedfiles</code> al GID 101000 condividono quindi lo stesso ID numerico di gruppo.",
"remapTitle": "La creazione dei vecchi utenti «remap_*» viene saltata nei CT privilegiati",
"remapBody": "Il vecchio ramo per CT non privilegiati creerebbe utenti <code>remap_&lt;uid&gt;</code> con UID <code>&lt;uid&gt; + 100000</code>, tutti in <code>sharedfiles</code>, per utenti normali e UID comuni (33, 1000, 1001, 1002). Questo spostamento <code>+100000</code> non si applica ai CT <strong>privilegiati</strong> richiesti qui, quindi lo script salta il ramo. L’assenza di account <code>remap_*</code> in <code>getent passwd</code> è prevista e non indica un errore."
},
"defaults": {
"heading": "Opzioni di esportazione predefinite — leggere questo primo",
"warnTitle": "Opzioni di default includono no_root_squash",
"warnBody": "ProxMenux usa per impostazione predefinita <code>rw,sync,no_subtree_check,'<'strong'>'no_root_squash'<'/strong'>'</code>. <strong>Qualsiasi utente root di un client può scrivere come root sull’esportazione.</strong> Usalo solo in una LAN domestica affidabile. Se il CT è raggiungibile da reti non fidate (VPS o VLAN non fidata), <strong>cambia l’opzione in <code>root_squash</code></strong> nel dialogo delle opzioni personalizzate."
},
"opening": {
"heading": "Apertura dello strumento",
"body": "Dal menu principale, apri <strong>Storage & Share Manager → Configure NFS Server in LXC</strong>. Sono elencati solo i CT privilegiati. Scegli il CT di destinazione; lo script lo avvia se è fermo e rifiuta i CT non privilegiati. Il menu presenta cinque opzioni.",
"imageAlt": "NFS Server Manager menu — Crea / Visualizza / Elimina / Stato / disinstallare"
},
"howRuns": {
"heading": "Come funziona lo script (Crea flusso)"
},
"network": {
"heading": "Rete ACL — che può montare la quota",
"intro": "<code>/etc/exports</code> filtra i client autorizzati a montare l’esportazione. Il dialogo offre tre modalità:",
"headerMode": "Modalità",
"headerValue": "Valore scritto a /etc/exports",
"headerWhen": "Quando scegliere",
"rows": [
{
"mode": "Rete locale",
"value": "192.168.0.0/16",
"whenRich": "Per reti domestiche o SOHO standard. Include tutti gli indirizzi <code>192.168.*.*</code>."
},
{
"mode": "Sottorete personalizzata",
"value": "il tuo CIDR (ad es. 10.0.0.0/24)",
"when": "Quando la tua LAN non è in 192.168.x.x o vuoi una portata più stretta."
},
{
"mode": "Singolo host",
"value": "il tuo IP (ad es. 10.0.0.42)",
"when": "Solo una macchina specifica dovrebbe montare. Molto restrittiva."
}
]
},
"options": {
"heading": "Opzioni di esportazione spiegate",
"headerOption": "Opzione",
"headerEffect": "Che cosa fa",
"rows": [
{
"option": "rw / ro",
"effect": "Consente l’accesso in lettura e scrittura o in sola lettura ai client che si connettono."
},
{
"option": "sync",
"effectRich": "Risponde alle richieste di scrittura solo dopo che i dati sono sul disco. Più sicuro di <code>async</code>, a scapito delle prestazioni."
},
{
"option": "no_subtree_check",
"effect": "Salta il controllo, a ogni richiesta, che il file sia ancora nel sottoalbero esportato. È più veloce ed evita problemi se i file vengono rinominati durante l’operazione."
},
{
"option": "no_root_squash",
"effectRich": "<strong>Considera attendibile root sul client.</strong> Un client che monta come root scrive come root sul server. Utile nelle LAN fidate, ad esempio per conservare i proprietari durante i backup. Sostituisci con <code>root_squash</code> se non ti fidi pienamente di ogni macchina ammessa dall’ACL di rete."
}
]
},
"manual": {
"heading": "Equivalente manuale",
"body": "Riproduci manualmente l’intera procedura. Ogni comando viene eseguito <strong>nel CT</strong> tramite <code>pct exec &lt;ctid&gt; --</code> o <code>pct enter &lt;ctid&gt;</code>:"
},
"view": {
"heading": "Visualizza le esportazioni correnti",
"body": "Mostra <code>/etc/exports</code> dal CT saltando commenti e righe vuote, quindi elenca ogni esportazione con ACL di rete e opzioni. Utile per verificare le cartelle esposte prima di comunicare l’IP del CT."
},
"delete": {
"heading": "Eliminare un'esportazione",
"body": "Elenca ogni linea in <code>/etc/exports</code> per la selezione, rimuove quella scelta (<code>sed -i</code>), esegue <code>exportfs -ra</code> e riavvia <code>nfs-kernel-server</code>. La cartella stessa e il suo contenuto sono lasciati intatti."
},
"status": {
"heading": "Controlla lo stato NFS",
"body": "Passo diagnostico: conferma <code>nfs-kernel-server</code> e <code>rpcbind</code> sono installati e attivi, stampa l'uscita <code>exportfs -v</code>, elenca le sessioni NFS attive (<code>showmount -a</code>) e le connessioni client attuali."
},
"uninstall": {
"heading": "Disinstallare il server NFS",
"body": "Pulizia completa dopo conferma: arresta e disabilita <code>nfs-kernel-server</code> e <code>rpcbind</code>, svuota <code>/etc/exports</code>, rimuove i pacchetti NFS con <code>apt-get purge</code>, elimina il gruppo <code>sharedfiles</code> e gli utenti <code>remap_*</code> e termina i processi residui. Le <strong>cartelle esportate non vengono eliminate</strong>; vengono rimossi soltanto configurazione e pacchetti NFS.",
"warnTitle": "Lo script si ferma alla linea di esportazione, non ai dati",
"warnBody": "<em>Elimina esportazione</em> e <em>Disinstalla server NFS</em> rimuovono la configurazione. I dati della cartella esportata vengono conservati. Per eliminarli, usa esplicitamente <code>rm -rf</code> dopo la fine dello script e prima esegui un backup se potrebbero ancora servire."
},
"troubleshoot": {
"heading": "Risoluzione dei problemi",
"privTitle": "Richiesto un container privilegiato (lo script si interrompe)",
"privBody": "Il CT selezionato non è privilegiato. <code>nfs-kernel-server</code> non può cominciare perché il montaggio di <code>/proc/fs/nfsd</code> ha bisogno di <code>CAP_SYS_ADMIN</code> nello spazio dei nomi del kernel host, e il modulo <code>nfsd</code> non è esposto allo spazio dei nomi del contenitore (<code>modprobe nfsd</code> dall’interno restituisce <code>FATAL: Module nfsd not found</code>). Se si bypassa il controllo, si vedrà <code>rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory)</code> nel journal e nessuna porta NFS verrà aperta. Le uniche opzioni praticabili sono: convertire il CT in privilegiato, o spostare il server NFS in una VM.",
"aptTitle": "apt-get install non riesce",
"aptIntro": "Lo script assume una famiglia Debian CT. Su Alpine / Arch / Rocky / Alma, installare i pacchetti server NFS a mano:",
"aptItems": [
"Alpine: <code>apk add nfs-utils</code>",
"Arch: <code>pacman -S nfs-utils</code>",
"Rocky / Alma: <code>dnf install nfs-utils</code>"
],
"aptOutro": "Esegui di nuovo lo script ProxMenux; l’installazione viene saltata se gli strumenti sono già presenti.",
"aclTitle": "Il client non può montare: 'accesso negato dal server'",
"aclBody": "L’IP del client è fuori dall’ACL di rete configurata. Ricrea l’esportazione con una sottorete più ampia o aggiungi l’IP esatto del client. Attenzione: attraverso un router NAT il client può apparire con l’IP WAN del router anziché il proprio IP LAN. Verifica sul server con <code>tcpdump -n port 2049</code>.",
"ownTitle": "I file scritti dal client appaiono con strana proprietà sul server",
"ownIntro": "Due possibilità:",
"ownItems": [
"Con <code>no_root_squash</code> (default), root client scrive come root sul server. I file sono di proprietà di <code>root:sharedfiles</code> grazie al SGID nella cartella.",
"Gli utenti client non-root scrivono come propri UID/GID. Se il loro UID non esiste sul server, i file appaiono con numeri grezzi (ad es. <code>1234:1234</code>). Utilizzare anche il gruppo <code>sharedfiles</code> sul client o allineare gli UID attraverso i sistemi che condividono i file."
],
"noShowTitle": "Server raggiungibile ma showmount non restituisce nulla",
"noShowBody": "Dopo aver modificato <code>/etc/exports</code>, è necessario ricaricare la tabella di esportazione con <code>exportfs -ra</code> e riavviare <code>nfs-kernel-server</code> — lo script fa entrambi, ma se hai modificato il file a mano, fai da te. Confermare anche il firewall sul CT (e sull'host Proxmox) consente a TCP/UDP 2049 e alla porta rpcbind (111)."
},
"related": {
"heading": "Correlati",
"items": [
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "client NFS in LXC",
"tail": " — il caso inverso: montare condivisioni NFS esterne nel CT."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"label": "Server Samba in LXC",
"tail": " — pagina correlata, stesso schema con SMB / CIFS al posto di NFS."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "Condivisione NFS come storage Proxmox",
"tailRich": " — quando il CT espone l’esportazione, registra la condivisione NFS in Proxmox per visualizzarla in <em>Datacenter → Storage</em>."
}
]
}
}
@@ -0,0 +1,155 @@
{
"meta": {
"title": "client Samba in LXC | Documentazione ProxMenux",
"description": "Monta le condivisioni Samba o CIFS direttamente da un container Proxmox LXC con ProxMenux. Lo script installa cifs-utils e smbclient, rileva automaticamente i server, protegge le credenziali e configura montaggi permanenti tramite /etc/fstab. Richiede un container privilegiato.",
"ogTitle": "client Samba in LXC | Documentazione ProxMenux",
"ogDescription": "Monta condivisioni Samba / CIFS in un container LXC privilegiato. Rilevamento automatico, file delle credenziali protetto e persistenza in /etc/fstab."
},
"header": {
"title": "client Samba in LXC",
"description": "Monta condivisioni Samba (SMB / CIFS) direttamente in un container Proxmox LXC. Il contenitore diventa un vero client CIFS — parla al server Samba sulla rete, esegue mount.cifs, memorizza le credenziali in modo sicuro, e scrive a /etc/fstab. ProxMenux installa cifs-utils + smbclient per voi e valida le credenziali contro il server prima del montaggio.",
"section": "Archiviazione e condivisione · LXC"
},
"privReq": {
"title": "Contenitore privilegiato richiesto",
"body": "Il client Samba / CIFS che usa <code>mount.cifs</code> richiede capacità (almeno <code>SYS_ADMIN</code>) non disponibili nei container LXC non privilegiati. Lo script chiede di scegliere un CT e <strong>si interrompe se non è privilegiato</strong>. Per usare la condivisione in un CT non privilegiato, montala prima sull’host Proxmox con <hostSambaLink>Condivisione Samba / CIFS come storage Proxmox</hostSambaLink> e rendila accessibile al CT tramite bind mount con <mountLink>LXC Mount Manager</mountLink>."
},
"what": {
"heading": "Cosa succede?",
"body": "Il contenitore parla CIFS sulla rete e monta la condivisione da solo. L'host Proxmox è solo il ponte di rete — non vede o gestisce il montaggio.",
"diagramServerLabel": "Server Samba",
"diagramServerDetail": "//srv/share",
"diagramHostLabel": "Host Proxmox",
"diagramHostDetail": "(solo un\nponte di rete)",
"diagramCtLabel": "LXC (privilegiato)",
"diagramCtDetail": "/mnt/share\nmount.cifs all'interno di CT",
"diagramArrow": "CIFS",
"twoWaysTitle": "Due modi per dare un CT una quota Samba — scegliere uno",
"twoWaysBind": "<strong>Bind mount tramite host</strong> (<mountLink>LXC Mount Manager</mountLink>): l’host monta CIFS una volta e ogni CT riceve lo stesso percorso tramite bind mount. Funziona con CT non privilegiati. Consigliato quando più CT usano la stessa condivisione.",
"twoWaysDirect": "<strong>Montaggio CIFS diretto nel CT</strong> (questa pagina): il CT monta CIFS da sé. Richiede un CT privilegiato. Utile quando il CT deve gestire le proprie credenziali o ogni CT usa un server diverso."
},
"opening": {
"heading": "Apertura dello strumento",
"body": "Dal menu principale apri <strong>Storage &amp; Share Manager → Configura client Samba in LXC (solo privilegiato)</strong>. ProxMenux chiede di <strong>scegliere il CT di destinazione</strong>, lo avvia se è fermo e si interrompe se non è privilegiato. Dopo la selezione compare questo sottomenu:",
"imageAlt": "Menu client Samba — Monta / Visualizza / Smonta / Verifica connettività"
},
"howRuns": {
"heading": "Come viene eseguito lo script (Mount flow)"
},
"creds": {
"heading": "Dove vive la password",
"body": "ProxMenux <strong>non inserisce la password nel comando di montaggio</strong> o in <code>/etc/fstab</code>. Crea invece un file di credenziali nel CT. Il file contiene credenziali in chiaro protette da permessi riservati a root; non è crittografato:",
"whyTitle": "Perché un file separato piuttosto che fstab",
"whyBody": "Il modulo CIFS accetta <code>username=</code> / <code>password=</code> opzioni in linea in fstab, ma chiunque può leggere <code>/etc/fstab</code> vede la password in chiaro. Mettere le credenziali in un file root-only e puntare fstab ad esso (<code>credentials=</code>) mantiene la password fuori dalla configurazione leggibile in tutto il mondo."
},
"options": {
"heading": "Opzioni di montaggio spiegato",
"headerOption": "Opzione",
"headerEffect": "Che cosa fa",
"rows": [
{
"option": "rw / ro",
"effect": "Modalità lettura-scrittura o sola lettura per l'intero montaggio."
},
{
"option": "file_mode=0664",
"effect": "Permessi riportati per i file tramite CIFS. Default permette al proprietario + gruppo di scrivere, altri leggere."
},
{
"option": "dir_mode=0775",
"effect": "Le autorizzazioni riportate per le directory. Default consente al proprietario+gruppo di entrare e creare, altri traversi."
},
{
"option": "iocharset=utf8",
"effect": "Forza UTF-8 per i nomi di file ricevuti dalla rete, evitando caratteri illeggibili nei nomi non ASCII."
},
{
"option": "credentials=file",
"effect": "Leggi nome utente / password dal file (aggiunto automaticamente per utente auth)."
},
{
"option": "guest",
"effect": "Autentica come ospite, nessuna credenziali necessaria (aggiunta automaticamente quando viene scelto l'ospite)."
},
{
"option": "_netdev",
"effect": "Segnala al sistema di inizializzazione che questo montaggio richiede la rete. L’avvio non resta bloccato in attesa del montaggio."
},
{
"option": "x-systemd.automount",
"effect": "Montaggio al primo accesso: il filesystem viene montato solo quando viene usato. Se il server CIFS non è raggiungibile all’avvio, il CT non resta bloccato."
},
{
"option": "noauto",
"effect": "Evita il montaggio immediato all’avvio. In combinazione con l’unità automount, il filesystem viene montato solo quando serve."
}
],
"netEffectTitle": "Effetto netto delle bandiere fstab",
"netEffectBody": "Il filesystem CIFS viene montato al <em>primo accesso</em> anziché subito durante l’avvio. Se il server è offline, l’accesso può attendere o fallire e influire sui servizi che dipendono dal percorso. Automount riduce la dipendenza all’avvio, ma non garantisce che tutti i servizi del CT restino indipendenti da un guasto CIFS."
},
"manual": {
"heading": "Equivalente manuale",
"body": "Replica l'intero flusso a mano — ogni comando viene eseguito <strong>dentro il CT</strong> tramite <code>pct exec &lt;ctid&gt; --</code> o direttamente tramite <code>pct enter &lt;ctid&gt;</code>:",
"guestIntro": "variante ospite — nessun file di credenziali necessario:"
},
"view": {
"heading": "Visualizzare i montaggi correnti",
"body": "Elenca i punti di montaggio CIFS attivi nel CT tramite <code>mount -t cifs</code> e tutte le righe CIFS del suo <code>/etc/fstab</code>. Per ciascuna voce di fstab mostra se il montaggio è attivo, così puoi individuare quelli permanenti che non sono stati ripristinati all’avvio."
},
"unmount": {
"heading": "Smonta la condivisione Samba",
"body": "Riunisce i montaggi attivi e le voci di fstab in un elenco. Per l’elemento scelto <strong>rimuove la riga corrispondente da <code>/etc/fstab</code></strong> e il relativo file delle credenziali. Lo script non esegue <code>umount</code> sul filesystem attivo: segnala che occorre riavviare il CT per completare lo smontaggio.",
"warnTitle": "Lo script rimuove le voci da fstab, senza smontare i filesystem attivi",
"warnBody": "Segue lo stesso criterio del client NFS: <code>umount</code> fallisce con “device busy” se il montaggio è ancora in uso. Rimuovere la voce da fstab impedisce che venga ripristinato al prossimo avvio del CT. Per smontarlo <em>subito</em>, esegui manualmente <code>pct exec &lt;ctid&gt; -- umount /mnt/&lt;path&gt;</code> dopo la fine dello script."
},
"test": {
"heading": "Prova la connettività Samba",
"body": "La diagnostica nel CT verifica l’installazione di <code>cifs-utils</code>, elenca i montaggi CIFS attivi e controlla per ogni server indicato in fstab ping, porte 139/445 ed elenco delle condivisioni accessibili come guest. “Autenticazione richiesta” nel test guest è normale se il server non espone condivisioni pubbliche."
},
"troubleshoot": {
"heading": "Risoluzione dei problemi",
"privTitle": "Container privilegiato richiesto (lo script si interrompe)",
"privBody": "Il CT selezionato non è privilegiato. Il client CIFS del kernel richiede la capacità <code>SYS_ADMIN</code>, non disponibile nei CT non privilegiati. Converti il CT in privilegiato oppure usa l’alternativa indicata nell’avviso all’inizio della pagina.",
"aptTitle": "apt-get install fails",
"aptIntro": "Lo script assume una famiglia Debian CT (<code>apt-get</code>). Su Alpine / Arch / Rocky / Alma, installare il client CIFS a mano:",
"aptItems": [
"Alpine: <code>apk add cifs-utils samba-client</code>",
"Arch: <code>pacman -S cifs-utils smbclient</code>",
"Rocky / Alma: <code>dnf install cifs-utils samba-client</code>"
],
"aptOutro": "Quindi eseguire nuovamente lo script ProxMenux — il passaggio di installazione salta quando gli strumenti sono già presenti.",
"guestFallbackTitle": "\"Il server ti ha collegato come ospite invece dell'utente specificato\"",
"guestFallbackBody": "La validazione attiva dello script ha preso un vero problema auth. Il server ha accettato la connessione ma l'ha degradata agli ospiti perché le credenziali sono sbagliate. Cause comuni: typo nel nome utente / password, l'utente non esiste sul server, l'utente è bloccato, o il gruppo di lavoro / dominio è errato. Ripeti la procedura e reinserisci con attenzione le credenziali (la password è nascosta nella finestra di dialogo).",
"denyTitle": "\"NT_STATUS_ACCESS_DENIED\" durante il montaggio",
"denyBody": "Le credenziali sono state convalidate ma la quota nega l'accesso. Controllare sul lato server se l'utente ha autorizzazioni su quella specifica quota (validazione conferma solo il login, non per-share ACLs). Verificare anche se il server richiede una specifica versione del protocollo SMB: aggiungere <code>vers=3.0</code> (o <code>2.1</code>, <code>2.0</code>) alle opzioni di montaggio.",
"utf8Title": "Nomi di file UTF-8 / non ASCII visualizzati male",
"utf8Body": "Le opzioni di default includono <code>iocharset=utf8</code>, ma alcune configurazioni del server segnalano una pagina di codice inaspettata. Se i nomi di file con accenti / simboli sembrano sbagliati, anche provare <code>nounix</code> (alcuni server Samba Linux ne hanno bisogno quando il client è anche Linux) o impostare il lato server a <code>unix extensions = no</code>.",
"bootTitle": "Il montaggio permanente riesce, ma non viene ripristinato all’avvio",
"bootBody": "Le cause più comuni sono la rete non ancora pronta quando il CT tenta il montaggio, il server non raggiungibile all’avvio oppure DNS non disponibile. Le opzioni <code>_netdev,x-systemd.automount,noauto</code> dello script risolvono il primo caso; automount attende normalmente il primo accesso. Per problemi DNS usa l’IP del server anziché il nome host."
},
"related": {
"heading": "Correlati",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "LXC Punti di montaggio (Host ↔ Contenitore)",
"tail": " — l'alternativa per le TC non private: montare su host, legare in CT."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "client NFS in LXC",
"tail": " — pagina correlata con lo stesso schema per le condivisioni NFS."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"label": "Server Samba in LXC",
"tailRich": " — l’inverso: esporre cartelle <em>da</em> un CT tramite Samba."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS come storage Proxmox",
"tail": " — registrare la condivisione in Proxmox anziché in un singolo CT."
}
]
}
}
@@ -0,0 +1,132 @@
{
"meta": {
"title": "Server Samba in LXC | Documentazione ProxMenux",
"description": "Esegui un server Samba (SMB / CIFS) in un container LXC Proxmox con ProxMenux. Installa samba automaticamente e gestisce /etc/samba/smb.conf, utenti smbpasswd e il gruppo sharedfiles per cartelle montate tramite bind mount. Richiede un container privilegiato.",
"ogTitle": "Server Samba in LXC | Documentazione ProxMenux",
"ogDescription": "Condividi cartelle via SMB/CIFS da un LXC privilegiato. Installazione automatica, utente smbpasswd e permessi adatti ai bind mount."
},
"header": {
"title": "Server Samba in LXC",
"description": "Eseguire un server Samba (SMB / CIFS) all'interno di un contenitore Proxmox LXC ed esporre le cartelle ai client Windows / macOS / Linux sulla rete. ProxMenux installa samba, crea un utente Samba con smbpasswd, gestisce /etc/samba/smb.conf, e applica permessi adatti ai bind mount quando la cartella condivisa viene dall'host.",
"section": "Archiviazione e condivisione · LXC"
},
"privReq": {
"title": "Contenitore privilegiato richiesto",
"body": "Samba impersona l'utente di collegamento con <code>setgroups()</code> su ogni connessione albero (il momento in cui un cliente apre una condivisione). In un LXC non privilegiato, il kernel rifiuta la chiamata di sistema perché lo spazio di nome utente del contenitore è creato con <code>setgroups=deny</code> — e <code>smbd</code> risponde interrompendo il processo di lavorazione con <code>PANIC: sys_setgroups failed</code>. Il risultato è che <code>smbd</code> inizia e lega porte 139/445, ma ogni connessione client non funziona con <code>NT_STATUS_CONNECTION_DISCONNECTED</code>. Lo script applica un CT privilegiato per questo motivo e <strong>si interrompe se il CT non è privilegiato</strong>. Non c'è correzione pulita sul lato server; utilizzare un CT privilegiato, o eseguire Samba all'interno di una VM."
},
"what": {
"heading": "Cosa succede?",
"body": "Il contenitore diventa un server SMB/CIFS: esegue <code>smbd</code>, espone una cartella tramite <code>/etc/samba/smb.conf</code> e accetta le connessioni client sulle porte <code>139</code> / <code>445</code>. I client vedono la condivisione a <code>\\\\&lt;ct-ip&gt;\\&lt;share-name&gt;</code> in Windows Explorer, <code>smb://&lt;ct-ip&gt;/&lt;share-name&gt;</code> in macOS Finder, o tramite <code>mount.cifs</code> su Linux.",
"diagramServerLabel": "LXC (privilegiato) — server Samba",
"diagramServerDetail": "/mnt/data\n(cartella condivisa)\n\nsmbd + nmbd in esecuzione\n\nUtente: <username>\n(via smbpasswd)\n\nGruppo imposto:\nsharedfiles",
"diagramClientLabel": "Qualsiasi client sulla rete",
"diagramClientDetail": "Windows: \\\\<ip>\\<share>\nmacOS: smb://<ip>/<share>\nLinux: mount.cifs",
"diagramArrow": "SMB / CIFS"
},
"perms": {
"heading": "Due percorsi di autorizzazione a seconda del tipo di cartella",
"body": "Prima di aggiungere la condivisione a <code>smb.conf</code>, lo script verifica se la cartella scelta è un <strong>bind mount proveniente dall’host</strong> oppure una normale <strong>cartella locale nel CT</strong>. Imposta quindi proprietario e permessi in modo diverso:",
"headerType": "Tipo di cartella",
"headerAction": "Cosa fa lo script",
"bindType": "Bind-mount da host",
"bindTypeSubRich": "rilevato tramite uscita <code>mount</code>",
"bindActionRich": "Crea gruppo <code>sharedfiles</code> (default GID 999, dinamico se assunto), aggiunge l'utente Samba ad esso, poi <code>chown root:sharedfiles</code> + <code>chmod 2775</code> (SGID — nuovi file ereditano il gruppo). Se l'utente non può ancora scrivere, applica <code>setfacl -m u:&lt;user&gt;:rwx</code>.",
"localType": "Cartella locale dentro CT",
"localTypeSub": "nessun bind mount rilevato",
"localActionRich": "Proprietà standard: <code>chown -R &lt;user&gt;:&lt;user&gt;</code> + <code>chmod -R 755</code>. Nessun gruppo condiviso necessario perché nessun altro CT scrive a questa cartella. Torna a <code>setfacl</code> se manca ancora l'accesso alla scrittura.",
"gidTitle": "GID per 'sharedfiles' differisce dal flusso server NFS",
"gidBody": "Lo script del server Samba utilizza GID <strong>999</strong> per <code>sharedfiles</code>, mentre il <nfsLink>flusso del server NFS</nfsLink> utilizza GID <strong>101000</strong>. Se si esegue entrambi i server nello stesso CT e desiderare un singolo gruppo condiviso su entrambi i protocolli, modificare uno di loro per abbinare l'altro dopo l'installazione (ad es. <code>groupmod -g 101000 sharedfiles</code>) e riapplicare la proprietà sulle cartelle interessate. Questa è una nota incoerenza negli script attuali."
},
"opening": {
"heading": "Apertura dello strumento",
"body": "Dal menu principale, apri <strong>Storage & Share Manager → Configure Samba Server in LXC</strong>. Sono elencati solo i CT privilegiati. Scegli il CT di destinazione; lo script lo avvia se è fermo e rifiuta i CT non privilegiati. Il menu presenta cinque opzioni.",
"imageAlt": "Menu Samba Server Manager — Crea / Visualizza / Elimina / Stato / Disinstallare"
},
"howRuns": {
"heading": "Come funziona lo script (Crea flusso)"
},
"modes": {
"heading": "Le tre modalità di condivisione",
"intro": "Ogni modalità scrive una sezione diversa in <code>smb.conf</code>. Tutti e tre includono <code>valid users = &lt;username&gt;</code> (non anonimo), <code>force group = sharedfiles</code> (così nuovi file appartengono al gruppo condiviso) e <code>veto files = /lost+found/</code> (nascondere dai clienti).",
"headerMode": "Modalità",
"headerBlock": "Blocco scritto a smb.conf",
"rwMode": "Lettura e scrittura",
"roMode": "Sola lettura",
"customMode": "Personalizzato",
"customBodyRich": "Digita le tue direttive in una scatola di testo libero. ProxMenux li avvolge ancora in un blocco <code>[share]</code> con lo standard <code>path</code>, <code>valid users</code>, <code>force group</code> e <code>veto files</code>."
},
"manual": {
"heading": "Equivalente manuale",
"body": "Riproduci manualmente l’intera procedura. Ogni comando viene eseguito <strong>nel CT</strong> tramite <code>pct exec &lt;ctid&gt; --</code> o <code>pct enter &lt;ctid&gt;</code>:"
},
"connect": {
"heading": "Collegamento da clienti",
"headerOs": "Sistema operativo del client",
"headerHow": "Come collegare",
"windowsOs": "Windows",
"windowsHowRich": "Esplora file → barra degli indirizzi: <code>\\\\&lt;ct-ip&gt;\\&lt;share-name&gt;</code>. Oppure <em>Connetti unità di rete</em> → seleziona «Connetti con credenziali diverse».",
"macosOs": "macOS",
"macosHowRich": "Finder → <em>Vai → Connessione al server...</em> → <code>smb://&lt;ct-ip&gt;/&lt;share-name&gt;</code>. O <code>mount_smbfs //user@&lt;ct-ip&gt;/&lt;share&gt; /mountpoint</code>.",
"linuxOs": "Linux",
"linuxHowRich": "<code>mount -t cifs //&lt;ct-ip&gt;/&lt;share&gt; /mnt/x -o username=&lt;u&gt;,password=&lt;p&gt;,iocharset=utf8</code>. Oppure utilizzare il client <clientLink>Samba nella pagina LXC</clientLink> se il client è un altro Proxmox CT."
},
"view": {
"heading": "Visualizza le condivisioni attuali",
"body": "Analizza <code>/etc/samba/smb.conf</code> all'interno del CT e elenca ogni blocco <code>[share]</code> (saltando <code>[global]</code>, <code>[homes]</code>, <code>[printers]</code>) con il suo percorso. Utile come un inventario rapido."
},
"delete": {
"heading": "Elimina una condivisione",
"body": "Consente di selezionare una condivisione per nome, rimuove il blocco da <code>smb.conf</code> (<code>sed</code> cancella da <code>[share]</code> fino alla prossima riga vuota), e riavvia <code>smbd</code>. La cartella stessa e il suo contenuto sono lasciati intatti."
},
"status": {
"heading": "Controlla lo stato Samba",
"body": "Indica se <code>smbd</code> e <code>nmbd</code> sono installati e attivi, elenca gli utenti Samba (<code>pdbedit -L</code>) e mostra le sessioni attive (<code>smbstatus</code>)."
},
"uninstall": {
"heading": "Disinstallare il server Samba",
"body": "Pulizia completa dopo conferma: arresta e disabilita <code>smbd</code> e <code>nmbd</code>, salva <code>smb.conf</code> in <code>smb.conf.backup.YYYYMMDD_HHMMSS</code>, rimuove gli utenti Samba con <code>smbpasswd -x</code> e i pacchetti Samba con <code>apt-get purge</code>. Le <strong>cartelle esportate non vengono eliminate</strong>.",
"warnTitle": "Le cartelle rimangono — esegui il backup dei dati separatamente",
"warnBody": "<em>Elimina condivisione</em> e <em>Disinstalla server Samba</em> rimuovono la configurazione della condivisione. I dati delle cartelle esportate vengono conservati. Per eliminarli, usa esplicitamente <code>rm -rf</code> dopo la fine dello script."
},
"troubleshoot": {
"heading": "Risoluzione dei problemi",
"privTitle": "Richiesto un container privilegiato (lo script si interrompe)",
"privBody": "Il CT selezionato non è privilegiato e <code>smbd</code> non può servire i file lì. Se si bypassa il controllo e si configura Samba a mano, <code>smbd</code> inizia e le porte si aprono, ma la prima connessione client provoca un arresto con <code>PANIC: sys_setgroups failed</code> in <code>/var/log/samba/log.&lt;client&gt;</code> e il client vede <code>NT_STATUS_CONNECTION_DISCONNECTED</code>. La causa è lo spazio di nome utente non privilegiato con <code>setgroups=deny</code>, che blocca l'impersonazione per connessione di Samba. Né <code>features=keyctl=1</code> né rimuovere <code>force user</code> / <code>force group</code> cambia questo. Le uniche opzioni praticabili sono: convertire il CT in privilegiato, o spostare Samba in una VM.",
"aptTitle": "apt-get install non riesce",
"aptIntro": "Lo script assume una famiglia Debian CT. Su Alpine / Arch / Rocky / Alma, installare Samba a mano:",
"aptItems": [
"Alpine: <code>apk add samba</code>",
"Arch: <code>pacman -S samba</code>",
"Rocky / Alma: <code>dnf install samba</code>"
],
"aptOutro": "Esegui di nuovo lo script ProxMenux; l’installazione viene saltata se gli strumenti sono già presenti.",
"noShareTitle": "Il client si connette ma non vede la condivisione",
"noShareBody": "Controllare che <code>browseable = yes</code> è impostato nel blocco della condivisione (default per modalità rw / ro; può essere mancante in personalizzato). Controllare anche il firewall CT e il firewall host Proxmox consentire TCP 445 (SMB) e 139 (NetBIOS). Alcuni client Windows richiedono anche la risoluzione dei nomi — prova l'IP direttamente prima.",
"authTitle": "L'autenticazione fallisce (NT_STATUS_LOGON_FAILURE)",
"authBody": "La password è errata (le password Samba sono <em>separate</em> da quelle di sistema; elenca gli utenti Samba con <code>pdbedit -L</code>) oppure l’utente manca in <code>valid users</code> per la condivisione. Reimposta la password nel CT con <code>smbpasswd &lt;user&gt;</code>.",
"groupTitle": "I file scritti dal client appaiono con gruppo sbagliato sul server",
"groupBody": "Lo script imposta <code>force group = sharedfiles</code> nel blocco della condivisione, quindi nuovi file dovrebbero essere di gruppo <code>sharedfiles</code>. Se non lo sono, il bit SGID sulla directory principale può essere perso (qualcuno ha eseguito <code>chmod</code> a mano). Riapplica: <code>chmod 2775 /mnt/&lt;share&gt;</code>.",
"bothTitle": "Condividere la stessa cartella sia su NFS che su Samba",
"bothBody": "ProxMenux utilizza diversi GID per <code>sharedfiles</code> in ogni script (Samba: 999, NFS: 101000). Se si serve la stessa cartella tramite entrambi, decidere su un GID e allineare entrambi. La soluzione più semplice: dopo aver eseguito entrambi gli script, modificare il GID più piccolo:"
},
"related": {
"heading": "Correlati",
"items": [
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "client Samba in LXC",
"tail": " — il caso inverso: montare condivisioni Samba esterne nel CT."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"label": "Server NFS in LXC",
"tail": " — pagina correlata, stesso schema con NFS al posto di CIFS."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS come storage Proxmox",
"tailRich": " — quando il CT espone l’esportazione, registra la condivisione Samba in Proxmox per visualizzarla in <em>Datacenter → Storage</em>."
}
]
}
}
@@ -0,0 +1,123 @@
{
"meta": {
"title": "Máquina: Adicionar iSCSI alvo como armazenamento Proxmox ProxMenux Documentação",
"description": "Registe um alvo iSCSI como armazenamento Proxmox com o ProxMenux. A ferramenta instala open-iscsi, descobre o portal através de sendtargets, permite escolher o alvo e executa pvesm add iscsi. Fornece dispositivos de blocos raw para as imagens de disco das VM.",
"ogTitle": "Máquina: Adicionar iSCSI alvo como armazenamento Proxmox ProxMenux Documentação",
"ogDescription": "Registe um alvo iSCSI como armazenamento Proxmox com descoberta guiada. Usa pvesm add iscsi e fornece dispositivos de blocos raw para os discos das VM."
},
"header": {
"title": "Máquina: Adicionar iSCSI alvo como armazenamento Proxmox",
"description": "Registre um alvo iSCSI (de um SAN, TrueNAS / FreeNAS, Synology, um alvo Windows Server, qualquer array que fala iSCSI) como armazenamento Proxmox. Os LUNs exportados aparecem como dispositivos de bloco e podem hospedar imagens de disco VM em desempenho quase local através da rede.",
"section": "Armazenamento e Compartilhamento · Máquina"
},
"intro": {
"title": "O que isto faz",
"body": "ProxMenux envolve <code>pvesm add iscsi</code> com um fluxo guiado: instala <code>open-iscsi</code> se necessário, pede o portal iSCSI (IP:port), executa <code>iscsiadm --mode discovery --type sendtargets</code> contra ele, permite escolher um IQN alvo e registra o armazenamento iSCSI no Proxmox. O serviço <code>iscsid</code>, em seguida, mantém a sessão iSCSI vivo através de reinicialização."
},
"vocab": {
"heading": "vocabulário iSCSI (referência rápida)",
"headerTerm": "Termo",
"headerMeaning": "Significado",
"rows": [
{
"term": "Portal",
"meaningRich": "O endpoint de serviço iSCSI no servidor alvo — um IP (ou hostname) mais uma porta TCP. O porto padrão é <code>3260</code>; ProxMenux assume-o se você não especificar um."
},
{
"term": "Alvo",
"meaningRich": "Um único servidor exportado dentro do portal, identificado pelo seu IQN (<em>iSCSI Qualified Name</em>). Um portal pode hospedar muitos alvos."
},
{
"term": "IQN",
"meaningRich": "A forma canônica é <code>iqn.YYYY-MM.reverse.domain:identifier</code>, por exemplo <code>iqn.2024-08.com.truenas:proxmox-pool</code>. Tanto o alvo como o iniciador têm o seu próprio IQN."
},
{
"term": "LUN",
"meaningRich": "Um dispositivo de bloco dentro de um alvo (Número de Unidade Lógica). Um único alvo pode expor vários LUNs; cada LUN aparece como seu próprio disco em Proxmox e pode se tornar um disco VM."
},
{
"term": "Iniciador",
"meaningRich": "O cliente que se conecta a um alvo — neste caso, seu host Proxmox. O iniciador tem seu próprio IQN armazenado em <code>/etc/iscsi/initiatorname.iscsi</code>. Os alvos geralmente só aceitam sessões de IQNs de iniciadores pré-autorizados."
}
]
},
"opening": {
"heading": "Abrir a ferramenta",
"body": "Do menu principal do ProxMenux, abra o <strong>Storage &amp; Share Manager → Adicione iSCSI Target como Proxmox Storage</strong>. Você verá este sub-menu com quatro opções:",
"imageAlt": "Menu do gestor de máquinas iSCSI — Adicionar / Ver / Remover / Teste de conectividade"
},
"howRuns": {
"heading": "Como o script é executado (Adicionar fluxo)",
"body": "O fluxo tem duas fases com separação clara entre \"ajustar o iniciador, descobrir alvos\" e \"realmente registrar armazenamento em Proxmox\". Ao contrário do NFS / Samba, não há nenhuma descoberta automática na sub-rede — você deve saber o endereço do portal (iSCSI não é amigável à transmissão)."
},
"add": {
"heading": "Adicionar o alvo iSCSI como armazenamento Proxmox",
"items": [
"<strong>Entrada portal</strong> — digite o IP ou hostname do servidor alvo iSCSI. Porta <code>3260</code> é assumido a menos que você digite <code>host:port</code>.",
"<strong>Descoberta do alvo</strong> — ProxMenux chama <code>iscsiadm --mode discovery --type sendtargets --portal &lt;ip:port&gt;</code>. O servidor responde com cada IQN que permite que este iniciador veja. Se a descoberta falhar, o script mostra o erro exato de <code>iscsiadm</code> e lista causas comuns (IP errado, firewall, IQN iniciador não autorizado).",
"<strong>Seleção do alvo</strong> — um único alvo é selecionado automaticamente; vários alvos mostram um menu.",
"<strong>Storage ID</strong> — padrão é <code>iscsi-&lt;last IQN segment, 20 chars max&gt;</code>. Apenas letras, dígitos, <code>-</code> e <code>_</code>.",
"<strong>Tipo de conteúdo</strong> — ao contrário do NFS / Samba, o conteúdo de iSCSI é <strong>fixo ao <code>images</code></strong>. iSCSI expõe dispositivos de bloco brutos, não um sistema de arquivos, então o Proxmox só permite hospedar discos VM nele."
],
"authTitle": "Autorizar o iniciador Proxmox no alvo",
"authBody1": "Antes do fluxo Adicionar funcionar de ponta a ponta, o alvo iSCSI precisa conhecer seu host Proxmox. Obter o seu IQN iniciador:",
"authBody2": "Adicione esse IQN à lista de acesso do alvo (TrueNAS: <em>Sharing → Block → Initiators Groups</em>; Synology: <em>SAN Manager → iSCSI → Target → Edit → Initiators</em>; etc.). Se o iniciador não estiver autorizado, a descoberta com <code>iscsiadm</code> retorna uma lista vazia ou um erro de autenticação."
},
"manual": {
"heading": "Equivalente manual",
"body": "O fluxo completo corresponde a estes comandos:"
},
"view": {
"heading": "Ver os armazenamentos iSCSI configurados",
"body": "Lista todas as entradas iSCSI no Proxmox (<code>pvesm status | awk ''$2 == \"iscsi\"''</code>) com portal, IQN do alvo, tipo de conteúdo e estado atual."
},
"remove": {
"heading": "Remover o armazenamento de iSCSI",
"body": "Executa <code>pvesm remove &lt;storage-id&gt;</code> após confirmar portal, alvo e conteúdo. Somente o registro Proxmox é removido — <strong>o alvo iSCSI em si não é tocado</strong> e as sessões existentes no lado do kernel podem durar até o próximo reinício.",
"warnTitle": "Verifique primeiro os discos de VM existentes neste iSCSI",
"warnBody": "Removendo um armazenamento iSCSI enquanto as VMs ainda têm discos nele deixa aquelas VMs apontando para uma loja desaparecida. O Proxmox assinalará o erro, mas os dados LUN não são tocados no alvo — você pode registrar novamente o armazenamento mais tarde para recuperar os discos. Ainda assim, mova ou faça backup das VMs primeiro para ser seguro."
},
"test": {
"heading": "Teste de conectividade iSCSI",
"body": "Executa um passe diagnóstico: verifica se o <code>iscsiadm</code> está instalado, imprime o seu IQN iniciador, confirma que o <code>iscsid</code> está em execução, pings cada portal registrado, sonda sua porta, e relata o <code>pvesm status</code> mais se uma sessão iSCSI está atualmente ativa (<code>iscsiadm --mode session</code>). Sessão ativa mais portal acessível, mas \"inativo\" no Proxmox geralmente significa um estado obsoleto — tente <code>pvesm set &lt;id&gt; --disable 0</code>."
},
"troubleshoot": {
"heading": "Resolução de Problemas",
"portalTitle": "\"Não é possível alcançar o portal\", mas o IP do servidor responde em outro lugar",
"portalBody": "O ping ao endereço do portal falhou. Verifique se está alcançando a interface da <em>rede de armazenamento</em> (iSCSI costuma usar uma VLAN ou sub-rede separada da rede de gerenciamento). Confira também o DNS se informou um nome de host.",
"discoverTitle": "\"A descoberta do iSCSI falhou\" do iscsiadm",
"discoverIntro": "O script mostra o erro exato. Causas mais comuns:",
"discoverItems": [
"Portal IP / porta errada (dupla verificação, padrão é 3260).",
"O serviço iSCSI não está em execução no servidor alvo.",
"Firewall bloqueia 3260 entre Proxmox e o alvo.",
"<strong>Iniciador IQN não está autorizado no alvo.</strong> Causa mais frequente em matrizes empresariais. Adicione o seu Proxmox IQN ao ACL inicial do alvo primeiro."
],
"noTargetTitle": "Nenhum alvo encontrado, mas a descoberta foi bem- sucedida",
"noTargetBody": "O servidor aceitou o seu iniciador, mas não expõe nenhum alvo a ele. Revise os controles de autenticação/acesso do alvo — alguns arrays permitem a descoberta de todas as IQNs, mas filtram os alvos que cada IQN pode ver.",
"noLunTitle": "LUNs não aparecem em /dev/disk/by-path após o registro",
"noLunBody": "<code>pvesm add iscsi</code> teve sucesso, mas o kernel não está vendo dispositivos de bloco. Verifique <code>iscsiadm --mode session</code> — se nenhuma sessão estiver ativa, inicie uma manualmente com <code>iscsiadm --mode node --login</code>. Se uma sessão existir, mas não aparecerem LUNs, force uma nova varredura: <code>iscsiadm --mode session --rescan</code>. Se ainda nada, o alvo provavelmente não tem LUNs atribuídos a este IQN ainda (configurar mapeamento LUN no alvo).",
"chapTitle": "Autenticação CHAP",
"chapBody": "O ProxMenux não oferece campos de usuário e senha CHAP no fluxo interativo. Se a descoberta falhar, o script para antes de <code>pvesm add</code>; o armazenamento não é registrado apesar da falha. Configure separadamente os requisitos CHAP do alvo em <code>open-iscsi</code>, incluindo a autenticação da descoberta quando necessária, e tente novamente. Confira a configuração com <code>iscsiadm</code> e verifique sessões ativas com <code>iscsiadm --mode session</code>."
},
"related": {
"heading": "Relacionado",
"items": [
{
"href": "/docs/storage-share/host-nfs",
"label": "Compartilhamento NFS como armazenamento Proxmox",
"tail": " — alternativas ao nível dos ficheiros. Mais simples de configurar, mais flexível (backup / ISO / tmpl / imagens), ligeiramente mais lento para discos VM ao vivo."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS como armazenamento Proxmox",
"tail": " — outra opção de nível de arquivo; evite para discos VM ao vivo devido à semântica de bloqueio."
},
{
"href": "/docs/storage-share/host-local-disk",
"label": "Adicionar o disco local como armazenamento Proxmox",
"tail": " — quando o disco é local para a máquina Proxmox, não em outra caixa na rede."
}
]
}
}
@@ -0,0 +1,186 @@
{
"meta": {
"title": "Máquina: Adicionar o disco local como armazenamento Proxmox ProxMenux Documentação",
"description": "Formate um disco SATA, SAS ou NVMe local num host Proxmox e registe-o como armazenamento de tipo diretório ou pool ZFS. Inclui seleção segura do disco, confirmação das operações destrutivas, fstab por UUID, criação do pool ZFS e utilização de pvesm add dir / zfspool.",
"ogTitle": "Máquina: Adicionar o disco local como armazenamento Proxmox ProxMenux Documentação",
"ogDescription": "Formate um disco local e registre-o como armazenamento de diretório ou pool ZFS no Proxmox com um fluxo guiado e filtros de segurança."
},
"header": {
"title": "Máquina: Adicionar disco local como armazenamento Proxmox",
"description": "Pegue um disco físico na máquina Proxmox, opcionalmente formate-o (ext4 / xfs / btrfs / zfs) e registre-o como armazenamento Proxmox — quer como diretório (pvesm add dir) quer como um pool ZFS (pvesm add zfspool). ProxMenux filtra a lista de discos para que você não possa escolher o disco raiz ou qualquer coisa em uso, e torna cada passo destrutivo explícito antes de executá-lo.",
"section": "Armazenamento e Compartilhamento · Máquina"
},
"intro": {
"title": "O que isto faz",
"body": "Outras ferramentas <em>Host</em> nesta seção lidam com armazenamento de <strong>rede</strong> (NFS / Samba / iSCSI). Este lida com discos <strong>locais</strong> — unidades de reposição fisicamente conectadas ao seu host Proxmox que você deseja usar para discos VM, backups, ISOs ou modelos. ProxMenux prepara o disco (partição + formato + montagem) e registra-o em Proxmox para que a UI possa colocar conteúdo lá."
},
"destructive": {
"title": "Ferramenta destrutiva para o caminho do 'formato'",
"body": "A opção <em>Formatar</em> <strong>destrói as partições e os dados existentes no disco selecionado</strong>. O ProxMenux mostra um aviso, filtra discos em uso e exige confirmação antes de executar <code>wipefs</code> / <code>sgdisk</code> / <code>mkfs</code>. Isso não é uma sobrescrita segura de cada byte. Confira duas vezes o caminho do dispositivo antes de confirmar."
},
"compare": {
"heading": "Directório vs ZFS pool — qual escolher",
"headerDir": "Pasta (ext4 / xfs / btrfs)",
"headerZfs": "Conjunto ZFS",
"rows": [
{
"label": "Tipo de armazenamento Proxmox",
"dirRich": "<code>dir</code>",
"zfsRich": "<code>zfspool</code>"
},
{
"label": "Formato de disco VM",
"dir": "Arquivo qcow2 / raw em um sistema de arquivos",
"zfs": "Conjunto de dados nativo ZFS (zvol) por disco"
},
{
"label": "Instantâneos",
"dir": "qcow2 instantâneos; btrfs instantâneos se fs=btrfs",
"zfs": "Nativo, instantâneo, copy-on-write"
},
{
"label": "Aprovisionamento dinâmico",
"dir": "Sim (qcow2 por omissão)",
"zfs": "Sim (ZFS por omissão)"
},
{
"label": "Necessidades de RAM",
"dir": "Baixo",
"zfs": "Altas — o ZFS usa a RAM livre como cache ARC"
},
{
"label": "Suporta tipos de conteúdo",
"dir": "images, backup, iso, vztmpl, snippets, rootdir",
"zfs": "apenas images e rootdir (armazenamento em blocos)"
},
{
"label": "Melhor para",
"dir": "Disco de uso geral: mistura de discos VM, backups, ISOs",
"zfs": "Puro disco de dados VM / LXC com instantâneo + necessidades de integridade"
}
]
},
"opening": {
"heading": "Abrir a ferramenta",
"body": "Do menu principal do ProxMenux, abra o <strong>Storage &amp; Share Manager → Adicione disco local como armazenamento Proxmox</strong>. Você verá este sub-menu com quatro opções:",
"imageAlt": "Menu de gerenciamento de disco local — Adicionar / Ver / Remover / Listar discos disponíveis"
},
"howRuns": {
"heading": "Como o script é executado (Adicionar fluxo)",
"body": "O fluxo tem duas fases com um filtro de segurança com três verificações. Fase 1 descobre discos seguros, decide o que fazer com o escolhido e coleta parâmetros de armazenamento; Fase 2 faz o trabalho destrutivo. Até a confirmação final o disco está intocado."
},
"format": {
"heading": "Formatar um disco em branco",
"intro": "O caminho para um disco fresco ou um cujo conteúdo você não se importa.",
"items": [
"Escolha o disco (sistema / discos em uso estão escondidos).",
"Escolha \"Format disk (ERASE todos os dados)\".",
"Escolha o sistema de arquivos — veja a tabela acima para trade-offs.",
"ID de armazenamento (padrão <code>disk-&lt;device&gt;</code>), caminho de montagem, tipo de conteúdo predefinido.",
"Confirme no diálogo <strong>CONFIRMAÇÃO FINAL — OS DADOS SERÃO APAGADOS</strong>.",
"O ProxMenux limpa a tabela de partições e cria uma partição que ocupa o disco. Executa <code>mkfs.&lt;fs&gt;</code> ou <code>zpool create</code> e monta o resultado. Sistemas de arquivos comuns recebem uma entrada UUID em <code>/etc/fstab</code> com <code>defaults,nofail</code>; o ZFS usa a configuração de montagem do pool. Se <em>Como armazenamento Proxmox</em> estiver marcado (sempre no caso do ZFS), ele é registrado com <code>pvesm add dir</code> ou <code>pvesm add zfspool</code>; caso contrário, fica apenas como montagem do host."
],
"tipTitle": "Porquê UUID + nofail em /etc/fstab",
"tipBody": "O script escreve <code>UUID=… /mnt/&lt;id&gt; &lt;fs&gt; defaults,nofail 0 2</code>. O UUID sobrevive à reordenação do dispositivo através de reinicialização (então o <code>/dev/sdc</code> tornando-se o <code>/dev/sdd</code> não quebra a inicialização). <code>nofail</code> significa que se o disco desaparecer (falha de Hardware, desconectado), o Proxmox ainda inicia — o armazenamento só será mostrado como inativo até que o disco volte."
},
"reuse": {
"heading": "Reutilizar um sistema de ficheiros existente",
"intro": "O caminho para um disco que você deseja manter os dados em — talvez você tenha movido de outro host Proxmox, ou o disco já tem backups / ISOs que você deseja manter acessível.",
"items": [
"Escolhe o disco.",
"Escolha \"Usar o sistema de arquivos existente\".",
"ID de armazenamento, local de montagem, predefinição do tipo de conteúdo.",
"ProxMenux <strong>não</strong> toca nos dados: ele cria o ponto de montagem, monta o disco, adiciona uma entrada UUID a <code>/etc/fstab</code> e a registra como um armazenamento Proxmox <code>dir</code>."
],
"warnTitle": "O caminho de reutilização não lida com ZFS pools",
"warnBody": "Se o disco já contém um pool ZFS, o caminho <em>reuse</em> aqui apenas tenta montá-lo como um sistema de arquivos regular – que falha. Para importar um pool ZFS existente use <code>zpool import &lt;name&gt;</code> na linha de comando e registre-o manualmente com <code>pvesm add zfspool</code>."
},
"presets": {
"heading": "Predefinições do tipo de conteúdo",
"intro": "O ProxMenux oferece três predefinições e uma opção personalizada. A lista de conteúdo escolhida é passada para <code>pvesm add … --content &lt;csv&gt;</code>:",
"headerPreset": "Predefinição",
"headerContent": "Texto do conteúdo",
"headerUse": "Caso de uso",
"rows": [
{
"preset": "Armazenamento VM",
"content": "images,backup",
"use": "Um armazenamento dedicado aos discos de VMs que também mantém os backups dessas VMs por perto."
},
{
"preset": "NAS padrão",
"content": "backup,iso,vztmpl",
"use": "Um arquivo / disco de mídia — backups, ISOs e modelos LXC. Nenhum disco VM vivo aqui."
},
{
"preset": "Todos os tipos",
"content": "images,backup,iso,vztmpl,snippets",
"use": "Esta predefinição ampla habilita imagens, backups, ISOs, modelos LXC e snippets. Adicione outros tipos compatíveis, como rootdir, pela opção Personalizado se necessário."
},
{
"preset": "Personalizado",
"content": "(input livre)",
"useRich": "Digite o CSV exato, por exemplo. <code>images</code> sozinho, ou <code>rootdir,images</code>."
}
],
"zfsTitle": "ZFS pool conteúdo é mais estreito",
"zfsBody": "Com <strong>zfs</strong>, um <code>zfspool</code> aceita apenas <code>images</code> e <code>rootdir</code>, não arquivos ISO ou backups. Informe uma lista compatível em Personalizado. O script a encaminha sem alterações; tipos incompatíveis podem fazer o registro falhar. Verifique <code>pvesm status</code> depois."
},
"manual": {
"heading": "Equivalente manual",
"extIntro": "Formato + registrar um disco como armazenamento de diretório ext4:",
"zfsIntro": "Ou como um ZFS pool:"
},
"view": {
"heading": "Ver os armazenamentos de discos",
"body": "Lista cada armazenamento Proxmox apoiado em disco (ambos <code>dir</code> e <code>zfspool</code> que são criados pelo usuário – pools de sistema como <code>rpool</code> estão escondidos). Mostra o caminho de montagem / nome do pool, tipos de conteúdo e estado ao vivo."
},
"remove": {
"heading": "Remover o armazenamento do disco",
"body": "Remove o registro do armazenamento no Proxmox (<code>pvesm remove</code>) e oferece limpar a entrada correspondente em <code>/etc/fstab</code>. O script <strong>não</strong> destrói pools ZFS automaticamente; isso exige executar separadamente <code>zpool destroy &lt;name&gt;</code> quando tiver certeza.",
"warnTitle": "Dados e dependências VM existentes",
"warnBody": "A remoção do armazenamento não toca no sistema de arquivos nem no pool — os dados permanecem no disco. Mas VMs / CTs que referenciam este armazenamento por ID não vai começar após a remoção. Mova esses discos VM para outro armazenamento (ou faça um backup) antes de remover."
},
"list": {
"heading": "Listar os discos disponíveis",
"body": "Uma visão diagnóstica somente de leitura: imprime a saída de <code>lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,MODEL</code> seguida pelo <code>dir</code> / <code>zfspool</code> armazenamentos já conhecidos pelo Proxmox. Boa primeira parada quando você abrir a ferramenta e quiser ver \"o que está neste host?\" antes de adicionar qualquer coisa."
},
"troubleshoot": {
"heading": "Resolução de Problemas",
"noDisksTitle": "\"Nenhum disco disponível encontrado\"",
"noDisksIntro": "O filtro de segurança escondeu todos os discos. Razões comuns:",
"noDisksItems": [
"Apenas o disco raiz está presente.",
"Cada outro disco é parte de uma matriz ativa ZFS / LVM / RAID.",
"Cada outro disco é referenciado por uma configuração VM ou LXC (passthrough).",
"O disco está em modo somente leitura (falha de hardware ou bloqueio de gravação)."
],
"noDisksOutro": "Use <em>Lista de discos disponíveis</em> do menu para ver a saída <code>lsblk</code> bruta e entender o que está acontecendo.",
"mountedTitle": "O formato falha com \"o dispositivo está montado\"",
"mountedBody": "Algo montou automaticamente o disco (udisksd, um gerenciador de desktop, uma unidade de systemd). Desmontá-lo: <code>umount /dev/sdX?*</code> ou <code>systemctl stop &lt;whatever-mounts-it&gt;</code>, então tente novamente. O filtro de segurança do script deve ter discos montados ocultos, então se você alcançou este erro a montagem aconteceu entre o menu mostrando e você confirmando.",
"zpoolTitle": "zpool create falha com «invalid vdev specification»",
"zpoolBody": "Normalmente significa que o disco ainda tem GPT / LVM / ZFS assinaturas que <code>zpool</code> se recusa a substituir sem força. O script executa <code>wipefs</code> e <code>sgdisk --zap-all</code> antes do formato, mas um disco muito teimoso ainda pode ter uma etiqueta antiga. Forçar uma limpeza limpa manualmente: <code>zpool labelclear -f /dev/sdX</code> ou <code>dd if=/dev/zero of=/dev/sdX bs=1M count=10</code> e tentar novamente.",
"inactiveTitle": "O armazenamento mostra como inativo após reiniciar",
"inactiveBody": "Verifique <code>findmnt &lt;mount-path&gt;</code> — se a montagem está faltando, algo em <code>/etc/fstab</code> falhou. <code>dmesg | tail</code> geralmente aponta para a razão (incompatibilidade UUID, corrupção do sistema de arquivos, <code>nofail</code> deixou cair a repetição). Um <code>mount -a</code> geralmente reativa o armazenamento uma vez que a causa é fixa."
},
"related": {
"heading": "Relacionado",
"items": [
{
"href": "/docs/disk-manager/format-disk",
"label": "Gerenciador de disco: Formato / Limpar disco físico",
"tail": " — alternativa de baixo nível quando você só quer preparar um disco sem registá-lo como armazenamento Proxmox."
},
{
"href": "/docs/storage-share/host-iscsi",
"label": "Adicionar o alvo iSCSI como armazenamento Proxmox",
"tail": " — equivalente de rede quando o dispositivo de blocos está em outra máquina."
},
{
"href": "/docs/storage-share/host-local-shared",
"label": "Adicionar a Pasta Partilhada na Máquina",
"tail": " — preparar um directório na máquina para as montagens de ligação LXC (não regista um armazenamento Proxmox)."
}
]
}
}
@@ -0,0 +1,103 @@
{
"meta": {
"title": "Máquina: Adicionar diretório compartilhado no Host ProxMenux Documentação",
"description": "Crie um diretório no host pronto para bind mounts LXC, com permissões para contêineres com e sem privilégios. Sticky bit, rwx para todos e ACLs padrão para herança.",
"ogTitle": "Máquina: Adicionar diretório compartilhado no Host ProxMenux Documentação",
"ogDescription": "Prepare um diretório host para bind mounts LXC com permissões compatíveis com CTs privilegiadas e sem privilégios."
},
"header": {
"title": "Máquina: Adicionar diretório compartilhado na Máquina",
"description": "Crie um diretório no host para bind mounts em um ou mais contêineres LXC. O ProxMenux aplica permissões para CTs com e sem privilégios, sem precisar alinhar UIDs deslocados ou executar chown para cada contêiner, e registra o diretório para uso posterior pelo LXC Mount Manager.",
"section": "Armazenamento e Compartilhamento · Máquina"
},
"intro": {
"title": "O que é isto (e NÃO é)",
"body": "Esta ferramenta <strong>não</strong> registra nada no Proxmox (nenhum <code>pvesm add</code> aqui). Ele apenas prepara um diretório no host — <code>/mnt/shared</code>, por padrão — com permissões que qualquer contêiner LXC pode ler e gravar, independentemente de o CT ser privilegiado ou não. A próxima etapa normal é montá-lo em cada CT com o <mountLink>LXC Mount Manager</mountLink>."
},
"why": {
"heading": "Por que uma ferramenta dedicada para isso",
"intro": "Quando você vincula uma pasta de host em um container LXC, as permissões dependem de:",
"items": [
"Se o CT tem <strong>privilégios</strong> (UID 0 no CT = UID 0 no host) ou <strong>não tem privilégios</strong> (UID 0 no CT = UID 100000 no host, com deslocamento de +100000).",
"O proprietário do diretório do host (um arquivo do UID 1000 no host usa as permissões de “outros” para um CT sem privilégios, pois nenhum usuário do CT corresponde a esse UID do host).",
"Se vários CTs compartilham o mesmo diretório (CTs diferentes podem ter diferentes intervalos UID)."
],
"outro": "O truque pragmático que ProxMenux usa aqui é para <strong>dar a todos acesso</strong> no nível do sistema de arquivos: world-rwx mais o sticky bit, além de ACLs para que os novos arquivos herdem as mesmas permissões. Qualquer UID mapeado pode ler e escrever; nenhum alinhamento UID / GID é necessário."
},
"howRuns": {
"heading": "Como o script é executado",
"body": "O script não tem menu principal — ele executa uma única ação, <strong>Crie diretório compartilhado</strong>. Fase 1 coleta o caminho-alvo; Fase 2 cria o diretório e aplica permissões."
},
"bits": {
"heading": "O que cada bits de permissão faz",
"intro": "O número <strong>1777</strong> não é arbitrário — é o mesmo modo que o Linux usa para <code>/tmp</code>. Três propriedades combinadas:",
"headerBit": "Bit",
"headerEffect": "Efeito",
"headerWhy": "Porque é que isto importa aqui?",
"rows": [
{
"bit": "1 (sticky bit)",
"effect": "Somente o proprietário do arquivo, o proprietário do diretório ou um processo com privilégios suficientes pode excluir ou renomear o arquivo.",
"why": "Ajuda a impedir que usuários com UIDs mapeados diferentes apaguem arquivos uns dos outros. Não isola CTs com o mesmo UID mapeado ou acesso root privilegiado."
},
{
"bit": "777 (rwx-rwx-rwx)",
"effect": "Todos podem ler, gravar e atravessar o diretório.",
"why": "Os UIDs CT não privilegiados (100000+) aparecem como \"outros\" do host, então o world-rwx lhes dá acesso."
},
{
"bit": "ACL (predefinidas)",
"effect": "Herdado em cada arquivo / subdir recém-criado.",
"why": "O novo conteúdo herda as ACLs padrão sem executar o script novamente. Os aplicativos ainda podem solicitar modos restritivos ou alterar as permissões depois."
}
],
"privTitle": "Os CTs com privilégios veem o mesmo resultado, sem o deslocamento de UIDs",
"privBody": "Para um CT privilegiado, o UID 0 no CT é o UID 0 no host, então o <code>root</code> dentro do CT pode ler / escrever o diretório do host diretamente. <code>1777</code> ainda está bem — isso significa que usuários não root dentro do CT também podem usar o diretório. As mesmas permissões cobrem ambos os casos."
},
"where": {
"heading": "Onde colocar o diretório compartilhado",
"intro": "O selecionador de localização oferece quatro opções:",
"opt1Title": "1. Criar uma nova pasta no /mnt",
"opt1Body": "A escolha habitual. ProxMenux auto-sugere o primeiro nome livre (<code>shared</code>, <code>shared2</code>, <code>shared3</code>, ...). Basta confirmar ou escrever um nome diferente.",
"opt2Title": "2. Digite o caminho personalizado",
"opt2Body": "Para pastas fora de <code>/mnt</code>. Qualquer caminho absoluto funciona (por exemplo, <code>/srv/media</code>, <code>/data/family</code>). O script aplica as mesmas permissões.",
"opt3Title": "3. Ver as pastas existentes no /mnt",
"opt3Body": "Diagnóstico somente leitura: lista todos os diretórios sob <code>/mnt</code> com suas permissões, proprietário e espaço disponível. Útil antes de criar um novo para evitar colisões de nomes.",
"opt4Title": "4. Cancelar",
"opt4Body": "Sai sem criar nada. O mesmo que pressionar <kbd>Esc</kbd>.",
"tipTitle": "Onde vive o /mnt?",
"tipBody": "Por padrão, o <code>/mnt</code> fica no sistema de arquivos raiz do Proxmox. Se você quiser o diretório compartilhado em um disco diferente (um disco de dados, um pool ZFS), monte esse disco em <code>/mnt/&lt;name&gt;</code> primeiro (disco Manager ou <diskLink>Adicionar disco local como armazenamento Proxmox</diskLink>), e então crie o diretório compartilhado como uma subpasta dentro dele — ou escolha \"Digite o caminho personalizado\" aqui e aponte para o disco montado."
},
"manual": {
"heading": "Equivalente manual",
"body": "Todo o fluxo pode ser reproduzido à mão:"
},
"next": {
"heading": "Próxima etapa: bind mount nos contêineres",
"body": "Criar o diretório apenas o prepara – nenhum contêiner o vê ainda. Para torná-lo visível dentro de um ou mais LXCs, use o <mountLink>LXC Mount Manager</mountLink> para vincular a montagem <code>/mnt/&lt;name&gt;</code> nos CTs. Como as permissões já estão abertas, o Mount Manager <strong>não</strong> se oferecerá para alterá-las — o diretório está pronto para ser usado como está."
},
"troubleshoot": {
"heading": "Resolução de Problemas",
"mkdirTitle": "\"Failed to create directory\"",
"mkdirBody": "Normalmente um problema do sistema de arquivos: <code>/mnt</code> está em um sistema de arquivos somente leitura, o caminho contém um componente que não é um diretório (por exemplo, você digitou <code>/etc/passwd/sub</code>), ou o disco está cheio. Verifique com <code>df -h /mnt</code> e <code>mount | grep /mnt</code>.",
"writeTitle": "O recipiente não pode escrever apesar das permissões abertas",
"writeBody": "Verifique novamente se o CT está realmente usando a montagem de ligação (<code>pct config &lt;ctid&gt; | grep ^mp</code>). Dentro do CT, execute <code>touch /mnt/data/test-$(date +%s)</code> — se isso falhar com a permissão negada, a montagem pode estar em um sistema de arquivos host que não honra ACLs (algumas montagens mais antigas de <code>ext3</code> ou <code>vfat</code>). Mova o diretório compartilhado para um ext4 / xfs / btrfs / zfs de suporte.",
"aclTitle": "Comandos ACL silenciosamente indisponíveis",
"aclBody": "Em uma instalação Proxmox mínima <code>setfacl</code> / <code>getfacl</code> podem não estar instalados. O script cai de volta graciosamente (<code>command -v setfacl</code> check) e aplica apenas permissões POSIX — que é muitas vezes suficiente, mas novos arquivos não herdarão automaticamente o perfil permissivo. Instale <code>acl</code> com <code>apt-get install -y acl</code> e execute novamente o script no diretório."
},
"related": {
"heading": "Relacionado",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Gerenciador de montagem LXC",
"tail": " — a etapa natural seguinte: ligar esta pasta num ou mais recipientes."
},
{
"href": "/docs/storage-share/host-local-disk",
"label": "Adicionar o disco local como armazenamento Proxmox",
"tailRich": " — se você quiser o diretório compartilhado em um disco dedicado, prepare o disco primeiro, monte-o em <code>/mnt</code>, em seguida, crie a subpasta compartilhada aqui."
}
]
}
}
@@ -0,0 +1,174 @@
{
"meta": {
"title": "Host: montar compartilhamento NFS | Documentação ProxMenux",
"description": "Monte uma exportação NFS externa no host Proxmox como armazenamento Proxmox com pvesm add nfs, como montagem fstab independente que não aparece em Datacenter > Storage ou das duas formas. O método fstab é adequado para partilhar o caminho com contentores LXC por bind mount sem o registar como armazenamento Proxmox.",
"ogTitle": "Host: montar compartilhamento NFS | Documentação ProxMenux",
"ogDescription": "Monte uma exportação NFS externa no host Proxmox via pvesm, fstab ou ambos. A opção fstab é ideal para bind mounts LXC."
},
"header": {
"title": "Host: montar compartilhamento NFS no host",
"description": "Montar uma exportação NFS externa (de um NAS, outro servidor, uma partilha homelab...) na máquina Proxmox. Escolha um ou ambos os métodos: registre-o como armazenamento Proxmox (visível no Datacenter > Armazenamento) e/ou adicione uma montagem /etc/fstab simples em um caminho que você escolher (útil para montar o compartilhamento em recipientes LXC sem expô-lo como armazenamento Proxmox).",
"section": "Armazenamento e Compartilhamento · Máquina"
},
"intro": {
"title": "O que isto faz",
"body": "ProxMenux oferece dois métodos de montagem para qualquer exportação de NFS: <strong>(1) Armazenamento Proxmox</strong> via <code>pvesm add nfs</code> — o compartilhamento aparece no Datacenter > Armazenamento e Proxmox gerencia a montagem em <code>/mnt/pve/&lt;id&gt;</code>; <strong>(2) Montagem fstab no host</strong> em um caminho que você escolhe — persistente via <code>/etc/fstab</code>, NÃO visível como armazenamento Proxmox, ideal para montagem em contêineres LXC (Proxmox UI permanece limpo). Você pode executar um método, o outro, ou ambos."
},
"opening": {
"heading": "Abrir a ferramenta",
"body": "Do menu principal do ProxMenux, abra o <strong>Storage &amp; Share Manager → Monte NFS Share on Host</strong>. Você verá este sub-menu com quatro opções:",
"imageAlt": "Menu do gestor de máquinas NFS — Montar / Ver / Remover / Teste de conectividade"
},
"howRuns": {
"heading": "Como o script é executado",
"body": "O fluxo tem duas fases com separação clara entre \"descobrir, validar e escolher\" e \"na verdade montagem / gravação config\". Depois de seleccionar uma exportação, escolha os métodos de montagem através de uma lista de verificação; o resto das janelas só pede parâmetros para os métodos que seleccionou. Até à confirmação final, nem <code>/etc/pve/storage.cfg</code> nem <code>/etc/fstab</code> são tocados."
},
"modes": {
"heading": "Selector de métodos de montagem (duas opções, marca uma ou ambas)",
"intro": "Após selecionar e validar a exportação, o ProxMenux mostra uma lista de verificação com os dois métodos de montagem. Pode marcar um ou ambos. Se carregar em OK sem marcar nada, a janela reaparece até escolher pelo menos uma opção ou carregar em Cancelar para sair do fluxo.",
"imageAlt": "Lista de verificação do método de montagem com opções pvesm e fstab",
"headerMethod": "Método",
"headerMount": "Caminho de montagem",
"headerUi": "Visível no Datacenter > Armazenamento",
"headerUseCase": "Caso de uso típico",
"rows": [
{
"method": "<strong>Como armazenamento Proxmox (pvesm)</strong>",
"mountRich": "<code>/mnt/pve/&lt;storage-id&gt;</code> (gerido pela Proxmox)",
"ui": "Sim",
"useCase": "Imagens de disco VM, backups, ISOs, modelos LXC — qualquer coisa que precise aparecer na interface Proxmox."
},
{
"method": "<strong>Host somente fstab</strong>",
"mountRich": "<code>/mnt/&lt;path&gt;</code> (você escolhe o caminho)",
"ui": "Não",
"useCaseRich": "Compartilhe o caminho com um ou mais LXCs por bind mount <em>sem</em> registrá-lo como armazenamento Proxmox. Mantém a interface Datacenter organizada."
},
{
"method": "<strong>Ambos</strong>",
"mount": "Ambos os caminhos acima (dois pontos de montagem da mesma exportação NFS)",
"ui": "Sim",
"useCase": "Integração com a interface e um caminho estável separado no host com permissões abertas para bind mounts LXC."
}
],
"bothTitle": "\"Ambos\" cria duas montagens independentes NFS",
"bothBody": "Os métodos são executados separadamente: pvesm monta em <code>/mnt/pve/&lt;id&gt;</code> e fstab em <code>/mnt/&lt;path&gt;</code>. Isso oferece uma montagem gerenciada pelo Proxmox com opções padrão e outra no host para bind mounts LXC. Dois pontos de montagem não garantem duas conexões TCP; o cliente NFS pode reutilizar conexões de transporte."
},
"pvesmBranch": {
"heading": "Método A — Armazenagem Proxmox (pvesm)",
"intro": "Se o <em>Como armazenamento Proxmox</em> estiver marcado, o ProxMenux roda o fluxo original do pvesm:",
"items": [
"<strong>Storage ID</strong> — o que o Proxmox chamará de armazenamento. O padrão é <code>nfs-&lt;server-ip-with-dashes&gt;</code>. Apenas são aceites letras, dígitos, <code>-</code> e <code>_</code>.",
"<strong>Tipos de conteúdo</strong> — Proxmox liga as categorias de conteúdo aos volumes de armazenamento; escolha o que este NFS pode conter:"
],
"headerType": "Tipo de conteúdo",
"headerAllows": "O que permite",
"rows": [
{
"type": "import",
"allowsRich": "Importação de imagens de disco (selecionada por padrão). Necessário para <em>Importar imagem de disco para VM</em>."
},
{
"type": "backup",
"allowsRich": "Arquivos de backup VM e CT (<code>vzdump</code>)."
},
{
"type": "iso",
"allows": "Instalação de imagens ISO."
},
{
"type": "vztmpl",
"allows": "Modelos LXC."
},
{
"type": "images",
"allows": "Imagens de disco das VMs em uso: transforma o NFS em um armazenamento de discos de VMs."
},
{
"type": "rootdir",
"allows": "LXC sistemas de arquivos raiz (raro para NFS — leia a nota abaixo)."
},
{
"type": "snippets",
"allows": "Scripts de hook e snippets cloud-init."
}
],
"warnTitle": "images e rootdir em NFS",
"warnBody": "Selecionar <code>images</code> permite armazenar discos de VMs no NFS. O desempenho depende da rede, do servidor e da carga; uma falha pode bloquear a E/S que dependa da montagem. <code>rootdir</code> armazena sistemas de arquivos raiz LXC no NFS, onde contêineres sem privilégios podem encontrar limitações de mapeamento de UID, overlay e propriedade. Avalie isso antes de colocar <code>images</code> / <code>rootdir</code> ali; NFS também é útil para <code>backup</code> / <code>iso</code> / <code>vztmpl</code>.",
"result": "O resultado é <code>pvesm add nfs &lt;id&gt; --server &lt;srv&gt; --export &lt;path&gt; --content &lt;csv&gt;</code> e Proxmox auto-montagens em <code>/mnt/pve/&lt;id&gt;</code>."
},
"fstabBranch": {
"heading": "Método B — Montagem fstab da máquina",
"intro": "Se <em>Somente montagem fstab no host</em> está marcada, ProxMenux pede um caminho de montagem do host e opções persistentes, então monta e escreve a entrada para <code>/etc/fstab</code>:",
"items": [
"<strong>Caminho de montagem no host</strong> — padrão <code>/mnt/&lt;export-basename&gt;</code>. Deve ser um caminho absoluto. Se algo já estiver montado lá, ou se existir uma entrada fstab para o mesmo caminho, o ProxMenux avisa-o e oferece-lhe para o substituir.",
"<strong>Opções de montagem</strong> — <em>Leitura/gravação</em> (padrão: <code>rw,hard,nofail,_netdev,rsize=131072,wsize=131072,timeo=600,retrans=2</code>), <em>Somente leitura</em>, <em>Personalizado</em> (informe suas opções)."
],
"appliesIntro": "Uma vez confirmado, o script:",
"applies": [
"<code>mkdir -p</code> o caminho de montagem.",
"<code>mount -t nfs -o &lt;opts&gt; &lt;srv&gt;:&lt;export&gt; &lt;path&gt;</code>.",
"Escreve uma entrada de uma linha para <code>/etc/fstab</code>: <code>&lt;srv&gt;:&lt;export&gt; &lt;path&gt; nfs &lt;opts&gt; 0 0</code>.",
"Executa o <code>systemctl daemon-reload</code> para que o systemd apanhe a nova entrada do fstab.",
"Tenta <code>chmod 1777</code> e <code>setfacl o::rwx</code> no ponto de montagem, ignorando falhas. Só funciona se o servidor NFS permitir; muitas exportações NAS já permitem gravação a todos os usuários."
],
"lxcTitle": "Usando a montagem fstab de um LXC",
"lxcBody": "O script mostra um comando <code>pct set</code> para bind mount, como <code>pct set &lt;ctid&gt; -mp0 /mnt/&lt;path&gt;,mp=/mnt/&lt;ct-path&gt;,shared=1,backup=0</code>. Ou use o <mountLink>LXC Mount Manager</mountLink>, que detecta montagens fstab. <strong>Nada é alterado dentro do contêiner</strong>. O acesso de um CT sem privilégios depende das permissões do servidor para seus UIDs/GIDs mapeados. O script apenas tenta ajustar permissões pelo host; não garante exportações graváveis nem padrões de fabricantes. Consulte Solução de problemas se o acesso falhar.",
"noUiTitle": "A montagem do fstab NÃO é um armazenamento Proxmox",
"noUiBody": "A montagem de fstab do hospedeiro é invisível para a interface web Proxmox — por design. Ele não aparece no <em>Datacenter > Storage</em>, você não pode selecioná-lo no criador do VM / CT, e as tarefas de backup do Proxmox não podem segmentá-lo. É puramente um caminho do sistema de arquivos host. Se você também quiser integração com UI, marque os métodos <em>ambos</em> no coletor."
},
"manual": {
"heading": "Equivalente manual",
"pvesmIntro": "O método A (pvesm) mapeia para:",
"fstabIntro": "Método B (fstab) mapas para:"
},
"view": {
"heading": "Ver os armazenamentos NFS configurados",
"body": "Lista todas as entradas NFS no Proxmox (<code>pvesm status | awk ''$2 == \"nfs\"''</code>) com servidor, exportação, tipos de conteúdo, caminho de montagem e status ao vivo. <strong>Nota:</strong> esta vista só mostra armazenamentos registrados em pvesm- — as montagens somente para fstab não estão listadas aqui. Verifique aqueles com <code>findmnt -t nfs</code> ou <code>grep nfs /etc/fstab</code>."
},
"remove": {
"heading": "Remover o armazenamento de NFS",
"body": "Executa <code>pvesm remove &lt;storage-id&gt;</code> após uma confirmação que mostra o servidor / exportar / conteúdo. Apenas o registro do lado Proxmox é removido — <strong>o servidor remoto NFS em si nunca é tocado</strong>, nenhum arquivo é excluído. Para remover uma montagem fstab-only, edite <code>/etc/fstab</code> à mão e execute <code>umount &lt;path&gt;</code>.",
"warnTitle": "Fazer backup das dependências primeiro",
"warnBody": "Se VMs, CTs ou tarefas de backup ainda referenciam este armazenamento (por ID), removendo-o deixa-os apontando para um armazenamento que não existe mais. O Proxmox irá marcar o erro, mas não irá limpar. Mover ou soltar essas referências primeiro, em seguida, remover o armazenamento."
},
"test": {
"heading": "Teste de conectividade NFS",
"body": "Executa um passe diagnóstico sobre cada armazenamento NFS registrado no Proxmox: verifica se o <code>showmount</code> está disponível, que o <code>rpcbind</code> está em execução, pings cada servidor, sondas porta 2049, chama <code>showmount -e</code>, e finalmente relata a própria visão do Proxmox (<code>pvesm status</code>). Boa primeira parada quando um armazenamento aparece como <em>inativo</em> na interface Proxmox."
},
"troubleshoot": {
"heading": "Resolução de Problemas",
"noServersTitle": "\"Nenhum servidor NFS encontrado na rede\"",
"noServersBody": "Auto-descoberta usa <code>nmap -p 2049 --open &lt;subnet&gt;/24</code>. O servidor pode não responder se: estiver em um VLAN / subnet diferente, seu firewall bloqueia nmap sondas (muitos do) ou porta 2049 é intencionalmente fechado nessa interface. Use a opção <em>Manual</em> com o IP ou nome do host do servidor.",
"portTitle": "«A porta NFS (2049) não está acessível»",
"portBody": "O Ping teve sucesso, mas o <code>nc -z -w 3 &lt;server&gt; 2049</code> falhou. Verifique se o serviço NFS está em execução no servidor (<code>systemctl status nfs-server</code> em Linux, Painel de controle → Serviços de arquivos em Synology, plugin NFS em OMV / TrueNAS), e que o firewall permite 2049 do host Proxmox.",
"showmountTitle": "\"Falhou em conectar\" do showmount",
"showmountBody": "O servidor recusou a consulta da lista de exportação. Causas comuns: o servidor obriga ACLs cliente restrito (seu IP Proxmox não está na lista permitida), <code>rpcbind</code> não está em execução no servidor, ou o servidor expõe apenas NFSv4 com <code>showmount</code> desabilitado. O caminho de exportação ainda pode ser adicionado manualmente se você souber.",
"inactiveTitle": "O armazenamento mostra como inativo na UI Proxmox",
"inactiveBody": "Execute primeiro <em>Testar conectividade NFS</em>: ele verifica se o servidor responde ao ping, se a porta 2049 está aberta e se a lista de exportações (<code>showmount -e</code>) está disponível. Se a conexão funcionar mas o armazenamento continuar inativo, consulte <code>journalctl -u pvestatd</code> e a configuração do servidor/exportação. Corrija primeiro a conexão ou os privilégios. <code>pvesm set &lt;id&gt; --disable 0</code> habilita um armazenamento desabilitado; não é um reparo geral de NFS.",
"lxcNoWriteTitle": "A montagem fstab funciona mas o LXC sem privilégios não consegue gravar por bind mount",
"lxcNoWriteBody": "O acesso NFS depende de proprietários, ACLs e squash no servidor. Opções CIFS como <code>uid=</code> e <code>file_mode=</code> <strong>não</strong> se aplicam a NFS. Com o mapeamento LXC padrão, root no CT vira UID 100000 no host, não UID remoto 0. Configure o acesso para o UID/GID mapeado real ou a identidade anônima do servidor. <code>no_root_squash</code> afeta apenas o UID remoto 0 e não resolve todos os casos de UID 100000. O script tenta <code>chmod 1777</code>, mas não ignora permissões do servidor.",
"fstabBootTitle": "A montagem do fstab não aparece após reiniciar",
"fstabBootBody": "O script adiciona <code>nofail,_netdev</code> para que um compartilhamento faltando no boot não bloqueie a inicialização. Se a montagem nunca aparecer: confirme que a rede está acessível (<code>ping &lt;server&gt;</code>), verifique <code>journalctl -u remote-fs.target</code>, e verifique se a entrada é válida com <code>mount -fav | grep nfs</code>. <code>mount -a</code> após a inicialização monta tudo o que está faltando atualmente."
},
"related": {
"heading": "Relacionado",
"items": [
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS como armazenamento Proxmox",
"tail": " — mesmo padrão de fluxo (método A pvesm + método B fstab) para compartilhamentos SMB/CIFS."
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Gerenciador de montagem LXC",
"tailRich": " — montar a via apenas para fstab <code>/mnt/&lt;path&gt;</code> num ou mais contentores."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "Cliente NFS em LXC",
"tail": " — alternativa: montagem NFS directamente a partir de dentro de um contentor privilegiado (sem passar pelo host)."
}
]
}
}
@@ -0,0 +1,172 @@
{
"meta": {
"title": "Host: montar compartilhamento Samba | Documentação ProxMenux",
"description": "Monte uma partilha Samba ou CIFS externa no host Proxmox como armazenamento Proxmox com pvesm add cifs, como montagem fstab com opções uid/gid/file_mode abertas, invisível em Datacenter > Storage, ou das duas formas. O método fstab permite que um LXC sem privilégios leia e escreva por bind mount sem alterações dentro do contentor.",
"ogTitle": "Host: montar compartilhamento Samba | Documentação ProxMenux",
"ogDescription": "Montar um compartilhamento externo de Samba / CIFS no host Proxmox via pvesm, fstab com perms abertos (ideal para LXC binding-mounts), ou ambos."
},
"header": {
"title": "Host: montar compartilhamento Samba no host",
"description": "Montar um compartilhamento externo de Samba (SMB / CIFS) — de um NAS, uma caixa Windows, uma exportação TrueNAS SMB — no host Proxmox. Escolha um ou ambos os métodos: registre-o como armazenamento Proxmox (visível no Datacenter > Armazenamento) e/ou adicione uma montagem /etc/fstab simples em um caminho que você escolher, com uid/gid/file_mode aberto para que os LXCs não privilegiados possam vincular-montar e escrever sem quaisquer alterações dentro do recipiente.",
"section": "Armazenamento e Compartilhamento · Máquina"
},
"intro": {
"title": "O que isto faz",
"body": "O ProxMenux oferece dois métodos para uma partilha Samba: <strong>(1) Armazenamento Proxmox</strong> através de <code>pvesm add cifs</code>, visível em Datacenter > Storage e montado em <code>/mnt/pve/&lt;id&gt;</code>. A palavra-passe é guardada em texto simples em <code>/etc/pve/priv/storage/&lt;id&gt;.pw</code>, protegida pelo diretório privado acessível apenas a root: é controlo de acesso, não encriptação. <strong>(2) Montagem fstab do host</strong> num caminho escolhido, persistente através de <code>/etc/fstab</code> e montada com <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> para permitir a escrita através de bind mounts de LXC sem privilégios. As credenciais ficam num ficheiro exclusivo de root em <code>/etc/samba/credentials/</code>, nunca diretamente em <code>fstab</code>. Pode utilizar um método ou ambos."
},
"opening": {
"heading": "Abrir a ferramenta",
"body": "Do menu principal do ProxMenux, abra o <strong>Storage &amp; Share Manager → Monte Samba Share on Host</strong>. Você verá este sub-menu com quatro opções:",
"imageAlt": "Menu do gestor de máquinas Samba — Montar / Ver / Remover / Teste de conectividade"
},
"howRuns": {
"heading": "Como o script é executado",
"body": "O fluxo tem duas fases. Fase 1: descubra servidor, valide credenciais, escolha o compartilhamento e, em seguida, escolha os métodos de montagem através de uma lista de verificação. Fase 2: apenas os métodos marcados são executados. As credenciais são necessárias antecipadamente porque o <code>smbclient</code> precisa delas para listar compartilhamentos. Até a confirmação final, nem <code>/etc/pve/storage.cfg</code> nem <code>/etc/fstab</code> são tocados."
},
"modes": {
"heading": "Selector de métodos de montagem (duas opções, marca uma ou ambas)",
"intro": "Após selecionar o compartilhamento e validar credenciais, o ProxMenux mostra uma lista de verificação com os dois métodos de montagem. Pode marcar um ou ambos. Se carregar em OK sem marcar nada, a janela reaparece até escolher pelo menos uma opção ou carregar em Cancelar para sair do fluxo.",
"headerMethod": "Método",
"headerMount": "Caminho de montagem",
"headerUi": "Visível no Datacenter > Armazenamento",
"headerUseCase": "Caso de uso típico",
"rows": [
{
"method": "<strong>Como armazenamento Proxmox (pvesm)</strong>",
"mountRich": "<code>/mnt/pve/&lt;storage-id&gt;</code> (gerido pela Proxmox)",
"ui": "Sim",
"useCase": "Backups, ISOs, modelos LXC — qualquer coisa que precise aparecer na interface de usuário Proxmox. Discos de VM ao vivo são tecnicamente suportados, mas desencorajados em CIFS (bloqueio semântico)."
},
{
"method": "<strong>Host somente fstab</strong>",
"mountRich": "<code>/mnt/&lt;path&gt;</code> com uid/gid/file_mode aberto",
"ui": "Não",
"useCaseRich": "Disponibilize o compartilhamento aos LXCs por bind mount <em>sem</em> registrar armazenamento Proxmox. Permissões locais abertas facilitam o acesso dos CTs sem privilégios, mas o servidor SMB ainda precisa autorizar a gravação pelo usuário autenticado."
},
{
"method": "<strong>Ambos</strong>",
"mount": "Ambos os caminhos acima (dois pontos de montagem da mesma exportação CIFS)",
"ui": "Sim",
"useCase": "Você quer a integração de UI E um caminho de host-side estável com permissões abertas para LXC binding-mounts. A montagem pvesm usa padrões Proxmox; a montagem fstab aplica o uid/gid/file_mode aberto separadamente."
}
],
"bothTitle": "«Ambos» cria dois pontos de montagem CIFS",
"bothBody": "pvesm monta em <code>/mnt/pve/&lt;id&gt;</code> com as opções padrão do Proxmox. fstab monta em <code>/mnt/&lt;path&gt;</code> com <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> para acesso local por bind mounts LXC. O servidor SMB ainda impõe os privilégios do usuário da montagem. Dois pontos de montagem não garantem duas conexões TCP separadas."
},
"pvesmBranch": {
"heading": "Método A — Armazenagem Proxmox (pvesm)",
"intro": "Se o <em>Como armazenamento Proxmox</em> estiver marcado, o ProxMenux roda o fluxo original do pvesm:",
"items": [
"<strong>Storage ID</strong> — <code>cifs-&lt;server-ip-with-dashes&gt;</code> por omissão. Apenas letras, dígitos, <code>-</code> e <code>_</code>.",
"<strong>Tipos de conteúdo</strong> — esta lista ProxMenux oferece <strong>6</strong> opções. Omite <code>rootdir</code> em relação ao NFS; é uma escolha do script, não uma proibição de sistemas de arquivos raiz LXC em todas as versões do backend CIFS Proxmox:"
],
"headerType": "Tipo de conteúdo",
"headerAllows": "O que permite",
"rows": [
{
"type": "import",
"allows": "Importação de imagens de disco (selecionada por padrão)."
},
{
"type": "backup",
"allowsRich": "Arquivos de backup VM e CT (<code>vzdump</code>)."
},
{
"type": "iso",
"allows": "Instalação de imagens ISO."
},
{
"type": "vztmpl",
"allows": "Modelos LXC."
},
{
"type": "images",
"allowsRich": "Imagens de disco das VMs em uso — <strong>aviso no diálogo</strong>, veja abaixo."
},
{
"type": "snippets",
"allows": "Scripts de hook e snippets cloud-init."
}
],
"warnTitle": "Discos de VM vivos em CIFS",
"warnBody": "Selecionar <code>images</code> mostra um aviso ProxMenux: CIFS/SMB pode causar problemas de bloqueio em operações com discos de VMs. O script recomenda NFS, mas permite continuar. Backups e ISOs são usos comuns de CIFS. Avalie bloqueios, snapshots, migração e carga antes de usar CIFS para <code>images</code>.",
"credsTitle": "Onde o pvesm armazena credenciais",
"credsBody": "A senha não é gravada em <code>/etc/pve/storage.cfg</code>. O Proxmox salva credenciais em texto simples em <code>/etc/pve/priv/storage/&lt;storage-id&gt;.pw</code>, na área privada do sistema de arquivos do cluster, legível apenas por <code>root</code> (modo <code>0600</code>); elas são protegidas por permissões de acesso, não por criptografia. Após mudar a senha no servidor, use <code>pvesm set &lt;id&gt; --password &lt;new&gt;</code> ou remova e adicione o armazenamento pelo ProxMenux."
},
"fstabBranch": {
"heading": "Método B — Montagem fstab da máquina",
"intro": "Se <em>Somente montagem fstab no host</em> estiver selecionado, o ProxMenux pede o caminho e as opções persistentes, cria um arquivo de credenciais exclusivo de root no modo usuário, monta o compartilhamento e grava a entrada em <code>/etc/fstab</code>:",
"items": [
"<strong>Caminho de montagem no host</strong> — padrão <code>/mnt/&lt;share-name&gt;</code>. Deve ser um caminho absoluto. Se algo já está montado lá, ou existe uma entrada fstab, ProxMenux oferece para substituí-lo.",
"<strong>Opções de montagem</strong> — <em>Leitura/gravação</em> (padrão: <code>rw,uid=0,gid=0,file_mode=0777,dir_mode=0777,iocharset=utf8,nofail,_netdev</code>), <em>Somente leitura</em> (<code>file_mode=0555,dir_mode=0555</code>), <em>Personalizado</em> (informe suas opções). O script recomenda uid/gid/file_mode abertos para gravação por bind mounts LXC."
],
"credsTitle": "Arquivo de credenciais (modo de usuário)",
"credsBody": "No modo usuário, o ProxMenux cria um arquivo de credenciais exclusivo de root em <code>/etc/samba/credentials/&lt;server&gt;_&lt;share&gt;.cred</code> (modo <code>0600</code>) com linhas <code>username=</code> e <code>password=</code>. A entrada fstab o referencia pela opção <code>credentials=</code>; a senha em texto simples não aparece em <code>/etc/fstab</code>. No modo convidado, adiciona <code>guest</code> e não cria arquivo de credenciais.",
"appliesIntro": "Uma vez confirmado, o script:",
"applies": [
"<code>mkdir -p</code> o caminho de montagem.",
"<code>mount -t cifs -o &lt;opts&gt;,credentials=&lt;file&gt;</code> (ou <code>guest</code>) <code>//&lt;srv&gt;/&lt;share&gt; &lt;path&gt;</code>.",
"Escreve uma entrada de uma linha para <code>/etc/fstab</code>: <code>//&lt;srv&gt;/&lt;share&gt; &lt;path&gt; cifs &lt;opts&gt; 0 0</code>.",
"Executa o <code>systemctl daemon-reload</code> para que o systemd apanhe a nova entrada do fstab."
],
"lxcTitle": "Usando a montagem fstab de um LXC sem privilégios",
"lxcBody": "As opções CIFS <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> abrem as verificações locais de permissões para bind mounts LXC. ACLs do servidor e a semântica Unix/POSIX negociada ainda podem afetar o acesso. <strong>Nada é alterado no contêiner</strong>: nenhum <code>chown</code> no CT, grupos ou edições de <code>/etc/lxc</code>. A linha <code>mp</code> é gerenciada na configuração Proxmox do CT. Use o comando <code>pct set</code> exibido ou o <mountLink>LXC Mount Manager</mountLink>.",
"noUiTitle": "A montagem do fstab NÃO é um armazenamento Proxmox",
"noUiBody": "A montagem de fstab do hospedeiro é invisível para a interface web Proxmox — por design. Ele não aparece no <em>Datacenter > Storage</em>, você não pode selecioná-lo no criador do VM / CT, e as tarefas de backup do Proxmox não podem segmentá-lo. É puramente um caminho do sistema de arquivos host. Se você também quiser integração com UI, marque os métodos <em>ambos</em> no coletor."
},
"manual": {
"heading": "Equivalente manual",
"pvesmIntro": "O método A (pvesm) mapeia para:",
"fstabUserIntro": "Método B (fstab, user auth) — arquivo de credenciais + montagem:",
"fstabGuestIntro": "Método B (fstab, guest auth) — nenhum arquivo de credenciais:"
},
"view": {
"heading": "Ver armazenamentos CIFS e montagens do host",
"body": "Mostra armazenamentos CIFS registrados (<code>pvesm status | awk ''$2 == \"cifs\"''</code>) com servidor, compartilhamento, conteúdo, usuário ou <em>Convidado</em>, caminho e estado. As senhas <strong>nunca são exibidas</strong>. <strong>Nota:</strong> outra seção lista montagens fstab do host, opções, caminho do arquivo de credenciais e estado ativo/inativo. Para verificar manualmente, use <code>findmnt -t cifs</code> ou <code>grep cifs /etc/fstab</code>."
},
"remove": {
"heading": "Remover armazenamento CIFS ou montagem do host",
"body": "O seletor oferece armazenamentos pvesm e montagens fstab do host. Para pvesm executa <code>pvesm remove &lt;storage-id&gt;</code> e o Proxmox remove as credenciais associadas. Para fstab tenta <code>umount &lt;path&gt;</code>, remove a entrada de <code>/etc/fstab</code> e as credenciais em <code>/etc/samba/credentials/</code>, depois o diretório vazio se possível. Se a desmontagem falhar, é preciso desmontar manualmente ou reiniciar. <strong>O servidor Samba remoto e seus arquivos não são alterados</strong>.",
"warnTitle": "Fazer backup das dependências primeiro",
"warnBody": "VMs, CTs ou tarefas de backup que referenciam este armazenamento por ID irá falhar após a remoção. Mover / soltar essas referências antes de remover o armazenamento."
},
"test": {
"heading": "Teste a conectividade do Samba",
"body": "Executa um passe diagnóstico sobre cada armazenamento CIFS registrado no Proxmox: verifica se o <code>smbclient</code> está disponível, pings cada servidor, sonda portas 445 e 139, tenta uma lista de convidados, e relata a própria visão do Proxmox (<code>pvesm status</code>). \"Requer autenticação\" na lista de convidados significa que seu servidor só expõe compartilhamentos a usuários autenticados — normal para a maioria das configurações do NAS."
},
"troubleshoot": {
"heading": "Resolução de Problemas",
"noServersTitle": "\"Nenhum servidor Samba encontrado na rede\"",
"noServersBody": "Auto-descoberta usa <code>nmap -p 139,445</code>. O servidor pode estar em uma subrede diferente, firewalled, ou somente acessível pelo hostname (mDNS / WINS). Use a opção <em>Manual</em> com o IP ou hostname.",
"noSharesTitle": "\"Nenhuma partilha acessível encontrada\"",
"noSharesBody": "<code>smbclient -L</code> não devolveu nada para estas credenciais. Causas: o usuário não tem permissão para listar compartilhamentos (tentar com credenciais de administrador uma vez, ou digitar o nome do compartilhamento manualmente), o servidor tem visibilidade de compartilhamento desabilitada, ou as credenciais estão erradas. O script permite digitar o nome do compartilhamento manualmente neste caso.",
"denyTitle": "A montagem do Proxmox falhou com o NT_STATUS_ACCESS_DENIED",
"denyBody": "As credenciais pvesm armazenadas estão fora de sincronia com o servidor Samba (senha alterada, conta desativada, domínio / grupo de trabalho descompasso). Reentrar credenciais com <code>pvesm set &lt;id&gt; --username &lt;u&gt; --password &lt;p&gt;</code> ou remover e re-adicionar de ProxMenux. Se o servidor estiver em um domínio AD, adicione <code>--domain &lt;DOMAIN&gt;</code> à chamada <code>pvesm set</code>.",
"sleepTitle": "\"host está em baixo\" ou o estado de armazenamento fica inativo à noite",
"sleepBody": "Alguns aparelhos NAS colocam SMB para dormir agressivamente. <code>pvestatd</code> então vê o armazenamento como inativo até que o primeiro acesso acorde o NAS. Se isto é cosmético, nada está partido. Se isso causar falhas de backup, desativar a desconexão ociosa do SMB no NAS ou agendar backups fora da janela de sono.",
"lxcNoWriteTitle": "LXC desprivilegiado não pode escrever no caminho do fstab",
"lxcNoWriteBody": "Confira as opções pretendidas em <code>findmnt /mnt/&lt;path&gt;</code>, como <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>. A falta de privilégios locais de gravação pode bloquear UIDs LXC mapeados. Reaplique o perfil RW ou ajuste as opções personalizadas. Confira também os privilégios do usuário SMB no servidor e se extensões Unix/POSIX fornecem modos do servidor; modos locais abertos não ignoram ACLs do servidor.",
"fstabBootTitle": "A montagem do fstab não aparece após reiniciar",
"fstabBootBody": "O script adiciona <code>nofail,_netdev</code> para que um compartilhamento faltando no boot não bloqueie a inicialização. Se a montagem nunca aparecer: confirme que a rede está acessível (<code>ping &lt;server&gt;</code>), verifique <code>journalctl -u remote-fs.target</code>, verifique se o arquivo de credenciais ainda existe (<code>ls -l /etc/samba/credentials/</code>) e é legível, e tente <code>mount -a</code> manualmente."
},
"related": {
"heading": "Relacionado",
"items": [
{
"href": "/docs/storage-share/host-nfs",
"label": "NFS partilha como armazenamento Proxmox",
"tail": " — página de irmãos com o mesmo padrão de fluxo (método A pvesm + método B fstab) e trade-offs lado a lado."
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Gerenciador de montagem LXC",
"tailRich": " — montar a via apenas para fstab <code>/mnt/&lt;path&gt;</code> num ou mais contentores."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Cliente Samba em LXC",
"tail": " — alternativa: montagem Samba directamente a partir de dentro de um contentor privilegiado (sem passar pelo host)."
}
]
}
}
@@ -0,0 +1,135 @@
{
"meta": {
"title": "Proxmox NFS, Samba, iSCSI & LXC Pontos de montagem — Armazenamento e Compartilhamento ProxMenux",
"description": "Integre armazenamento externo e local ao Proxmox VE e compartilhe pastas entre o host e os contêineres LXC. Adicione compartilhamentos NFS, Samba (CIFS) e destinos iSCSI como armazenamento Proxmox, configure bind mounts LXC com o Mount Manager e execute clientes e servidores NFS ou Samba dentro dos contêineres.",
"ogTitle": "Proxmox NFS, Samba, iSCSI e LXC pontos de montagem — Armazenamento e partilha",
"ogDescription": "Integre o armazenamento externo/local em Proxmox VE — NFS, Samba, registo iSCSI e bind mounts LXC e partilha de rede.",
"twitterTitle": "Proxmox NFS, Samba, iSCSI | ProxMenux",
"twitterDescription": "Adicionar NFS / Samba / iSCSI como armazenamento Proxmox e compartilhar pastas entre host e LXC."
},
"header": {
"title": "Gerenciador de armazenamento e compartilhamento",
"description": "Integre armazenamento externo ou local ao Proxmox VE e compartilhe pastas entre o host e os contêineres LXC. Três grupos de ferramentas: integração do armazenamento do host (registro no próprio Proxmox), LXC Mount Manager (bind mounts com tratamento prático de permissões) e compartilhamento de rede LXC (fluxos de cliente e servidor NFS ou Samba para casos específicos).",
"section": "Armazenamento e compartilhamento"
},
"intro": {
"title": "Para que serve este menu",
"body": "O Gerenciador de disco funciona no nível de <em> discos físicos individuais</em>. O Storage &amp; Share Manager funciona um nível acima — ele <strong>registra pools de armazenamento e compartilhamentos de rede no Proxmox</strong> (para que a interface e o criador de VMs possam usá-los) e <strong>configura o compartilhamento de arquivos entre o host e seus containers</strong>."
},
"opening": {
"heading": "Abrir o menu",
"body": "No menu principal do ProxMenux, selecione <strong>Storage &amp; Share Manager</strong>. Você verá isto:",
"imageAlt": "Menu de gerenciamento de armazenamento e compartilhamento com blocos HOST e LXC"
},
"groups": {
"heading": "Três grupos de ferramentas",
"intro": "O menu se divide em três grupos. <strong>Integração do armazenamento do host</strong> registra armazenamento externo ou local no próprio Proxmox. O <strong>LXC Mount Manager</strong> é a principal ferramenta para compartilhar pastas com contêineres: um fluxo de bind mount que trata o mapeamento de UIDs de CTs sem privilégios no lado do host. <strong>Compartilhamento de rede LXC</strong> cobre quatro cenários adicionais em que um contêiner precisa <em>utilizar</em> ou <em>expor</em> compartilhamentos NFS ou Samba diretamente.",
"hostTitle": "Armazenagem da máquina",
"hostBody": "Registre armazenamento externo e local em Proxmox via <code>pvesm add …</code>. Uma vez registrado, o armazenamento aparece na UI Proxmox e está disponível para os criadores VM e CT.",
"hostItems": [
"NFS / Samba / iSCSI externos → armazenamento Proxmox",
"Disco local → Diretório Proxmox ou armazenamento ZFS",
"Diretório local compartilhado (para bind mounts entre CTs)"
],
"lxcMountTitle": "Gerenciador de montagem LXC",
"lxcMountBody": "A principal ferramenta de compartilhamento LXC. Disponibiliza diretórios do host nos contêineres por bind mount com <code>pct set -mpN</code> e trata as particularidades de permissão dos CTs sem privilégios, sem criar grupos ou usuários dentro do contêiner.",
"lxcMountItems": [
"Funciona com CTs com e sem privilégios",
"Oferece <code>o+rwx</code> no diretório do host para UIDs sem privilégios",
"Corrige as montagens CIFS / NFS existentes, se necessário"
],
"lxcNetTitle": "Partilha de rede LXC",
"lxcNetBody": "Quatro fluxos adicionais para contêineres que precisam utilizar ou expor compartilhamentos NFS ou Samba diretamente. Todos exigem um contêiner <strong>com privilégios</strong>.",
"lxcNetItems": [
"<strong>Cliente</strong> NFS / Samba (utiliza compartilhamentos externos)",
"NFS / Samba <strong>server</strong> (exponha pastas CT)"
]
},
"host": {
"heading": "Integração ao armazenamento da máquina",
"intro": "Registo de armazenamento em Proxmox. Cada opção chama <code>pvesm add …</code> sob o capô, então o armazenamento aparece em <strong>Datacenter → Storage</strong> e fica disponível para os criadores VM / CT.",
"options": [
{
"href": "/docs/storage-share/host-nfs",
"icon": "Network",
"title": "Adicionar a partilha NFS como armazenamento Proxmox",
"description": "Registe uma exportação NFS externa como armazenamento Proxmox com pvesm add nfs. O Proxmox trata da montagem, sem entradas adicionais em fstab."
},
{
"href": "/docs/storage-share/host-samba",
"icon": "Share2",
"title": "Adicionar a partilha Samba como armazenamento Proxmox",
"description": "Registe uma partilha Samba ou CIFS externa como armazenamento Proxmox com pvesm add cifs. O Proxmox trata da montagem e das credenciais."
},
{
"href": "/docs/storage-share/host-iscsi",
"icon": "Database",
"title": "Adicionar o alvo iSCSI como armazenamento Proxmox",
"description": "Conecte-se a um alvo externo iSCSI e registre-o como armazenamento Proxmox (dispositivo de bloco) para imagens de disco VM."
},
{
"href": "/docs/storage-share/host-local-disk",
"icon": "HardDrive",
"title": "Adicionar o disco local como armazenamento Proxmox",
"description": "Formate um disco local SATA / SAS / NVMe e registre-o como armazenamento Proxmox do tipo diretório ou pool ZFS."
},
{
"href": "/docs/storage-share/host-local-shared",
"icon": "FolderOpen",
"title": "Adicionar diretório compartilhado na máquina",
"description": "Criar um directório da máquina destinado a ser montado em várias CTs. Não é um armazenamento Proxmox — puramente um recurso do lado do host para as montagens de ligação LXC."
}
]
},
"lxcMount": {
"heading": "Gerenciador de montagem LXC",
"intro": "A principal ferramenta para compartilhar pastas entre o host Proxmox e os recipientes LXC. Ele usa <code>pct set -mpN</code> para vincular-montar um diretório host no recipiente, e lida com as peculiaridades de permissão de CTs sem privilégios no lado host (nenhum grupo ou usuários são criados dentro do recipiente).",
"card": {
"title": "LXC pontos de montagem (Host ↔ CT)",
"description": "Disponibilize qualquer diretório do host num contentor LXC por bind mount com pct set -mpN. Funciona com CT com ou sem privilégios, oferece chmod o+rwx e ACL para o diretório no host e corrige montagens CIFS ou NFS existentes quando necessário."
}
},
"lxcNet": {
"heading": "Partilha de rede LXC",
"intro": "Use estes fluxos quando um contêiner precisa <em>ser</em> um endpoint NFS ou Samba: utilizar um compartilhamento externo (cliente) ou expor suas próprias pastas (servidor). Para a maioria das necessidades de compartilhamento (bind mounts host ↔ CT), o <mountLink>LXC Mount Manager</mountLink> é mais simples e não requer contêineres com privilégios.",
"options": [
{
"href": "/docs/storage-share/lxc-nfs-client",
"icon": "Download",
"title": "Cliente NFS em LXC",
"description": "Monte compartilhamentos NFS externos de dentro de um contêiner LXC com privilégios. Oferece descoberta automática, persistência em /etc/fstab e desmontagem limpa."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"icon": "Download",
"title": "Cliente Samba em LXC",
"description": "Monte compartilhamentos Samba / CIFS de dentro de um contêiner LXC com privilégios. Credenciais armazenadas com proteção e descoberta automática disponível."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"icon": "Upload",
"title": "Servidor NFS em LXC",
"description": "Exportar pastas sobre NFS de dentro de um recipiente privilegiado LXC."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"icon": "Upload",
"title": "Servidor Samba em LXC",
"description": "Expor pastas sobre SMB / CIFS de dentro de um recipiente privilegiado LXC."
}
]
},
"privReq": {
"title": "Requisito de contentor privilegiado",
"body": "Os quatro fluxos de <strong>compartilhamento de rede LXC</strong> acima exigem um contêiner <strong>com privilégios</strong>. Os scripts exigem esse modo suportado antes de configurar serviços e ferramentas de montagem (<code>nfs-kernel-server</code>, <code>smbd</code>, <code>mount.nfs</code>, <code>mount.cifs</code>). Para compartilhar arquivos entre o host e um CT sem privilégios, use o <mountLink>LXC Mount Manager</mountLink>: ele faz bind mounts e ajusta permissões no host, permitindo leitura e gravação sem configurar esses serviços ou ferramentas dentro do contêiner."
},
"unprivExplain": {
"title": "Como ProxMenux lida com permissões CT sem privilégios",
"body": "Contêineres LXC sem privilégios deslocam seus UIDs em <strong>+100000</strong> no host (UID 0 do contêiner = UID 100000 do host, UID 1000 do contêiner = UID 101000 do host, …). Um arquivo criado por um usuário do contêiner aparece no host como <em>outros</em>, sem corresponder a um usuário ou grupo comum do host. O LXC Mount Manager oferece uma solução prática: em vez de alinhar UIDs/GIDs entre host e CT, propõe <code>chmod o+rwx</code> e ACLs correspondentes no diretório do host, para que qualquer UID mapeado possa ler e gravar. Para CIFS, remonta com <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>; para NFS, configura um diretório gravável por todos com sticky bit e, se o servidor aplicar root squash, orienta sobre a correção necessária no servidor."
},
"scripts": {
"heading": "Programas envolvidos",
"intro": "Cada página inclui um link para o script que impulsiona seu fluxo. O arquivo abaixo é um auxiliar compartilhado que não está documentado como sua própria página, mas é usado por vários dos fluxos de compartilhamento de rede LXC:",
"itemTail": " — validação do CT, seleção de pontos de montagem, verificação privilegiada e ajudadores universais de configuração de grupo compartilhados entre os fluxos cliente / servidor do LXC."
}
}
@@ -0,0 +1,174 @@
{
"meta": {
"title": "Pontos de montagem LXC (host ↔ contêiner) | Documentação ProxMenux",
"description": "O LXC Mount Manager disponibiliza um diretório do host num ou mais contentores LXC por bind mount com pct set -mpN. Trata das particularidades dos contentores sem privilégios, corrige montagens CIFS e NFS no host e não altera nada dentro do contentor.",
"ogTitle": "Pontos de montagem LXC (host ↔ contêiner) | Documentação ProxMenux",
"ogDescription": "Disponibilize diretórios do host nos contêineres LXC por bind mount. Gerencia o mapeamento de UID sem privilégios de forma prática e corrige o acesso CIFS / NFS no host."
},
"header": {
"title": "Pontos de montagem LXC (Host ↔ Container)",
"description": "A ferramenta principal para partilhar pastas entre o host Proxmox e os contentores LXC. Disponibiliza um diretório do host num ou mais contentores por bind mount com a sintaxe nativa pct set -mpN. Resolve as particularidades dos privilégios no lado do host, sem alterar nada dentro dos contentores.",
"section": "Armazenamento e Compartilhamento · LXC"
},
"intro": {
"title": "O que isto faz",
"body": "Pegue um diretório que vive no host Proxmox (uma pasta local, um compartilhamento NAS montado, um armazenamento gerenciado pelo Proxmox...) e faça com que ele apareça dentro de um container LXC em um caminho que você escolher, com permissões que funcionam mesmo para recipientes sem privilégios — sem tocar em nada dentro do container."
},
"bigPicture": {
"heading": "Como funciona (o quadro geral)",
"intro": "Um bind mount instrui o kernel a mostrar o diretório <code>X</code> do host também no caminho <code>Y</code> do contêiner. Sem cópia, sincronização ou transferência de rede: ambos veem os <em>mesmos arquivos</em> ao mesmo tempo.",
"sourceLabel": "Host Proxmox",
"sourceDetail": "/mnt/data\n(sua pasta)",
"targetLabel": "Contentor LXC",
"targetDetail": "/mnt/data\n(mostra aqui)",
"arrowLabel": "bind mount",
"outro": "O caminho do hospedeiro à esquerda e o caminho do recipiente à direita podem ser diferentes — por exemplo, o <code>/mnt/nas-films</code> no hospedeiro pode tornar-se <code>/media/films</code> no interior do recipiente. O script adiciona a entrada para a configuração do recipiente (<code>/etc/pve/lxc/&lt;ctid&gt;.conf</code>) usando o próximo índice <code>mpN</code> livre, com dois padrões seguros preparados em:",
"items": [
"<code>shared=1</code> — informa ao Proxmox que os dados são compartilhados e não devem ser migrados com o CT. A opção não replica dados: o mesmo caminho e os mesmos dados devem estar disponíveis no nó de destino.",
"<code>backup=0</code> — exclui o monte de ligação dos backups do <code>vzdump</code> (os dados vivem no host, você faz backup separadamente)."
]
},
"perms": {
"heading": "Manuseamento de permissões – a parte smart",
"intro": "Montagens de ligação são fáceis em princípio. A parte difícil são as permissões: um container <strong>sem privilégios</strong> LXC muda cada UID por <strong>+100000</strong>, então um arquivo criado dentro do container pelo usuário 1000 aparece no host como UID 101000 — um UID que ninguém no host possui. Para fazer isso funcionar sem alinhar UIDs entre hosts e contêineres, o ProxMenux aplica o truque certo de \"abrir permissões\" no lado <em>host</em>, dependendo do tipo de diretório que você escolheu:",
"headerType": "Tipo de pasta da máquina",
"headerAction": "O que o script oferece para fazer",
"localType": "Pasta local",
"localTypeSub": "Por exemplo: /mnt/data",
"localActionRich": "<code>chmod o+rwx</code> + <code>setfacl o::rwx</code> no diretório da máquina. Só é oferecido se o CT não for privilegiado e as permissões atuais forem insuficientes.",
"cifsType": "CIFS / SMB montados",
"cifsTypeSub": "Por exemplo: /mnt/pve/cifs-…",
"cifsActionRich": "Remontar com <code>uid=0, gid=0, file_mode=0777, dir_mode=0777</code> para que o CT (qualquer UID) possa ler e escrever a partilha. O <code>/etc/fstab</code> está actualizado.",
"nfsType": "NFS montado",
"nfsTypeSub": "Por exemplo: /mnt/pve/nfs-…",
"nfsActionRich": "<code>chmod 1777</code> + <code>setfacl o::rwx</code> na montagem NFS. Não é possível substituir o squashing do lado do servidor — se mesmo o host root não consegue gravar, você é guiado para corrigir a exportação no servidor NFS.",
"privTitle": "Recipientes privilegiados não precisam de nada disto.",
"privBody": "Para recipientes privilegiados, UID 0 no CT é UID 0 no host — raiz dentro do CT pode ler e escrever o diretório do host diretamente sem qualquer truque de permissão. O script detecta isso e ignora o passo de \"abrir permissões\".",
"noCtTitle": "O script nunca modifica nada dentro do recipiente",
"noCtBody": "Todos os ajustes de permissão acontecem no sistema de arquivos <strong>host</strong>. Sem <code>pct exec</code> chowns, sem grupos criados no CT, sem fstab dentro do recipiente. Se você reutilizar o diretório bind-mounted em um CT diferente mais tarde, as mesmas permissões se aplicam automaticamente — sem configuração por contêiner."
},
"writes": {
"heading": "O que escreve ProxMenux — e o que não escreve",
"intro": "Uma confusão comum quando se liga a montagem em um CT: as pessoas assumem que ProxMenux deve estar escrevendo entradas <code>lxc.idmap</code> em <code>/etc/pve/lxc/&lt;CTID&gt;.conf</code>. <strong>Não faz.</strong> Apenas uma linha é anexada a esse arquivo — a própria montagem de ligação:",
"outro": "A linha de saída que você vê no final da execução, <em>\"Contêiner sem privilégios — Offset UID: 100000\"</em>, é puramente informacional - ele apenas lhe diz que o CT está usando o mapeamento padrão sem privilégios do Proxmox (root in CT = UID 100000 no host). O script não configura nada em torno dele.",
"twoWaysHeading": "As duas maneiras de fazer as permissões funcionar — e por que ProxMenux escolhe uma",
"headerApproach": "Aproximação",
"headerChanges": "O que muda",
"headerWhen": "Quando caber",
"hostType": "Permissões no host",
"hostTypeSub": "(o que este script faz)",
"hostChangesRich": "<code>chmod o+rwx</code> + <code>setfacl o::rwx</code> no diretório da máquina. Os UIDs mapeados do CT (100000+) caem no balde \"outros\", então abrir o <em>outros</em> é suficiente.",
"hostWhen": "Acesso genérico a pastas partilhadas de qualquer CT. Vários CTs que partilham o mesmo directório da máquina. Simples e reutilizável.",
"idmapTypeRich": "<code>lxc.idmap</code>",
"idmapTypeSub": "(não utilizado por este programa)",
"idmapChangesRich": "Mapeamento personalizado de UID/GID em <code>/etc/pve/lxc/&lt;CTID&gt;.conf</code> mais entradas correspondentes de <code>/etc/subuid</code> + <code>/etc/subgid</code> na máquina. CT deve ser reiniciado em cada mudança.",
"idmapWhenRich": "Você precisa de um UID <em>específico</em> dentro do CT para mapear para um UID <em>específico</em> no host (por exemplo: <code>media:1000</code> no CT deve possuir arquivos como <code>media:1000</code> no host para que NFS não squash). Uma configuração mais rígida, normalmente só vale a pena para esse cenário exato.",
"idmapTipTitle": "Quando você realmente precisa de lxc.idmap",
"idmapTipBody": "Use mapeamento manual quando arquivos gravados no CT precisarem aparecer no host com um UID/GID numérico específico, por exemplo para compartilhar proprietário com um usuário do host. Isso não ignora <code>all_squash</code> do NFS; o servidor ainda decide a identidade anônima e os privilégios. Adicione entradas <code>lxc.idmap</code> manualmente se necessário. A linha do bind mount é independente dessas entradas."
},
"opening": {
"heading": "Abrir a ferramenta",
"body": "Do menu principal do ProxMenux, abra o <strong>Storage &amp; Share Manager → Configure pontos de montagem LXC (Host ↔ Container)</strong>. Você verá este sub-menu com três opções:",
"imageAlt": "Menu do gestor de montagem LXC — Adicionar / Ver / Remover"
},
"addFlow": {
"heading": "Adicionar uma montagem — fluxo total",
"intro": "A visão técnica, para quando você deseja saber exatamente o que cada diálogo faz:"
},
"sources": {
"heading": "O que você pode escolher como diretório de máquina",
"intro": "O seletor de diretório do host é o mais completo na seção Armazenamento &amp; Share. Analisa quatro fontes e apresenta uma lista deduplicada:",
"headerSource": "Origem",
"headerWhere": "De onde vem",
"headerLabel": "Rótulo no menu",
"rows": [
{
"source": "Montagens de rede ativa",
"whereRich": "Compartilhamentos CIFS / NFS atualmente montados, lidos de <code>/proc/mounts</code>.",
"labelRich": "<code>NFS [used/size]</code> ou <code>CIFS/SMB [used/size]</code>"
},
{
"source": "Montagens de fstab inactivas",
"whereRich": "Definido em <code>/etc/fstab</code> mas não montado atualmente.",
"labelRich": "<code>fstab(off)-NFS</code> / <code>fstab(off)-CIFS/SMB</code>"
},
{
"source": "Directórios locais",
"whereRich": "Directórios Sub sob <code>/mnt</code> que não são montagens de rede.",
"labelRich": "<code>Local [size]</code>"
},
{
"source": "Armazenagens Proxmox",
"whereRich": "Caminhos de armazenamento sob <code>/mnt/pve/*</code> (NFS / CIFS registrados via <code>pvesm</code>).",
"labelRich": "<code>PVE-NFS</code> / <code>PVE-CIFS/SMB</code> / <code>Proxmox-Storage</code>"
},
{
"source": "Entrada manual",
"where": "Qualquer outra coisa — digite você mesmo o caminho absoluto.",
"labelRich": "<em>Inserir caminho manualmente</em>"
}
],
"tipTitle": "Caminhos internos do Proxmox são filtrados",
"tipBody": "O catador ignora explicitamente os caminhos internos do Proxmox (<code>/mnt/pve/local</code>, <code>/mnt/pve/local-lvm</code>, <code>/mnt/pve/backup</code>, ...) — esses estão reservados para os internos do Proxmox e você não deve ligá-los. Apenas os armazenamentos adicionados ao utilizador aparecem."
},
"manual": {
"heading": "Equivalente manual",
"privIntro": "Para um recipiente privilegiado — o caso mais simples, sem truques de permissão:",
"unprivLocalIntro": "Para um contêiner sem privilégios com uma pasta de máquinas local — abra as permissões na máquina primeiro:",
"unprivCifsIntro": "Para um recipiente sem privilégios com uma partilha CIFS já montada na máquina:"
},
"view": {
"heading": "Ver pontos de montagem",
"body": "Lista todas as entradas <code>mpN</code> em cada recipiente neste host Proxmox, agrupados por CT id e mostrando caminho do host → caminho do container além de quaisquer opções extras. Somente leitura — útil como uma verificação de sanidade antes de adicionar ou remover qualquer coisa."
},
"remove": {
"heading": "Remover um ponto de montagem",
"body": "Escolha o contentor, escolha a entrada <code>mpN</code>, confirme. O script executa <code>pct set --delete mpN</code> para soltar a entrada da configuração CT e oferece para reiniciar o recipiente se estiver em execução. O diretório host e seu conteúdo são <strong>preservados</strong> — você pode re-adicionar o monte mais tarde (ou anexar o mesmo diretório a um outro CT).",
"warnTitle": "Recipientes em funcionamento ao vivo precisam de ser reiniciados para que as alterações produzam efeitos",
"warnBody": "Ambos adicionando e removendo pontos de montagem só se tornam visíveis dentro do recipiente após um reinício. O script oferece um clique <code>pct reboot</code> no final de cada operação; você pode recusar e reiniciar manualmente mais tarde."
},
"troubleshoot": {
"heading": "Resolução de Problemas",
"noMountTitle": "A montagem aparece em pct config, mas não dentro do contentor",
"noMountBody": "As montagens de ligação só se ligam quando o contentor começa. Se você adicionou a montagem enquanto o CT estava em execução, reinicie-a (<code>pct reboot &lt;ctid&gt;</code>). Se já estiver reiniciado e ainda estiver em falta, verifique <code>pct config &lt;ctid&gt;</code> para confirmar que o item existe e o caminho da máquina contém um diretório.",
"noWriteTitle": "Container pode ver o diretório, mas não pode escrever",
"noWriteBody": "Quase sempre uma questão de permissões. Para contêineres não privilegiados, execute a correção de permissão do script novamente — os ACLs do diretório host podem ter sido reiniciados por outra ferramenta (rsync, restauração de backup, manual <code>chmod</code>). Para o CIFS, verifique novamente as opções de montagem no host: <code>findmnt /mnt/pve/cifs-…</code>, procure por valores <code>uid=</code> / <code>gid=</code> / <code>file_mode=</code>.",
"alreadyTitle": "\"Este caminho já é usado como ponto de montagem neste recipiente\"",
"alreadyBody": "Escolheste o mesmo caminho que já está ligado a um directório de máquinas diferente. Escolha um caminho diferente do recipiente ou remova primeiro o ponto de montagem existente.",
"nfsTitle": "Acesso NFS bloqueado mesmo após a aplicação da correção host",
"nfsIntro": "Seu servidor NFS está esmagando root ou todas as conexões. O script pode detectar isso (ele tenta escrever um arquivo de teste do host) e mostra orientação do lado do servidor. Duas correções comuns do lado do servidor para a exportação:",
"nfsItems": [
"<code>no_root_squash</code> — CTs privilegiados podem escrever diretamente.",
"<code>all_squash,anonuid=65534,anongid=65534</code> — para CTs sem privilégios."
],
"nfsOutro": "Essas alterações acontecem no servidor NFS (TrueNAS, Synology, sua exportação personalizada, ...), não no Proxmox.",
"fstabOffTitle": "Montar entradas \"fstab( off)\" não faz nada",
"fstabOffBody": "O seletor mostra entradas <code>fstab(off)-</code> quando uma montagem de rede é definida em fstab mas não é montada atualmente. O script permite- lhe vincular- montar o caminho, mas o diretório estará vazio até que você realmente monte o compartilhamento (<code>mount &lt;path&gt;</code> na máquina). Monta-o primeiro, depois liga-o ao CT."
},
"related": {
"heading": "Relacionado",
"items": [
{
"href": "/docs/storage-share/host-local-shared",
"label": "Adicionar a Pasta Partilhada na Máquina",
"tailRich": " — primeiro passo típico: preparar um <code>/mnt/shared</code> no hospedeiro antes de o ligar em uma ou mais CTs aqui."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "Adicionar a partilha NFS como armazenamento Proxmox",
"extraHref": "/docs/storage-share/host-samba",
"extraLabel": "Adicionar a partilha Samba como armazenamento Proxmox",
"joiner": " / ",
"tailRich": " — registar um compartilhamento externo no Proxmox primeiro, em seguida, ligar-montar o seu caminho <code>/mnt/pve/&lt;id&gt;</code> para o CT aqui."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "Cliente NFS em LXC",
"extraHref": "/docs/storage-share/lxc-samba-client",
"extraLabel": "Cliente Samba em LXC",
"joiner": " / ",
"tail": " — a alternativa quando pretende que o próprio CT monte o compartilhamento (requer um contentor privilegiado)."
}
]
}
}
@@ -0,0 +1,128 @@
{
"meta": {
"title": "NFS cliente em LXC | ProxMenux Documentação",
"description": "Monte compartilhamentos NFS diretamente em um contêiner LXC Proxmox com o ProxMenux. Instala nfs-common automaticamente, oferece descoberta na LAN, montagens persistentes via /etc/fstab e padrões de inicialização seguros. Exige um contêiner com privilégios.",
"ogTitle": "NFS cliente em LXC | ProxMenux Documentação",
"ogDescription": "Monte compartilhamentos NFS em um contêiner LXC com privilégios. Descoberta automática, persistência em /etc/fstab e padrões de inicialização seguros."
},
"header": {
"title": "Cliente NFS em LXC",
"description": "Monte compartilhamentos NFS diretamente de dentro de um recipiente Proxmox LXC. O container torna-se um cliente NFS real — fala com o servidor NFS através da rede, executa mount.nfs, escreve para /etc/fstab. ProxMenux instala nfs-common para você, ajuda você a encontrar servidores e exportações, e aplica padrões de inicialização seguros.",
"section": "Armazenamento e Compartilhamento · LXC"
},
"privReq": {
"title": "Recipiente privilegiado necessário",
"body": "O cliente do kernel <code>mount.nfs</code> precisa de recursos (<code>SYS_ADMIN</code> no mínimo) que os recipientes LXC desprivilegiados não expõem. O script impõe isso — ele pede que você escolha um CT e <strong>interrompe a execução se ele não for privilegiado</strong>. Se você precisar da partilha dentro de um CT sem privilégios, monte-a no host Proxmox primeiro (com a partilha <hostNfsLink>NFS como armazenamento Proxmox</hostNfsLink>) e ligue-a ao CT com o gestor de montagem <mountLink>LXC</mountLink>."
},
"what": {
"heading": "O que isto faz",
"body": "Ao contrário do LXC Mount Manager — o que faz com que o CT veja algo <em>via</em> o host Proxmox — este script dá ao contêiner seu <strong>próprio cliente NFS</strong>: ele fala NFS sobre a rede, monta compartilhamentos diretamente do servidor NFS, e armazena a montagem no <code>/etc/fstab</code> do contêiner. A máquina Proxmox não está no caminho dos dados.",
"diagramServerLabel": "Servidor NFS",
"diagramServerDetail": "/export/data",
"diagramHostLabel": "Host Proxmox",
"diagramHostDetail": "(apenas uma\nponte de rede)",
"diagramCtLabel": "LXC (com privilégios)",
"diagramCtDetail": "/mnt/data\nmount.nfs dentro do CT",
"diagramArrow": "NFS",
"twoWaysTitle": "Duas maneiras de dar um acesso CT NFS — escolha uma",
"twoWaysBind": "<strong>Bind mount pelo host</strong> (<mountLink>LXC Mount Manager</mountLink>): o host monta NFS uma vez e cada CT recebe o mesmo caminho por bind mount. Funciona com CTs sem privilégios. Recomendado quando vários CTs precisam do mesmo compartilhamento.",
"twoWaysDirect": "<strong>Montagem NFS direta no CT</strong> (esta página): o CT monta NFS por conta própria. Exige um CT com privilégios. Útil quando o CT precisa gerenciar sua própria conexão e credenciais ou quando cada CT usa um servidor diferente."
},
"opening": {
"heading": "Abrir a ferramenta",
"body": "Do menu principal do ProxMenux, abra o <strong>Storage &amp; Share Manager → Configure o cliente NFS em LXC (somente privilegiado)</strong>. O ProxMenux primeiro pede- lhe para escolher o <strong> alvo CT</strong> (e inicia- o se parar); aborta se não tiver privilégios. Uma vez que o CT é selecionado, você vê este sub-menu:",
"imageAlt": "Menu do Gerenciador de Clientes NFS — Montagem / Vista / Desmontagem / Conectividade de teste"
},
"howRuns": {
"heading": "Como o script é executado (Fluxo do Monte)"
},
"fstabFlags": {
"heading": "Por que essas bandeiras fstab",
"intro": "Para montagens permanentes o script adiciona três bandeiras além das opções padrão NFS: <code>_netdev,x-systemd.automount,noauto</code>. Cada um resolve um problema de tempo de inicialização real:",
"headerFlag": "Bandeira",
"headerEffect": "O que ele faz",
"rows": [
{
"flag": "_netdev",
"effect": "Informa ao sistema de inicialização que a montagem precisa da rede. A inicialização não fica esperando essa montagem antes de a rede estar disponível."
},
{
"flag": "x-systemd.automount",
"effectRich": "Cria uma unidade de montagem automática systemd: a montagem só acontece na primeira vez que algo acessa o <code>/mnt/&lt;path&gt;</code>. O servidor NFS não acessível no arranque não para o servidor CT."
},
{
"flag": "noauto",
"effect": "Evita a montagem imediata na inicialização. Com a unidade automount acima, a montagem só ocorre no primeiro acesso."
}
],
"netEffectTitle": "Efeito líquido",
"netEffectBody": "O sistema de arquivos NFS é montado no <em>primeiro acesso</em> em vez de imediatamente durante a inicialização. Se o servidor estiver offline, o acesso pode esperar ou falhar e afetar serviços que dependem do caminho. Automount reduz a dependência na inicialização, mas não garante que todos os serviços do CT fiquem imunes a uma falha NFS."
},
"manual": {
"heading": "Equivalente manual",
"body": "Replicar todo o fluxo à mão – cada comando roda <strong> dentro do CT</strong> via <code>pct exec &lt;ctid&gt; --</code> ou diretamente via <code>pct enter &lt;ctid&gt;</code>:"
},
"view": {
"heading": "Ver as montagens actuais",
"body": "Lista cada ponto de montagem NFS ativo dentro do CT (<code>mount | grep nfs</code>) mais cada linha NFS no CT <code>/etc/fstab</code>. Para cada entrada do fstab, o status de montagem ao vivo é mostrado — útil para detectar montagens permanentes que não apareceram no boot."
},
"unmount": {
"heading": "Desmontar a partilha NFS",
"body": "Combina as montagens ativas e as entradas do fstab em uma lista, permite escolher uma e <strong>remove a linha correspondente de <code>/etc/fstab</code></strong>. O script <em>não</em> executa <code>umount</code> na montagem ativa. Em vez disso, ele informa que uma reinicialização CT é necessária para que a desmontagem entre em vigor.",
"warnTitle": "O script remove entradas do fstab, sem desmontar os sistemas de arquivos ativos",
"warnBody": "Esta é uma escolha de design deliberada: <code>umount</code> em uma montagem ocupada falha com \"dispositivo ocupado\" quando algo dentro do CT ainda está usando. A remoção da entrada do fstab garante que a montagem desapareça de forma limpa no próximo início do CT. Se você quiser a montagem desfeita <em>agora</em> e você tem certeza de que nada está usando-o, execute <code>pct exec &lt;ctid&gt; -- umount /mnt/&lt;path&gt;</code> à mão após o script terminar."
},
"test": {
"heading": "Teste de conectividade NFS",
"body": "Passo diagnóstico dentro do CT: confirma <code>nfs-common</code> está instalado, <code>rpcbind</code> está em execução, lista as montagens atuais NFS, em seguida, itera sobre cada servidor NFS referenciado em fstab e verifica ping → porta 2049 → <code>showmount -e</code>. Boa primeira paragem quando uma montagem permanente falha em subir."
},
"troubleshoot": {
"heading": "Resolução de Problemas",
"privTitle": "Contêiner com privilégios necessário (o script interrompe a execução)",
"privBody": "O CT selecionado não tem privilégios. O cliente do kernel NFS precisa de capacidade <code>SYS_ADMIN</code> que CTs desprivilegiadas não expõem. Ou converter o CT para a página privilegiada (Disco Manager &amp; conversão está documentada no disco <importLink>Importar para LXC</importLink>) ou usar o caminho alternativo descrito no aviso no topo desta página.",
"aptTitle": "apt-get install nfs-common fails",
"aptIntro": "O script assume uma família Debian CT (<code>apt-get</code>). Se o CT roda Alpine / Arch / Rocky / Alma, o passo de instalação falha silenciosamente. Instale o cliente NFS manualmente para essa distribuição:",
"aptItems": [
"Alpine: <code>apk add nfs-utils</code>",
"Arch: <code>pacman -S nfs-utils</code>",
"Rocky / Alma: <code>dnf install nfs-utils</code>"
],
"aptOutro": "Em seguida, execute novamente o script ProxMenux — o passo de instalação salta quando as ferramentas já estão presentes.",
"portTitle": "\"NFS port (2049) is not accessible\"",
"portBody": "O Ping teve sucesso, mas o <code>nc -z &lt;server&gt; 2049</code> falhou de dentro do CT. Verifique se o serviço NFS está em execução no servidor, que o firewall permite o 2049 da rede do CT, e que o CT realmente tem uma rota de rede válida (Tente <code>pct exec &lt;ctid&gt; -- ip route</code>).",
"bootTitle": "A montagem permanente tem sucesso mas não aparece no arranque",
"bootBody": "Quase sempre uma de: a rede não está pronta quando o CT monta (as bandeiras <code>_netdev,x-systemd.automount,noauto</code> do script corrigem isto — reajustar a montagem através do script se você escreveu a linha fstab à mão sem elas), o servidor não é acessível no arranque (auto-mount espera pelo primeiro acesso — isso é normal), ou DNS não está resolvido no arranque (use o IP do servidor, não o seu nome de máquina).",
"squashTitle": "Servidor squashes root, sem acesso de gravação de dentro CT",
"squashIntro": "A exportação NFS usa <code>root_squash</code> (o padrão) e o CT escreve como root. Duas opções:",
"squashItems": [
"Lado do servidor: alterar a exportação para <code>no_root_squash</code> (apenas se você confiar no CT).",
"No CT: grave como um usuário não root aceito pelo servidor ou ajuste o proprietário do compartilhamento com chown."
],
"squashOutro": "ProxMenux não pode corrigir isso — é política de servidor."
},
"related": {
"heading": "Relacionado",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Pontos de montagem LXC (Host ↔ Container)",
"tail": " — a alternativa para os TAC não privilegiados: montagem no hospedeiro, ligação em CT."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Cliente Samba em LXC",
"tail": " — página relacionada com o mesmo padrão para compartilhamentos SMB / CIFS."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"label": "Servidor NFS em LXC",
"tailRich": " — o inverso: expor pastas <em>de</em> um CT por NFS."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "Compartilhamento NFS como armazenamento Proxmox",
"tail": " — registrar o compartilhamento no próprio Proxmox em vez de dentro de um único CT."
}
]
}
}
@@ -0,0 +1,159 @@
{
"meta": {
"title": "Servidor NFS em LXC − Documentação ProxMenux",
"description": "Compartilhe pastas por NFS a partir de um contêiner LXC Proxmox com o ProxMenux. Instala nfs-kernel-server automaticamente e configura o grupo comum sharedfiles, /etc/exports, ACLs de rede e desinstalação completa. Exige um contêiner com privilégios.",
"ogTitle": "Servidor NFS em LXC − Documentação ProxMenux",
"ogDescription": "Execute um servidor NFS em um LXC com privilégios, com o grupo comum sharedfiles, ACLs de rede e desinstalação completa."
},
"header": {
"title": "Servidor NFS em LXC",
"description": "Execute um servidor NFS do kernel em um contêiner LXC Proxmox e disponibilize pastas a outras máquinas da rede. O ProxMenux instala nfs-kernel-server, configura o grupo comum sharedfiles para facilitar o compartilhamento entre vários CTs com privilégios, gerencia /etc/exports e oferece desinstalação completa.",
"section": "Armazenamento e Compartilhamento · LXC"
},
"privReq": {
"title": "Recipiente privilegiado necessário",
"body": "<code>nfs-kernel-server</code> precisa montar o sistema de arquivos do kernel <code>nfsd</code> em <code>/proc/fs/nfsd</code>. Isso exige <code>CAP_SYS_ADMIN</code> no espaço de nomes do kernel do host, não apenas no espaço de usuários do contêiner. LXC sem privilégios não têm essa capacidade: <code>rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory)</code>; o systemd indica falha de dependência em <code>nfs-server.service</code>. O script exige um CT com privilégios e <strong>interrompe a execução se o CT não tiver privilégios</strong>. Outra opção é executar o servidor NFS em uma VM."
},
"what": {
"heading": "O que isto faz",
"body": "É o sentido inverso da página de <em>cliente NFS</em>: o CT se torna um <strong>servidor NFS</strong> e disponibiliza uma pasta própria a outros CTs, ao host Proxmox, a VMs ou a máquinas físicas.",
"diagramServerLabel": "LXC (privilegiado) — Servidor NFS",
"diagramServerDetail": "/mnt/data\n(pasta compartilhada)\n\nchown root:sharedfiles\nchmod 2775 (SGID)\n\nnfs-kernel-server\n+ rpcbind em execução",
"diagramClientLabel": "Qualquer cliente na rede",
"diagramClientDetail": "outro CT, o host,\num VM, uma máquina física…",
"diagramArrow": "Exportação NFS"
},
"shared": {
"heading": "O grupo comum « sharedfiles »",
"body": "Antes de exportar a pasta, ProxMenux cria um grupo chamado <code>sharedfiles</code> com <strong>GID 101000</strong> dentro do recipiente, adiciona cada usuário regular para ele, em seguida, define o diretório de exportação para <code>root:sharedfiles</code> com modo <code>2775</code>. O <code>2</code> na frente é o bit SGID — cada arquivo ou pasta criado dentro automaticamente herda o grupo <code>sharedfiles</code>.",
"gidTitle": "Por que GID 101000 especificamente",
"gidBody": "Com o mapeamento padrão de IDs do LXC (+100000), o GID 101000 do host aparece como GID <strong>1000</strong> em um CT sem privilégios. Este fluxo de servidor usa um CT <strong>com privilégios</strong>, sem deslocamento. Dois CTs com privilégios que usem <code>sharedfiles</code> com GID 101000 compartilham o mesmo ID numérico de grupo.",
"remapTitle": "A criação legada de usuários «remap_*» é ignorada em CTs com privilégios",
"remapBody": "O ramo legado para CTs sem privilégios criaria usuários <code>remap_&lt;uid&gt;</code> com UID <code>&lt;uid&gt; + 100000</code>, todos em <code>sharedfiles</code>, para usuários comuns e UIDs habituais (33, 1000, 1001, 1002). Esse deslocamento <code>+100000</code> não se aplica aos CTs <strong>com privilégios</strong> exigidos aqui, então o script ignora o ramo. A ausência de contas <code>remap_*</code> em <code>getent passwd</code> é esperada e não indica falha."
},
"defaults": {
"heading": "Opções de exportação padrão — leia isto primeiro",
"warnTitle": "Opções padrão incluem no_root_squash",
"warnBody": "O ProxMenux usa por padrão <code>rw,sync,no_subtree_check,'<'strong'>'no_root_squash'<'/strong'>'</code>. <strong>Qualquer usuário root de um cliente pode gravar como root na exportação.</strong> Use isso apenas em uma LAN doméstica confiável. Se o CT for acessível por uma rede não confiável (VPS ou VLAN não confiável), <strong>troque a opção por <code>root_squash</code></strong> no diálogo de opções personalizadas."
},
"opening": {
"heading": "Abrir a ferramenta",
"body": "No menu principal, abra <strong>Storage & Share Manager → Configure NFS Server in LXC</strong>. Apenas CTs com privilégios são listados. Escolha o CT de destino; o script o inicia se estiver parado e recusa CTs sem privilégios. O menu oferece cinco opções.",
"imageAlt": "NFS Server Manager menu — Criar / Ver / Apagar / Estado / Desinstalar"
},
"howRuns": {
"heading": "Como o script é executado (Criar fluxo)"
},
"network": {
"heading": "Rede ACL — quem pode montar a partilha",
"intro": "<code>/etc/exports</code> define quais clientes podem montar a exportação. O diálogo oferece três modos:",
"headerMode": "Modo",
"headerValue": "Valor escrito em /etc/exports",
"headerWhen": "Quando o escolher",
"rows": [
{
"mode": "Rede local",
"value": "192.168.0.0/16",
"whenRich": "Para redes domésticas ou SOHO comuns. Abrange todos os endereços <code>192.168.*.*</code>."
},
{
"mode": "Sub- rede personalizada",
"value": "o seu CIDR (por ex. 10.0.0.0/24)",
"when": "Quando sua LAN não está em 192.168.x.x ou você quer um escopo mais apertado."
},
{
"mode": "Uma máquina",
"value": "o seu IP (por exemplo: 10.0.0.42)",
"when": "Apenas uma máquina específica deve montar. Muito restritivo."
}
]
},
"options": {
"heading": "Opções de exportação explicadas",
"headerOption": "Opção",
"headerEffect": "O que ele faz",
"rows": [
{
"option": "rw / ro",
"effect": "Permitir o acesso de leitura-escrita ou somente leitura para conectar clientes."
},
{
"option": "sync",
"effectRich": "Responde às solicitações de gravação somente depois que os dados estão no disco. Mais seguro que <code>async</code>, com perda de desempenho."
},
{
"option": "no_subtree_check",
"effect": "Ignora a verificação, em cada solicitação, de que o arquivo ainda está na subárvore exportada. É mais rápido e evita problemas quando arquivos são renomeados durante a operação."
},
{
"option": "no_root_squash",
"effectRich": "<strong>Confia no root do cliente.</strong> Um cliente que monta como root grava como root no servidor. Útil em LANs confiáveis, por exemplo para preservar proprietários nos backups. Substitua por <code>root_squash</code> se não confiar totalmente em todas as máquinas autorizadas pela ACL de rede."
}
]
},
"manual": {
"heading": "Equivalente manual",
"body": "Replicar todo o fluxo à mão – cada comando roda <strong> dentro do CT</strong> via <code>pct exec &lt;ctid&gt; --</code> ou <code>pct enter &lt;ctid&gt;</code>:"
},
"view": {
"heading": "Ver as exportações actuais",
"body": "Exibe <code>/etc/exports</code> de dentro do CT, ignorando comentários e linhas vazias, e mostra cada exportação com sua ACL de rede e opções. Útil para verificar as pastas expostas antes de compartilhar o IP do CT."
},
"delete": {
"heading": "Apagar uma exportação",
"body": "Lista cada linha em <code>/etc/exports</code> para seleção, remove a escolhida (<code>sed -i</code>), executa <code>exportfs -ra</code> e reinicia <code>nfs-kernel-server</code>. A pasta em si e seu conteúdo ficam intactos."
},
"status": {
"heading": "Verificar o estado do NFS",
"body": "Passe diagnóstico: confirma <code>nfs-kernel-server</code> e <code>rpcbind</code> estão instalados e ativos, imprime saída <code>exportfs -v</code>, lista sessões de NFS ativos (<code>showmount -a</code>) e conexões atuais do cliente."
},
"uninstall": {
"heading": "Desinstalar servidor NFS",
"body": "Limpeza completa após confirmação: para e desativa <code>nfs-kernel-server</code> e <code>rpcbind</code>, esvazia <code>/etc/exports</code>, remove os pacotes NFS com <code>apt-get purge</code>, remove o grupo <code>sharedfiles</code> e os usuários <code>remap_*</code> e encerra processos restantes. As <strong>pastas exportadas não são apagadas</strong>; apenas a configuração NFS e os pacotes são removidos.",
"warnTitle": "O script pára na linha de exportação, não nos dados",
"warnBody": "<em>Excluir exportação</em> e <em>Desinstalar servidor NFS</em> removem a configuração da exportação. Os dados da pasta são preservados. Para apagá-los também, use explicitamente <code>rm -rf</code> após o término do script e faça backup antes se alguém ainda puder precisar deles."
},
"troubleshoot": {
"heading": "Resolução de Problemas",
"privTitle": "Exige um contêiner com privilégios (o script interrompe a execução)",
"privBody": "O CT selecionado não tem privilégios. <code>nfs-kernel-server</code> não pode começar aí porque a montagem <code>/proc/fs/nfsd</code> exige <code>CAP_SYS_ADMIN</code> no espaço de nomes do kernel da máquina, e na <code>nfsd</code> o módulo também não está exposto ao espaço de nomes do contêiner (<code>modprobe nfsd</code> de dentro retorna <code>FATAL: Module nfsd not found</code>). Se ignorar a verificação, verás <code>rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory)</code> no diário e nenhuma porta NFS será aberta. As únicas opções viáveis são: converter o CT para privilegiado, ou mover o NFS servidor para uma VM.",
"aptTitle": "apt-get install falha",
"aptIntro": "O script assume uma família Debian CT. No Alpine / Arch / Rocky / Alma, instale os pacotes do servidor NFS à mão:",
"aptItems": [
"Alpine: <code>apk add nfs-utils</code>",
"Arch: <code>pacman -S nfs-utils</code>",
"Rocky / Alma: <code>dnf install nfs-utils</code>"
],
"aptOutro": "Execute novamente o script ProxMenux; a instalação é ignorada quando as ferramentas já estão presentes.",
"aclTitle": "O cliente não pode montar: 'acesso negado pelo servidor'",
"aclBody": "O IP do cliente está fora da ACL de rede configurada. Recrie a exportação com uma sub-rede maior ou adicione o IP exato do cliente. Atenção: por meio de NAT, o cliente pode aparecer com o IP WAN do roteador em vez do próprio IP LAN. Verifique no servidor com <code>tcpdump -n port 2049</code>.",
"ownTitle": "Os arquivos escritos pelo cliente aparecem com propriedade estranha no servidor",
"ownIntro": "Duas possibilidades:",
"ownItems": [
"Com <code>no_root_squash</code> (padrão), o cliente root escreve como root no servidor. Os arquivos são de propriedade do <code>root:sharedfiles</code> graças ao SGID na pasta.",
"Usuários não-root do cliente escrevem como seu próprio UID/GID. Se seu UID não existe no servidor, os arquivos aparecem com números brutos (por exemplo: <code>1234:1234</code>). Use o grupo <code>sharedfiles</code> no cliente também, ou alinhem UIDs nos sistemas que compartilham arquivos."
],
"noShowTitle": "Servidor acessível mas showmount não devolve nada",
"noShowBody": "Depois de editar <code>/etc/exports</code>, você deve recarregar a tabela de exportação com <code>exportfs -ra</code> e reiniciar <code>nfs-kernel-server</code> — o script faz ambos, mas se você editou o arquivo à mão, faça você mesmo. Também confirmar o firewall no CT (e no host Proxmox) permite TCP/UDP 2049 e na porta rpcbind (111)."
},
"related": {
"heading": "Relacionado",
"items": [
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "Cliente NFS em LXC",
"tail": " — o inverso: montar compartilhamentos NFS externos no CT."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"label": "Servidor Samba em LXC",
"tail": " — página relacionada, mesmo padrão com SMB / CIFS em vez de NFS."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "Compartilhamento NFS como armazenamento Proxmox",
"tailRich": " — quando o CT estiver exportando, registre o compartilhamento NFS no Proxmox para que apareça em <em>Datacenter → Storage</em>."
}
]
}
}
@@ -0,0 +1,155 @@
{
"meta": {
"title": "Cliente Samba em LXC | ProxMenux Documentação",
"description": "Monte compartilhamentos Samba / CIFS em um contêiner LXC Proxmox com o ProxMenux. Instala cifs-utils e smbclient automaticamente e oferece descoberta de servidores, armazenamento protegido de credenciais e montagens persistentes via /etc/fstab. Exige um contêiner com privilégios.",
"ogTitle": "Cliente Samba em LXC | ProxMenux Documentação",
"ogDescription": "Monte compartilhamentos Samba / CIFS em um contêiner LXC com privilégios. Descoberta automática, arquivo de credenciais protegido e persistência em /etc/fstab."
},
"header": {
"title": "Cliente Samba em LXC",
"description": "Monte compartilhamentos Samba (SMB / CIFS) diretamente de dentro de um recipiente Proxmox LXC. O container torna-se um cliente CIFS real — fala com o servidor Samba através da rede, executa mount.cifs, armazena credenciais com segurança e escreve para /etc/fstab. ProxMenux instala cifs-utils + smbclient para você e valida credenciais contra o servidor antes de montar.",
"section": "Armazenamento e Compartilhamento · LXC"
},
"privReq": {
"title": "Recipiente privilegiado necessário",
"body": "O cliente do kernel <code>mount.cifs</code> precisa de recursos (<code>SYS_ADMIN</code> no mínimo) que os recipientes LXC desprivilegiados não expõem. O script impõe isso — ele pede que você escolha um CT e <strong>interrompe a execução se ele não for privilegiado</strong>. Se você precisar da partilha dentro de um CT sem privilégios, monte-a no host Proxmox primeiro (com a partilha <hostSambaLink>Samba / CIFS como armazenamento Proxmox</hostSambaLink>) e ligue-a ao CT com o gestor de montagem <mountLink>LXC</mountLink>."
},
"what": {
"heading": "O que isto faz",
"body": "O contêiner fala CIFS através da rede e monta a partilha por conta própria. O host Proxmox é apenas a ponte de rede — ele não vê ou gerencia a montagem.",
"diagramServerLabel": "Servidor Samba",
"diagramServerDetail": "//srv/share",
"diagramHostLabel": "Host Proxmox",
"diagramHostDetail": "(apenas uma\nponte de rede)",
"diagramCtLabel": "LXC (com privilégios)",
"diagramCtDetail": "/mnt/share\nmount.cifs dentro de CT",
"diagramArrow": "CIFS",
"twoWaysTitle": "Duas maneiras de dar um CT uma quota Samba — escolha uma",
"twoWaysBind": "<strong>Bind mount pelo host</strong> (<mountLink>LXC Mount Manager</mountLink>): o host monta CIFS uma vez e cada CT recebe o mesmo caminho por bind mount. Funciona com CTs sem privilégios. Recomendado quando vários CTs precisam do mesmo compartilhamento.",
"twoWaysDirect": "<strong>Montagem CIFS direta no CT</strong> (esta página): o CT monta CIFS por conta própria. Exige um CT com privilégios. Útil quando cada CT deve gerenciar suas credenciais ou usar um servidor diferente."
},
"opening": {
"heading": "Abrir a ferramenta",
"body": "Do menu principal do ProxMenux, abra o <strong>Storage &amp; Share Manager → Configure o cliente Samba em LXC (somente privilegiado)</strong>. O ProxMenux primeiro pede- lhe para escolher o <strong> alvo CT</strong> (e inicia- o se parar); aborta se não tiver privilégios. Uma vez que o CT é selecionado, você vê este sub-menu:",
"imageAlt": "Menu Samba Client Manager — Montar / Ver / Desmontar / Teste de conectividade"
},
"howRuns": {
"heading": "Como o script é executado (Fluxo do Monte)"
},
"creds": {
"heading": "Onde vive a senha",
"body": "O ProxMenux <strong>não inclui a senha no comando de montagem</strong> nem em <code>/etc/fstab</code>. Cria um arquivo de credenciais no CT. Esse arquivo contém credenciais em texto simples protegidas por permissões somente para root; não é criptografado:",
"whyTitle": "Por que um arquivo separado em vez de fstab",
"whyBody": "O módulo CIFS aceita opções <code>username=</code> / <code>password=</code> em linha em fstab, mas qualquer um que possa ler <code>/etc/fstab</code> vê a senha em claro. Colocar credenciais em um arquivo somente root e apontar fstab para ele (<code>credentials=</code>) mantém a senha fora da configuração legível no mundo."
},
"options": {
"heading": "Opções de montagem explicadas",
"headerOption": "Opção",
"headerEffect": "O que ele faz",
"rows": [
{
"option": "rw / ro",
"effect": "Modo de leitura e gravação ou somente leitura para toda a montagem."
},
{
"option": "file_mode=0664",
"effect": "Permissões relatadas para arquivos via CIFS. O padrão permite ao proprietário + grupo escrever, outros lerem."
},
{
"option": "dir_mode=0775",
"effect": "Permissões relatadas para pastas. O padrão permite que o proprietário + grupo entre e crie, outros atravessam."
},
{
"option": "iocharset=utf8",
"effect": "Força UTF-8 para nomes de arquivos recebidos pela rede, evitando caracteres corrompidos em nomes não ASCII."
},
{
"option": "credentials=file",
"effect": "Leia o nome de usuário / senha do arquivo (adicionado automaticamente para autenticação do usuário)."
},
{
"option": "guest",
"effect": "Autentique como convidado, sem credenciais necessárias (adicionadas automaticamente quando o convidado é escolhido)."
},
{
"option": "_netdev",
"effect": "Diz ao sistema de init que esta montagem precisa da rede. O Boot não bloqueia a espera."
},
{
"option": "x-systemd.automount",
"effect": "Montagem preguiçosa: apenas monta no primeiro acesso. O servidor CIFS não acessível no arranque não para o CT."
},
{
"option": "noauto",
"effect": "Evita a montagem imediata na inicialização. Com a unidade automount, o sistema de arquivos só é montado no primeiro acesso."
}
],
"netEffectTitle": "Efeito líquido das bandeiras fstab",
"netEffectBody": "O sistema de arquivos CIFS é montado no <em>primeiro acesso</em> em vez de imediatamente durante a inicialização. Se o servidor estiver offline, o acesso pode esperar ou falhar e afetar serviços que dependem do caminho. Automount reduz a dependência na inicialização, mas não garante que todos os serviços do CT fiquem imunes a uma falha CIFS."
},
"manual": {
"heading": "Equivalente manual",
"body": "Replicar todo o fluxo à mão – cada comando roda <strong> dentro do CT</strong> via <code>pct exec &lt;ctid&gt; --</code> ou diretamente via <code>pct enter &lt;ctid&gt;</code>:",
"guestIntro": "Variante convidada — nenhum arquivo de credenciais necessário:"
},
"view": {
"heading": "Ver as montagens actuais",
"body": "Lista cada ponto de montagem CIFS ativo dentro do CT (<code>mount -t cifs</code>) mais cada linha CIFS no CT <code>/etc/fstab</code>. Para cada entrada do fstab é mostrado o status de montagem ao vivo — útil para detectar montagens permanentes que não apareceram no boot."
},
"unmount": {
"heading": "Desmontar a partilha do Samba",
"body": "Combina as montagens ao vivo e as entradas fstab em uma lista, permite que você escolha uma, e <strong> remove a linha correspondente de <code>/etc/fstab</code></strong> mais o arquivo de credenciais correspondentes. O script não executa <code>umount</code> na montagem ao vivo — em vez disso, ele lhe diz que uma reinicialização CT é necessária para que a desmontagem faça efeito.",
"warnTitle": "O script remove entradas do fstab, sem desmontar os sistemas de arquivos ativos",
"warnBody": "O mesmo design do cliente NFS: <code>umount</code> em uma montagem movimentada falha com o \"dispositivo ocupado\". A remoção da entrada do fstab garante que a montagem desapareça de forma limpa no próximo início do CT. Se você quiser o <em>agora</em>, execute <code>pct exec &lt;ctid&gt; -- umount /mnt/&lt;path&gt;</code> à mão depois que o script terminar."
},
"test": {
"heading": "Teste a conectividade do Samba",
"body": "Passe diagnóstico dentro do CT: confirma <code>cifs-utils</code> é instalado, lista as montagens CIFS atuais, em seguida, para cada servidor referenciado em fstab verifica ping → portas 139/445 → guest listing. \"Requer autenticação\" no teste convidado é normal para qualquer servidor que não expõe compartilhamentos públicos."
},
"troubleshoot": {
"heading": "Resolução de Problemas",
"privTitle": "Contêiner com privilégios necessário (o script interrompe a execução)",
"privBody": "O CT selecionado não tem privilégios. O cliente do kernel CIFS precisa de capacidade <code>SYS_ADMIN</code> que CTs desprivilegiadas não expõem. Ou converter o CT para privilegiado, ou usar o caminho alternativo descrito no aviso no topo desta página.",
"aptTitle": "apt-get install fails",
"aptIntro": "O script assume uma família Debian CT (<code>apt-get</code>). No Alpine / Arch / Rocky / Alma, instale o cliente CIFS à mão:",
"aptItems": [
"Alpine: <code>apk add cifs-utils samba-client</code>",
"Arch: <code>pacman -S cifs-utils smbclient</code>",
"Rocky / Alma: <code>dnf install cifs-utils samba-client</code>"
],
"aptOutro": "Em seguida, execute novamente o script ProxMenux — o passo de instalação salta quando as ferramentas já estão presentes.",
"guestFallbackTitle": "\"O servidor conectou você como convidado em vez do usuário especificado\"",
"guestFallbackBody": "A validação ativa do script captou um problema real de autenticação. O servidor aceitou a conexão, mas baixou para o hóspede porque as credenciais estão erradas. Causas comuns: erro no nome de usuário / senha, o usuário não existe no servidor, o usuário está bloqueado para fora, ou o grupo de trabalho / domínio é desigual. Execute novamente o fluxo e informe as credenciais com cuidado (a senha está escondida na janela).",
"denyTitle": "\"NT_STATUS_ACCESS_DENIED\" na montagem",
"denyBody": "As credenciais foram validadas, mas o compartilhamento nega acesso. Verifique no lado do servidor se o usuário tem permissões nesse compartilhamento específico (a validação só confirma login, não ACLs por compartilhamento). Verifique também se o servidor requer uma versão específica do protocolo SMB: anexe <code>vers=3.0</code> (ou <code>2.1</code>, <code>2.0</code>) às opções de montagem.",
"utf8Title": "Nomes de arquivos UTF-8 / não ASCII aparecem corrompidos",
"utf8Body": "As opções padrão incluem <code>iocharset=utf8</code>, mas algumas configurações de servidor reportam uma página de código inesperada. Se nomes de arquivos com acentos / símbolos olhar errado, também tente <code>nounix</code> (alguns servidores Linux Samba precisam disso quando o cliente também é Linux) ou definir o lado do servidor para <code>unix extensions = no</code>.",
"bootTitle": "A montagem permanente tem sucesso mas não aparece no arranque",
"bootBody": "Quase sempre uma de: a rede não está pronta quando o CT monta (as bandeiras <code>_netdev,x-systemd.automount,noauto</code> do script corrigem isso), o servidor é inacessível no boot (auto-mount espera pelo primeiro acesso – isso é normal), ou DNS não está resolvido no boot (use o IP do servidor, não seu hostname)."
},
"related": {
"heading": "Relacionado",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Pontos de montagem LXC (Host ↔ Container)",
"tail": " — a alternativa para os TAC não privilegiados: montagem no hospedeiro, ligação em CT."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "Cliente NFS em LXC",
"tail": " — página relacionada com o mesmo padrão para compartilhamentos NFS."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"label": "Servidor Samba em LXC",
"tailRich": " — o inverso: expor pastas <em>de</em> um CT por Samba."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS como armazenamento Proxmox",
"tail": " — registrar o compartilhamento no próprio Proxmox em vez de dentro de um único CT."
}
]
}
}
@@ -0,0 +1,132 @@
{
"meta": {
"title": "Servidor Samba em LXC | ProxMenux Documentação",
"description": "Execute um servidor Samba (SMB / CIFS) em um contêiner LXC Proxmox com o ProxMenux. Instala samba automaticamente e gerencia /etc/samba/smb.conf, usuários smbpasswd e o grupo sharedfiles para pastas em bind mounts. Exige um contêiner com privilégios.",
"ogTitle": "Servidor Samba em LXC | ProxMenux Documentação",
"ogDescription": "Disponibilize pastas por SMB/CIFS de um LXC com privilégios. Instalação automática, usuário smbpasswd e permissões adaptadas a bind mounts."
},
"header": {
"title": "Servidor Samba em LXC",
"description": "Execute um servidor Samba (SMB / CIFS) dentro de um container Proxmox LXC e exponha pastas para clientes Windows / macOS / Linux na rede. ProxMenux instala samba, cria um usuário Samba com smbpasswd, gerencia /etc/samba/smb.conf, e aplica permissões adaptadas a bind mounts quando a pasta compartilhada vem do host.",
"section": "Armazenamento e Compartilhamento · LXC"
},
"privReq": {
"title": "Recipiente privilegiado necessário",
"body": "Samba personifica o usuário de conexão com <code>setgroups()</code> em cada conexão em árvore (no momento em que um cliente abre um compartilhamento). Em um LXC sem privilégios, o kernel rejeita esse syscall porque o espaço de nomes de usuário do container é criado com <code>setgroups=deny</code> — e o <code>smbd</code> responde abortando o processo de worker com <code>PANIC: sys_setgroups failed</code>. O resultado é que o <code>smbd</code> inicia e liga as portas 139/445, mas toda conexão com o cliente falha com o <code>NT_STATUS_CONNECTION_DISCONNECTED</code>. O script impõe um CT privilegiado por esta razão e <strong>interrompe a execução se o CT não tiver privilégios</strong>. Não há correção limpa no lado do servidor; use um CT privilegiado ou execute Samba dentro de uma VM."
},
"what": {
"heading": "O que isto faz",
"body": "O contêiner torna-se um servidor SMB/CIFS: ele roda <code>smbd</code>, expõe uma pasta via <code>/etc/samba/smb.conf</code> e aceita conexões de cliente em portas <code>139</code> / <code>445</code>. Os clientes veem o compartilhamento em <code>\\\\&lt;ct-ip&gt;\\&lt;share-name&gt;</code> no Windows Explorer, <code>smb://&lt;ct-ip&gt;/&lt;share-name&gt;</code> no macOS Finder, ou via <code>mount.cifs</code> no Linux.",
"diagramServerLabel": "LXC (privilegiado) — Servidor Samba",
"diagramServerDetail": "/mnt/data\n(pasta compartilhada)\n\nsmbd + nmbd em execução\n\nUsuário: <username>\n(via smbpasswd)\n\nGrupo imposto:\nsharedfiles",
"diagramClientLabel": "Qualquer cliente na rede",
"diagramClientDetail": "Windows: \\\\<ip>\\<share>\nmacOS: smb://<ip>/<share>\nLinux: mount.cifs",
"diagramArrow": "SMB / CIFS"
},
"perms": {
"heading": "Dois caminhos de permissões, dependendo do tipo de pasta",
"body": "Antes de adicionar o compartilhamento ao <code>smb.conf</code>, o script verifica se a pasta escolhida é uma montagem <strong>bind do host</strong> ou uma pasta <strong>local regular dentro do CT</strong> – e aplica diferentes permissões de propriedade em conformidade:",
"headerType": "Tipo de pasta",
"headerAction": "O que o script faz",
"bindType": "Montagem de ligação da máquina",
"bindTypeSubRich": "detectado através da saída <code>mount</code>",
"bindActionRich": "Cria o grupo <code>sharedfiles</code> (padrão GID 999, dinâmico se tomado), adiciona o usuário Samba a ele, em seguida, <code>chown root:sharedfiles</code> + <code>chmod 2775</code> (SGID — novos arquivos herdam o grupo). Se o usuário ainda não consegue escrever, aplica <code>setfacl -m u:&lt;user&gt;:rwx</code>.",
"localType": "Pasta local dentro do CT",
"localTypeSub": "nenhuma montagem de ligação detectada",
"localActionRich": "Propriedade padrão: <code>chown -R &lt;user&gt;:&lt;user&gt;</code> + <code>chmod -R 755</code>. Nenhum grupo compartilhado é necessário porque nenhum outro CT escreve para esta pasta. Regressa ao <code>setfacl</code> se o acesso de escrita ainda estiver ausente.",
"gidTitle": "GID para 'sharedfiles' difere do fluxo do servidor NFS",
"gidBody": "O script do servidor Samba usa GID <strong>999</strong> para <code>sharedfiles</code>, enquanto o fluxo do servidor <nfsLink>NFS</nfsLink> usa GID <strong>101000</strong>. Se você executar ambos os servidores no mesmo CT e quiser um único grupo compartilhado em ambos os protocolos, edite um deles para corresponder ao outro após a instalação (por exemplo. <code>groupmod -g 101000 sharedfiles</code>) e reaplicar a propriedade nas pastas afetadas. Esta é uma incoerência conhecida nos scripts atuais."
},
"opening": {
"heading": "Abrir a ferramenta",
"body": "No menu principal, abra <strong>Storage & Share Manager → Configure Samba Server in LXC</strong>. Apenas CTs com privilégios são listados. Escolha o CT de destino; o script o inicia se estiver parado e recusa CTs sem privilégios. O menu oferece cinco opções.",
"imageAlt": "Samba Server Manager menu — Criar / Ver / Apagar / Estado / Desinstalar"
},
"howRuns": {
"heading": "Como o script é executado (Criar fluxo)"
},
"modes": {
"heading": "Os três modos de partilha",
"intro": "Cada modo escreve uma seção diferente em <code>smb.conf</code>. Todos os três incluem <code>valid users = &lt;username&gt;</code> (sem anônimo), <code>force group = sharedfiles</code> (então novos arquivos pertencem ao grupo compartilhado) e <code>veto files = /lost+found/</code> (esconde-o de clientes).",
"headerMode": "Modo",
"headerBlock": "Bloco escrito para smb.conf",
"rwMode": "Leitura e escrita",
"roMode": "Somente leitura",
"customMode": "Personalizado",
"customBodyRich": "Você digita suas próprias diretivas em uma caixa de texto livre. ProxMenux ainda os envolve em um bloco <code>[share]</code> com o <code>path</code>, <code>valid users</code>, <code>force group</code> e <code>veto files</code> padrão."
},
"manual": {
"heading": "Equivalente manual",
"body": "Replicar todo o fluxo à mão – cada comando roda <strong> dentro do CT</strong> via <code>pct exec &lt;ctid&gt; --</code> ou <code>pct enter &lt;ctid&gt;</code>:"
},
"connect": {
"heading": "Conexão de clientes",
"headerOs": "Sistema operativo do cliente",
"headerHow": "Como conectar",
"windowsOs": "Windows",
"windowsHowRich": "Explorador de Arquivos → barra de endereço: <code>\\\\&lt;ct-ip&gt;\\&lt;share-name&gt;</code>. Ou <em>Mapear unidade de rede</em> → marque «Conectar usando credenciais diferentes».",
"macosOs": "macOS",
"macosHowRich": "Finder → <em>Ir → Conecte-se ao servidor...</em> → <code>smb://&lt;ct-ip&gt;/&lt;share-name&gt;</code>. Ou <code>mount_smbfs //user@&lt;ct-ip&gt;/&lt;share&gt; /mountpoint</code>.",
"linuxOs": "Linux",
"linuxHowRich": "<code>mount -t cifs //&lt;ct-ip&gt;/&lt;share&gt; /mnt/x -o username=&lt;u&gt;,password=&lt;p&gt;,iocharset=utf8</code>. Ou use o cliente <clientLink>Samba na página LXC</clientLink> se o cliente for outro Proxmox CT."
},
"view": {
"heading": "Ver os compartilhamentos atuais",
"body": "Analisa <code>/etc/samba/smb.conf</code> dentro do CT e lista todos os blocos <code>[share]</code> (passando <code>[global]</code>, <code>[homes]</code>, <code>[printers]</code>) com seu caminho. Útil como um inventário rápido."
},
"delete": {
"heading": "Apagar um compartilhamento",
"body": "Permite escolher um compartilhamento pelo nome, remove o bloco do <code>smb.conf</code> (<code>sed</code> exclui do <code>[share]</code> para a próxima linha em branco), e reinicia o <code>smbd</code>. A pasta em si e seu conteúdo ficam intactos."
},
"status": {
"heading": "Verificar o estado do Samba",
"body": "Relata se o <code>smbd</code> e o <code>nmbd</code> estão instalados e ativos, lista os usuários do Samba (<code>pdbedit -L</code>) e imprime sessões ativas (<code>smbstatus</code>)."
},
"uninstall": {
"heading": "Desinstalar o servidor Samba",
"body": "Limpeza completa após confirmação: para e desativa <code>smbd</code> e <code>nmbd</code>, salva <code>smb.conf</code> em <code>smb.conf.backup.YYYYMMDD_HHMMSS</code>, remove usuários Samba com <code>smbpasswd -x</code> e os pacotes Samba com <code>apt-get purge</code>. As <strong>pastas exportadas não são apagadas</strong>.",
"warnTitle": "Pastas sobrevivem — backup de dados separadamente",
"warnBody": "<em>Excluir compartilhamento</em> e <em>Desinstalar servidor Samba</em> removem a configuração do compartilhamento. Os dados das pastas exportadas são preservados. Para apagá-los também, use explicitamente <code>rm -rf</code> após o término do script."
},
"troubleshoot": {
"heading": "Resolução de Problemas",
"privTitle": "Exige um contêiner com privilégios (o script interrompe a execução)",
"privBody": "O CT selecionado é desprivilegiado e o <code>smbd</code> não pode servir arquivos lá. Se você ignorar a verificação e configurar Samba à mão, <code>smbd</code> começa e as portas abrem, mas a primeira conexão do cliente entra em pânico com <code>PANIC: sys_setgroups failed</code> em <code>/var/log/samba/log.&lt;client&gt;</code> e o cliente vê <code>NT_STATUS_CONNECTION_DISCONNECTED</code>. A causa é o namespace desprivilegiado que tem <code>setgroups=deny</code>, que bloqueia a personificação de Samba por conexão. Nem <code>features=keyctl=1</code> nem remover <code>force user</code> / <code>force group</code> altera isso. As únicas opções viáveis são: converter o CT para privilegiado, ou mover Samba para uma VM.",
"aptTitle": "apt-get install falha",
"aptIntro": "O script assume uma família Debian CT. Em Alpine / Arch / Rocky / Alma, instalar Samba à mão:",
"aptItems": [
"Alpine: <code>apk add samba</code>",
"Arch: <code>pacman -S samba</code>",
"Rocky / Alma: <code>dnf install samba</code>"
],
"aptOutro": "Execute novamente o script ProxMenux; a instalação é ignorada quando as ferramentas já estão presentes.",
"noShareTitle": "O cliente conecta- se mas não consegue ver a partilha",
"noShareBody": "Verifique se o <code>browseable = yes</code> está definido no bloco de partilha (por omissão para os modos rw / ro; pode estar em falta na personalização). Também verifique o firewall CT e o firewall do host Proxmox permitem o TCP 445 (SMB) e o 139 (NetBIOS). Alguns clientes do Windows também exigem resolução de nome — tente o IP diretamente primeiro.",
"authTitle": "Falha na autenticação (NT_STATUS_LOGON_FAILURE)",
"authBody": "A senha está incorreta (as senhas Samba são <em>separadas</em> das do sistema; liste os usuários Samba com <code>pdbedit -L</code>) ou o usuário não consta em <code>valid users</code> para esse compartilhamento. Redefina a senha dentro do CT com <code>smbpasswd &lt;user&gt;</code>.",
"groupTitle": "Os arquivos escritos pelo cliente aparecem com o grupo errado no servidor",
"groupBody": "O script define <code>force group = sharedfiles</code> no bloco de compartilhamento, então novos arquivos devem ser o grupo <code>sharedfiles</code>. Se eles não forem, o bit SGID no diretório pai pode ter sido perdido (alguém correu <code>chmod</code> à mão). Reaplicação: <code>chmod 2775 /mnt/&lt;share&gt;</code>.",
"bothTitle": "Compartilhando a mesma pasta em ambos NFS e Samba",
"bothBody": "ProxMenux usa diferentes GIDs para <code>sharedfiles</code> em cada script (Samba: 999, NFS: 101000). Se você serve a mesma pasta através de ambos, decida sobre um GID e alinhar ambos. A correção mais simples: após executar ambos os scripts, edite o GID menor:"
},
"related": {
"heading": "Relacionado",
"items": [
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Cliente Samba em LXC",
"tail": " — o inverso: montar compartilhamentos Samba externos no CT."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"label": "Servidor NFS em LXC",
"tail": " — página relacionada, mesmo padrão com NFS em vez de CIFS."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS como armazenamento Proxmox",
"tailRich": " — quando o CT estiver exportando, registre o compartilhamento Samba no Proxmox para que apareça em <em>Datacenter → Storage</em>."
}
]
}
}
@@ -0,0 +1,123 @@
{
"meta": {
"title": "Hostiteľ: Pridanie cieľa iSCSI ako úložiska Proxmox | Dokumentácia ProxMenux",
"description": "Zaregistrujte cieľ iSCSI ako úložisko Proxmox cez ProxMenux. Nástroj nainštaluje open-iscsi, vyhľadá ciele portálu cez sendtargets, umožní výber cieľa a spustí pvesm add iscsi. Poskytuje surové blokové zariadenia pre obrazy diskov VM.",
"ogTitle": "Hostiteľ: Pridanie cieľa iSCSI ako úložiska Proxmox | Dokumentácia ProxMenux",
"ogDescription": "Zaregistrujte cieľ iSCSI ako úložisko Proxmox so sprievodcom vyhľadávaním. Používa pvesm add iscsi a poskytuje surové blokové zariadenia pre disky VM."
},
"header": {
"title": "Host: Pridať iSCSI cieľ ako Proxmox úložisko",
"description": "Zaregistrujte iSCSI cieľ (z SAN, TrueNAS / FreeNAS, Synology, Windows Server cieľ, akékoľvek pole, ktoré hovorí iSCSI) ako Proxmox úložisko. Exportované LUNs sa objavujú ako blokové zariadenia a môžu hostiť VM diskové snímky s takmer lokálnym výkonom v sieti.",
"section": "Úložisko a zdieľanie · hostiteľ"
},
"intro": {
"title": "Čo to robí?",
"body": "ProxMenux ponúka sprievodcu pre <code>pvesm add iscsi</code>: podľa potreby nainštaluje <code>open-iscsi</code>, vyžiada portál iSCSI (IP:port), spustí proti nemu <code>iscsiadm --mode discovery --type sendtargets</code>, umožní vybrať IQN cieľa a zaregistruje úložisko iSCSI v Proxmoxe. Služba <code>iscsid</code> potom udržiava reláciu iSCSI aj po reštartoch."
},
"vocab": {
"heading": "Pojmy iSCSI (stručný prehľad)",
"headerTerm": "Termín",
"headerMeaning": "Význam",
"rows": [
{
"term": "Portál",
"meaningRich": "Koncový bod služby iSCSI na cieľovom serveri — IP adresa (alebo názov hostiteľa) a port TCP. Predvolený port je <code>3260</code>; ProxMenux ho použije, ak iný nezadáte."
},
{
"term": "Cieľ",
"meaningRich": "Jeden exportovaný \"server\" vnútri portálu, identifikovaný jeho IQN (<em>iSCSI Kvalifikovaný názov</em>). Jeden portál môže hostiť veľa cieľov."
},
{
"term": "IQN",
"meaningRich": "Kanonická forma je <code>iqn.YYYY-MM.reverse.domain:identifier</code>, napríklad <code>iqn.2024-08.com.truenas:proxmox-pool</code>. Cieľ aj iniciátor majú vlastné IQN."
},
{
"term": "LUN",
"meaningRich": "Blokové zariadenie vnútri cieľa (Logické číslo jednotky). Jeden cieľ môže odhaliť niekoľko LUNs; každý LUN sa objaví ako svoj vlastný disk v Proxmox a môže sa stať VM disk."
},
{
"term": "Iniciátor",
"meaningRich": "Klient, ktorý sa pripojí k cieľu, v tomto prípade, váš Proxmox hostiteľ. Iniciátor má vlastné IQN uložené v <code>/etc/iscsi/initiatorname.iscsi</code>. Ciele zvyčajne prijímajú iba sedenia od vopred schválených iniciátorov IQN."
}
]
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "Z hlavného menu ProxMenux, otvoriť <strong>Storage &amp; Share Manager → Pridať iSCSI Target ako Proxmox Storage</strong>. Uvidíte toto sub- menu so štyrmi možnosťami:",
"imageAlt": "Ponuka správcu iSCSI hostiteľa — Pridať / Zobraziť / Odstrániť / Testovať pripojenie"
},
"howRuns": {
"heading": "Ako beží skript (Pridať tok)",
"body": "Postup má dve fázy: nastavenie iniciátora a vyhľadanie cieľov, potom registráciu úložiska v Proxmoxe. Na rozdiel od NFS a Samba sa nevykonáva automatické vyhľadávanie v podsieti — adresu portálu musíte poznať (iSCSI sa nehodí na vyhľadávanie cez broadcast)."
},
"add": {
"heading": "Pridať iSCSI target ako Proxmox úložisko",
"items": [
"<strong>Zadanie portálu</strong> — zadajte IP adresu alebo názov hostiteľa cieľového servera iSCSI. Použije sa port <code>3260</code>, ak nezadáte <code>host:port</code>.",
"<strong>Vyhľadanie cieľov</strong> — ProxMenux zavolá <code>iscsiadm --mode discovery --type sendtargets --portal &lt;ip:port&gt;</code>. Server vráti všetky IQN, ktoré tomuto iniciátorovi sprístupňuje. Pri zlyhaní skript zobrazí presnú chybu z <code>iscsiadm</code> a bežné príčiny (nesprávna IP adresa, firewall, nepovolené IQN iniciátora).",
"<strong>Výber cieľa</strong> — jeden cieľ sa vyberie automaticky; viacero cieľov zobrazí ponuku.",
"<strong>ID skladu</strong> Predvolená hodnota <code>iscsi-&lt;last IQN segment, 20 chars max&gt;</code>. Iba písmená, číslice, <code>-</code> a <code>_</code>.",
"<strong>Typ obsahu</strong> — na rozdiel od NFS a Samba je obsah iSCSI <strong>pevne nastavený na <code>images</code></strong>. iSCSI poskytuje surové blokové zariadenia, nie súborový systém, preto na ňom Proxmox povoľuje iba disky VM."
],
"authTitle": "Povoľte iniciátora Proxmox na cieľ",
"authBody1": "Aby pridanie fungovalo od začiatku do konca, cieľ iSCSI musí poznať vášho hostiteľa Proxmox. Zistite IQN svojho iniciátora:",
"authBody2": "Pridajte toto IQN do zoznamu prístupu cieľa (TrueNAS: <em>Sharing → Block → Initiators Groups</em>; Synology: <em>SAN Manager → iSCSI → Target → Edit → Initiators</em>; atď.). Ak iniciátor nie je povolený, vyhľadávanie cez <code>iscsiadm</code> vráti prázdny zoznam alebo chybu autentifikácie."
},
"manual": {
"heading": "Ručný ekvivalent",
"body": "Celý postup zodpovedá týmto príkazom:"
},
"view": {
"heading": "Zobraziť nakonfigurované úložiská iSCSI",
"body": "Zobrazí každú položku iSCSI v Proxmoxe (<code>pvesm status | awk ''$2 == \"iscsi\"''</code>) s portálom, cieľovou IQN, typom obsahu a živým stavom."
},
"remove": {
"heading": "Odstrániť úložisko iSCSI",
"body": "Po potvrdení portálu, cieľa a obsahu spustí <code>pvesm remove &lt;storage-id&gt;</code>. Odstráni sa iba registrácia v Proxmoxe — <strong>samotný cieľ iSCSI zostane nedotknutý</strong> a existujúce relácie jadra môžu pretrvať až do reštartu.",
"warnTitle": "Najprv skontrolujte existujúce disky VM na tomto iSCSI",
"warnBody": "Odstránenie úložiska iSCSI, na ktorom VM stále majú disky, ponechá VM odkazovať na chýbajúce úložisko. Proxmox nahlási chybu, ale údaje LUN zostanú v cieli nedotknuté — opätovnou registráciou úložiska môžete disky znovu sprístupniť. Pre istotu však VM najprv presuňte alebo zálohujte."
},
"test": {
"heading": "Test iSCSI konektivita",
"body": "Spustí diagnostiku: overí inštaláciu <code>iscsiadm</code>, vypíše IQN iniciátora, skontroluje beh <code>iscsid</code>, vykoná ping každého registrovaného portálu, overí jeho port a zobrazí <code>pvesm status</code> aj stav aktívnej relácie iSCSI (<code>iscsiadm --mode session</code>). Aktívna relácia a dostupný portál pri stave „inactive“ v Proxmoxe zvyčajne znamenajú zastaraný stav — skúste <code>pvesm set &lt;id&gt; --disable 0</code>."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"portalTitle": "\"Nedostať sa k portálu,\" ale server IP reaguje inde",
"portalBody": "Ping zlyhal na adrese portálu. Skontrolujte, či sa pripájate k rozhraniu <em>siete úložiska</em> (iSCSI často žije na oddelenej VLAN / podsieti od siete správy). Overte tiež DNS, ak ste zadali názov hostiteľa.",
"discoverTitle": "\"iSCSI objav zlyhal\" z iscsiadm",
"discoverIntro": "Skript ukazuje presnú chybu. Najčastejšie príčiny:",
"discoverItems": [
"Portál IP / port zle (dvojitá kontrola, predvolená je 3260).",
"Služba iSCSI nebeží na cieľovom serveri.",
"Firewall blokuje 3260 medzi Proxmox a cieľ.",
"<strong>IQN iniciátora nie je povolené v cieli.</strong> Najčastejšia príčina pri podnikových diskových poliach. Najprv pridajte IQN Proxmox do ACL iniciátorov na cieľovom serveri."
],
"noTargetTitle": "Neboli nájdené žiadne ciele, ale objav bol úspešný",
"noTargetBody": "Server prijal iniciátora, ale nesprístupňuje mu žiadny cieľ. Skontrolujte autentifikáciu a pravidlá prístupu — niektoré diskové polia povoľujú vyhľadávanie všetkým IQN, ale filtrujú ciele viditeľné jednotlivým IQN.",
"noLunTitle": "LUNs sa po registrácii v /dev/disk/by-path neobjavujú",
"noLunBody": "<code>pvesm add iscsi</code> uspel, ale jadro nevidí blokové zariadenia. Skontrolujte <code>iscsiadm --mode session</code> — ak žiadna relácia nie je aktívna, prihláste sa ručne cez <code>iscsiadm --mode node --login</code>. Ak relácia existuje, ale LUN chýbajú, vynúťte nové vyhľadanie: <code>iscsiadm --mode session --rescan</code>. Ak sa stále nič nezobrazí, cieľ zrejme ešte nemá LUN priradené tomuto IQN (nastavte mapovanie LUN v cieli).",
"chapTitle": "Autentifikácia CHAP",
"chapBody": "ProxMenux v interaktívnom postupe nemá polia na meno a heslo CHAP. Ak vyhľadávanie zlyhá, skript skončí pred <code>pvesm add</code> a úložisko napriek chybe nezaregistruje. Požiadavky CHAP cieľa nastavte samostatne v <code>open-iscsi</code>, podľa potreby aj autentifikáciu vyhľadávania, a skúste to znova. Konfiguráciu overte cez <code>iscsiadm</code> a aktívne relácie cez <code>iscsiadm --mode session</code>."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/host-nfs",
"label": "Zdieľanie NFS ako úložisko Proxmox",
"tail": " — alternatíva na úrovni súborov: jednoduchšie nastavenie, väčšia flexibilita (backup / ISO / tmpl / images), mierne nižší výkon pre disky spustených VM."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS ako úložisko Proxmox",
"tail": " — ďalšia možnosť na úrovni súborov; pre disky spustených VM sa neodporúča kvôli sémantike zámkov."
},
{
"href": "/docs/storage-share/host-local-disk",
"label": "Pridať lokálny disk ako Proxmox úložisko",
"tail": " — keď je disk lokálny pre hostiteľa Proxmox a nie na inom zariadení v sieti."
}
]
}
}
@@ -0,0 +1,186 @@
{
"meta": {
"title": "Host: Pridať lokálny disk ako Proxmox úložisko ProxMenux Dokumentácia",
"description": "Naformátujte lokálny disk SATA, SAS alebo NVMe na hostiteľovi Proxmox a zaregistrujte ho ako adresárové úložisko alebo pool ZFS. Postup zahŕňa bezpečný výber disku, potvrdenie deštruktívnych operácií, fstab podľa UUID, vytvorenie poolu ZFS a príkazy pvesm add dir / zfspool.",
"ogTitle": "Host: Pridať lokálny disk ako Proxmox úložisko ProxMenux Dokumentácia",
"ogDescription": "Naformátujte lokálny disk a zaregistrujte ho ako adresár Proxmox alebo ZFS pool pomocou riadeného, bezpečnostne filtrovaného postupu."
},
"header": {
"title": "Host: Pridať lokálny disk ako úložisko Proxmox",
"description": "Vyberte fyzický disk na hostiteľovi Proxmox, prípadne ho naformátujte (ext4 / xfs / btrfs / zfs) a zaregistrujte ako úložisko Proxmox — adresár (pvesm add dir) alebo pool ZFS (pvesm add zfspool). ProxMenux odfiltruje systémový disk aj používané disky a pred vykonaním jasne uvedie každý deštruktívny krok.",
"section": "Úložisko a zdieľanie · hostiteľ"
},
"intro": {
"title": "Čo to robí?",
"body": "Ostatné nástroje pre <em>hostiteľa</em> v tejto časti pracujú so <strong>sieťovým</strong> úložiskom (NFS / Samba / iSCSI). Tento pracuje s <strong>lokálnymi</strong> diskami, teda voľnými diskami fyzicky pripojenými k hostiteľovi Proxmox, ktoré chcete použiť na disky VM, zálohy, ISO alebo šablóny. ProxMenux disk pripraví (rozdelenie + formátovanie + pripojenie) a zaregistruje v Proxmoxe, aby naň rozhranie mohlo ukladať obsah."
},
"destructive": {
"title": "Deštrukčný nástroj pre \"formátovú\" dráhu",
"body": "Postup <em>Formátovať</em> <strong>zničí existujúce oddiely a dáta na vybranom disku</strong>. ProxMenux zobrazí varovanie, odfiltruje používané disky a vyžiada potvrdenie pred spustením <code>wipefs</code> / <code>sgdisk</code> / <code>mkfs</code>. Nejde o bezpečné prepísanie každého bajtu. Pred potvrdením dvakrát overte cestu zariadenia."
},
"compare": {
"heading": "Adresár alebo pool ZFS — čo si vybrať?",
"headerDir": "Adresár (ext4 / xfs / btrfs)",
"headerZfs": "ZFS pool",
"rows": [
{
"label": "Typ skladovania Proxmoxu",
"dirRich": "<code>dir</code>",
"zfsRich": "<code>zfspool</code>"
},
{
"label": "Formát disku VM",
"dir": "Súbor qcow2 / raw na súborovom systéme",
"zfs": "Natívny súbor údajov ZFS (zvol) na disk"
},
{
"label": "Snímky",
"dir": "qcow2 snímky; btrfs snímky, ak fs=btrfs",
"zfs": "Natívne, okamžité, copy-on-write"
},
{
"label": "Tenké prideľovanie",
"dir": "Áno (predvolené pri qcow2)",
"zfs": "Áno (predvolená hodnota ZFS)"
},
{
"label": "RAM potreby",
"dir": "nízka",
"zfs": "Vysoké — ZFS používa voľnú RAM ako vyrovnávaciu pamäť ARC"
},
{
"label": "Podporuje typy obsahu",
"dir": "images, backup, iso, vztmpl, snippets, rootdir",
"zfs": "iba images a rootdir (blokové úložisko)"
},
{
"label": "Najlepšie pre",
"dir": "Univerzálny disk: mix diskov VM, zálohy, ISO",
"zfs": "Čistý dátový disk VM / LXC s snapshot + potreba integrity"
}
]
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "V hlavnej ponuke ProxMenux otvorte <strong>Storage &amp; Share Manager → Add Local Disk as Proxmox Storage</strong>. Zobrazí sa podponuka so štyrmi možnosťami:",
"imageAlt": "Ponuka lokálnych diskov — Pridať / Zobraziť / Odstrániť / Vypísať dostupné disky"
},
"howRuns": {
"heading": "Ako beží skript (Pridať tok)",
"body": "Postup má dve fázy s trojstupňovým bezpečnostným filtrom. Fáza 1 objavuje bezpečné disky, rozhoduje, čo robiť s vybraným a zbiera parametre úložiska; Fáza 2 robí deštruktívne práce. Až do posledného potvrdenia je disk nedotknutý."
},
"format": {
"heading": "Formátovať prázdny disk",
"intro": "Cesta pre čerstvý disk alebo ten, ktorého obsah vás nezaujíma.",
"items": [
"Vyberte disk (systém / používané disky sú skryté).",
"Vyberte \"Format disk (EASE všetky dáta) .\"",
"Vyberte súborový systém — porovnanie výhod a nevýhod je v tabuľke vyššie.",
"ID úložiska (predvolene <code>disk-&lt;device&gt;</code>), cesta pripojenia a predvoľba typu obsahu.",
"Potvrďte v dialógu <strong>KONEČNÉ POTVRDENIE — DÁTA SA VYMAŽÚ</strong>.",
"ProxMenux vymaže tabuľku oddielov a vytvorí jeden oddiel na celom disku. Spustí <code>mkfs.&lt;fs&gt;</code> alebo <code>zpool create</code> a výsledok pripojí. Bežné súborové systémy dostanú položku UUID v <code>/etc/fstab</code> s <code>defaults,nofail</code>; ZFS používa konfiguráciu pripojenia poolu. Ak je označené <em>Ako úložisko Proxmoxu</em> (pri ZFS vždy), následne sa zaregistruje cez <code>pvesm add dir</code> alebo <code>pvesm add zfspool</code>; inak zostane len pripojením na hostiteľovi."
],
"tipTitle": "Prečo UUID + nofail v /etc/fstab",
"tipBody": "Skript zapíše <code>UUID=… /mnt/&lt;id&gt; &lt;fs&gt; defaults,nofail 0 2</code>. UUID zostane rovnaké aj pri zmene poradia zariadení po reštarte, takže premenovanie <code>/dev/sdc</code> na <code>/dev/sdd</code> nenaruší štart. S <code>nofail</code> sa Proxmox spustí aj pri chýbajúcom disku (porucha alebo odpojenie); úložisko sa bude zobrazovať ako neaktívne, kým sa disk nevráti."
},
"reuse": {
"heading": "Znovu použiť existujúci súborový systém",
"intro": "Cesta k disku, na ktorom si chcete ponechať údaje – možno ste ho presunuli z iného hostiteľa Proxmox alebo disk už obsahuje zálohy / ISO, ktoré chcete ponechať prístupné.",
"items": [
"Vyber ten disk.",
"Vyberte \"Použiť existujúci súborový systém.\"",
"ID úložiska, cesta pripojenia a predvoľba typu obsahu.",
"ProxMenux dáta <strong>nemení</strong>: vytvorí bod pripojenia, pripojí disk, pridá položku UUID do <code>/etc/fstab</code> a zaregistruje ho ako úložisko Proxmox typu <code>dir</code>."
],
"warnTitle": "Opätovné použitie cesty nespracúva ZFS pools",
"warnBody": "Ak už disk obsahuje ZFS pool, cesta <em>znova použiť</em> sa ho pokúsi pripojiť ako bežný súborový systém – čo zlyhá. Ak chcete importovať existujúci ZFS pool, použite <code>zpool import &lt;name&gt;</code> na príkazovom riadku a potom ho manuálne zaregistrujte pomocou <code>pvesm add zfspool</code>."
},
"presets": {
"heading": "Prednastavenia typu obsahu",
"intro": "ProxMenux ponúka tri predvoľby a vlastnú možnosť. Vybraný reťazec typov obsahu odovzdá príkazu <code>pvesm add … --content &lt;csv&gt;</code>:",
"headerPreset": "Predvoľba",
"headerContent": "Reťazec typov obsahu",
"headerUse": "Prípad použitia",
"rows": [
{
"preset": "Úložisko VM",
"content": "images,backup",
"use": "Vyhradené úložisko diskov VM, ktoré zároveň uchováva aj zálohy týchto VM."
},
{
"preset": "Štandardné NAS",
"content": "backup,iso,vztmpl",
"use": "Archívny alebo mediálny disk — zálohy, ISO a šablóny LXC. Bez diskov používaných bežiacimi VM."
},
{
"preset": "Všetky typy",
"content": "images,backup,iso,vztmpl,snippets",
"use": "Táto široká predvoľba povolí obrazy, zálohy, ISO, šablóny LXC a snippet súbory. Ďalšie podporované typy, napríklad rootdir, podľa potreby pridajte cez vlastnú možnosť."
},
{
"preset": "Vlastné",
"content": "(voľný vstup)",
"useRich": "Napíšte presné CSV, napr. samotný <code>images</code> alebo <code>rootdir,images</code>."
}
],
"zfsTitle": "ZFS pool obsah je užší",
"zfsBody": "Pri <strong>zfs</strong> podporuje <code>zfspool</code> iba <code>images</code> a <code>rootdir</code>, nie súbory ISO či zálohy. Cez vlastnú možnosť zadajte podporované typy. Skript výber odovzdá bez zmien; nepodporované typy môžu spôsobiť zlyhanie registrácie. Potom overte <code>pvesm status</code>."
},
"manual": {
"heading": "Ručný ekvivalent",
"extIntro": "Formát + zaregistrovať disk ako úložisko adresára ext4:",
"zfsIntro": "Alebo ako ZFS pool:"
},
"view": {
"heading": "Zobraziť diskové úložiská",
"body": "Vypisuje všetky diskové úložiská Proxmox (<code>dir</code> aj <code>zfspool</code>, ktoré sú vytvorené používateľom — systémové pooly ako <code>rpool</code> je skrytý). Zobrazuje cestu pripojenia / pool názov, typy obsahu a aktuálny stav."
},
"remove": {
"heading": "Odstrániť diskové úložisko",
"body": "Odregistruje úložisko z Proxmoxu (<code>pvesm remove</code>) a ponúkne odstránenie príslušnej položky v <code>/etc/fstab</code>. Skript pool ZFS automaticky <strong>nezničí</strong>; na to slúži samostatný príkaz <code>zpool destroy &lt;name&gt;</code>, ktorý vykonáte ručne, keď ste si istí.",
"warnTitle": "Údaje a existujúce závislosti VM",
"warnBody": "Odstránenie úložiska sa nedotkne súborového systému ani pool — údaje zostanú na disku. Ale virtuálne počítače / CT, ktoré odkazujú na toto úložisko podľa ID, sa po odstránení nespustia. Pred odstránením presuňte tieto VM disky na iné úložisko (alebo vytvorte zálohu)."
},
"list": {
"heading": "Zoznam dostupných diskov",
"body": "Diagnostický pohľad iba na čítanie: vytlačí výstup <code>lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,MODEL</code>, po ktorom nasleduje <code>dir</code> / <code>zfspool</code> úložiská, ktoré Proxmox už pozná. Dobrá prvá zastávka, keď otvoríte nástroj a chcete vidieť \"čo je na tomto hostiteľovi?\" pred pridaním niečoho."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"noDisksTitle": "\"Nenájdené žiadne dostupné disky\"",
"noDisksIntro": "Bezpečnostný filter skryl každý disk. Časté dôvody:",
"noDisksItems": [
"Prítomný je len koreňový disk.",
"Každý iný disk je súčasťou aktívneho ZFS / LVM / RAID poľa.",
"Každý iný disk je odkazovaný VM alebo LXC config (pass through).",
"Disk je v režime iba na čítanie (zlyhanie hardvéru alebo write-blokátor)."
],
"noDisksOutro": "Použite <em>Zoznam dostupných diskov</em> z ponuky, aby ste videli nespracovaný výstup <code>lsblk</code> a pochopili, čo sa deje.",
"mountedTitle": "Formát zlyhá s \"device is mounted\"",
"mountedBody": "Niečo auto-montoval disk (udisksd, desktop manažér, pretrvávajúce systemd jednotka). Odpojte ho: <code>umount /dev/sdX?*</code> alebo <code>systemctl stop &lt;whatever-mounts-it&gt;</code>, potom sa znovu skúste. Bezpečnostný filter skriptu by mal mať skryté namontované disky, takže ak ste dosiahli túto chybu, pripojiť sa stalo medzi zobrazením menu a potvrdením.",
"zpoolTitle": "zpool create zlyhá s hlásením \"invalid vdev specification\"",
"zpoolBody": "Zvyčajne to znamená, že disk má stále zastarané GPT / LVM / ZFS podpisy, ktoré <code>zpool</code> odmieta bez vynútenia prepísať. Skript pred formátovaním spustí <code>wipefs</code> a <code>sgdisk --zap-all</code>, ale veľmi tvrdohlavý disk môže mať stále zastaraný štítok. Manuálne vynútenie čistého vymazania: <code>zpool labelclear -f /dev/sdX</code> alebo <code>dd if=/dev/zero of=/dev/sdX bs=1M count=10</code> a skúste to znova.",
"inactiveTitle": "Skladovanie ukazuje ako neaktívne po reštarte",
"inactiveBody": "Skontrolujte <code>findmnt &lt;mount-path&gt;</code>. Ak pripojenie chýba, zlyhalo niečo v <code>/etc/fstab</code>. Výstup <code>dmesg | tail</code> zvyčajne ukáže príčinu, napríklad nesúlad UUID, poškodenie súborového systému alebo vynechanie ďalšieho pokusu v súvislosti s <code>nofail</code>. Po odstránení príčiny príkaz <code>mount -a</code> zvyčajne úložisko znovu pripojí."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/disk-manager/format-disk",
"label": "Správca diskov: formátovanie / vymazanie fyzického disku",
"tail": "— nízkoúrovňová alternatíva, keď chcete iba pripraviť disk bez toho, aby ste ho registrovali ako úložisko Proxmox."
},
{
"href": "/docs/storage-share/host-iscsi",
"label": "Pridať iSCSI target ako Proxmox úložisko",
"tail": " — sieťový ekvivalent, ak je blokové zariadenie na inom počítači."
},
{
"href": "/docs/storage-share/host-local-shared",
"label": "Pridať zdieľaný adresár na hostiteľa",
"tail": " — príprava adresára na hostiteľovi pre bind mounty LXC (bez registrácie úložiska Proxmox)."
}
]
}
}
@@ -0,0 +1,103 @@
{
"meta": {
"title": "Hostiteľ: Pridanie zdieľaného adresára | Dokumentácia ProxMenux",
"description": "Vytvorte adresár hostiteľa pripravený pre bind mounty LXC s oprávneniami pre privilegované aj neprivilegované kontajnery. Sticky bit, rwx pre všetkých a predvolené ACL pre dedenie.",
"ogTitle": "Hostiteľ: Pridanie zdieľaného adresára | Dokumentácia ProxMenux",
"ogDescription": "Pripravte si hostiteľský adresár pre bind mounty LXC s oprávneniami kompatibilnými s privilegovanými a neprivilegovanými CT."
},
"header": {
"title": "Hostiteľ: Pridať zdieľaný adresár",
"description": "Vytvorte adresár na hostiteľovi určený pre bind mounty v jednom alebo viacerých kontajneroch LXC. ProxMenux použije oprávnenia pre privilegované aj neprivilegované CT bez riešenia posunutých UID alebo zmeny vlastníka pre každý kontajner a zaregistruje adresár na neskoršie použitie v LXC Mount Manager.",
"section": "Úložisko a zdieľanie · hostiteľ"
},
"intro": {
"title": "Čo je toto (a NIE)",
"body": "Tento nástroj <strong>nič</strong> neregistruje v Proxmoxe (nepoužíva <code>pvesm add</code>). Iba pripraví adresár na hostiteľovi — predvolene <code>/mnt/shared</code> — s oprávneniami na čítanie a zápis pre ľubovoľný LXC bez ohľadu na privilegovaný či neprivilegovaný režim. Ďalším krokom je zvyčajne bind mount do jednotlivých CT cez <mountLink>LXC Mount Manager</mountLink>."
},
"why": {
"heading": "Prečo je to špecializovaný nástroj",
"intro": "Keď pripojíte adresár do LXC kontajnera, práva závisia od:",
"items": [
"Či je CT <strong>privilegovaný</strong> (UID 0 v CT = UID 0 na hostiteľovi) alebo <strong>neprivilegovaný</strong> (UID 0 v CT = UID 100000 na hostiteľovi — všetko je posunuté o +100000).",
"Vlastníctvo adresára hostiteľa (súbor s UID 1000 na hostiteľovi sa z pohľadu neprivilegovaného CT riadi oprávneniami „ostatní“, pretože žiadny používateľ CT sa nemapuje na UID 1000 hostiteľa).",
"Či viaceré CT zdieľajú rovnaký adresár (rôzne CT môžu mať rôzne UID rozsahy)."
],
"outro": "ProxMenux používa praktický postup: <strong>poskytnúť prístup všetkým</strong> na úrovni súborového systému pomocou rwx pre všetkých, sticky bitu a ACL na dedenie oprávnení. Každé mapované UID môže čítať a zapisovať; netreba zosúlaďovať UID/GID."
},
"howRuns": {
"heading": "Ako beží skript",
"body": "Skript nemá žiadne hlavné menu – spúšťa jedinú akciu, <strong>Vytvoriť zdieľaný adresár</strong>. Fáza 1 zhromažďuje cieľovú cestu; Fáza 2 vytvorí adresár a použije povolenia."
},
"bits": {
"heading": "Čo robia jednotlivé bity oprávnení",
"intro": "Číslo <strong>1777</strong> nie je náhodné — rovnaký režim Linux používa pre <code>/tmp</code>. Kombinuje tri vlastnosti:",
"headerBit": "Bit",
"headerEffect": "Účinok",
"headerWhy": "Prečo na tom záleží tu",
"rows": [
{
"bit": "1 (sticky bit)",
"effect": "Súbor môže odstrániť alebo premenovať jeho vlastník, vlastník adresára alebo proces s dostatočnými oprávneniami.",
"why": "Pomáha zabrániť používateľom s rôznymi mapovanými UID odstraňovať cudzie súbory. Neizoluje CT s rovnakým mapovaným UID alebo privilegovaným prístupom root."
},
{
"bit": "777 (rwx-rwx-rwx)",
"effect": "Každý vie čítať, písať a prechádzať.",
"why": "Neprivilegované CT UID (100000+) sa objavujú ako \"ostatné\" z hostiteľa, takže svet-rwx im dáva prístup."
},
{
"bit": "ACL (predvolené)",
"effect": "Dedia sa pri vytvorení každého súboru alebo podadresára.",
"why": "Nový obsah zdedí predvolené ACL bez opätovného spustenia skriptu. Aplikácie však môžu požadovať obmedzujúce režimy alebo neskôr zmeniť oprávnenia."
}
],
"privTitle": "Privilegované CT vidia to isté, len bez zmeny.",
"privBody": "V privilegovanom CT je UID 0 totožné s UID 0 na hostiteľovi, takže <code>root</code> v CT môže priamo čítať a zapisovať do adresára hostiteľa. Režim <code>1777</code> je naďalej vhodný — umožňuje používanie adresára aj používateľom CT mimo root. Rovnaké oprávnenia pokrývajú oba prípady."
},
"where": {
"heading": "Kam dať zdieľaný adresár",
"intro": "Výber umiestnenia ponúka štyri možnosti:",
"opt1Title": "1. Vytvoriť nový priečinok v /mnt",
"opt1Body": "Zvyčajná voľba. ProxMenux auto-navrhuje prvý voľný názov (<code>shared</code>, <code>shared2</code>, <code>shared3</code>, ...). Stačí potvrdiť alebo napísať iný názov.",
"opt2Title": "2. Zadajte vlastnú cestu",
"opt2Body": "Pre adresáre mimo <code>/mnt</code>. Akákoľvek absolútna cesta funguje (napr. <code>/srv/media</code>, <code>/data/family</code>). Skript uplatňuje rovnaké práva.",
"opt3Title": "3. Zobraziť existujúce priečinky v /mnt",
"opt3Body": "Diagnostika iba na čítanie: uvádza každý adresár pod <code>/mnt</code> so svojimi oprávneniami, vlastníkom a dostupným priestorom. Užitočné pred vytvorením nového, aby sa zabránilo pomenovaniu kolízie.",
"opt4Title": "4. Zrušiť",
"opt4Body": "Ukončí postup bez vytvorenia čohokoľvek. Rovnako ako stlačenie <kbd>Esc</kbd>.",
"tipTitle": "Kde žije /mnt?",
"tipBody": "Predvolene sa <code>/mnt</code> nachádza na koreňovom súborovom systéme Proxmox. Ak má byť zdieľaný adresár na inom disku (dátový disk alebo pool ZFS), najprv ho pripojte pod <code>/mnt/&lt;name&gt;</code> cez Disk Manager alebo <diskLink>Pridať lokálny disk ako úložisko Proxmox</diskLink>. Potom vytvorte zdieľaný podadresár v ňom alebo tu vyberte „Zadať vlastnú cestu“ a zadajte cestu pripojeného disku."
},
"manual": {
"heading": "Ručný ekvivalent",
"body": "Celý tok sa dá prehrať ručne:"
},
"next": {
"heading": "Ďalší krok: bind mount do kontajnerov",
"body": "Vytvorením adresára sa iba pripraví – zatiaľ ho nevidí žiadny kontajner. Aby bolo viditeľné v jednom alebo viacerých LXC, použite <mountLink>LXC Mount Manager</mountLink> na pripojenie <code>/mnt/&lt;name&gt;</code> do CT. Pretože oprávnenia sú už otvorené, Mount Manager <strong>neponúkne</strong> ich zmenu – adresár je pripravený na použitie tak, ako je."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"mkdirTitle": "\"Failed to create directory\"",
"mkdirBody": "Zvyčajne je problém súborového systému: <code>/mnt</code> je na súborovom systéme iba na čítanie, cesta obsahuje komponent, ktorý nie je adresárom (napr. ste zadali <code>/etc/passwd/sub</code>), alebo disk je plný. Overte si to s <code>df -h /mnt</code> a <code>mount | grep /mnt</code>.",
"writeTitle": "Kontajner nemôže písať napriek otvoreným povoleniam",
"writeBody": "Overte, či CT skutočne používa bind mount (<code>pct config &lt;ctid&gt; | grep ^mp</code>). V CT spustite <code>touch /mnt/data/test-$(date +%s)</code>. Ak príkaz zlyhá s odmietnutým prístupom, pripojenie môže byť na súborovom systéme hostiteľa bez podpory ACL (niektoré staršie pripojenia <code>ext3</code> alebo <code>vfat</code>). Presuňte zdieľaný adresár na súborový systém ext4, xfs, btrfs alebo zfs.",
"aclTitle": "ACL príkazy ticho nedostupné",
"aclBody": "Na minimálnej inštalácii Proxmox nemusia byť <code>setfacl</code> / <code>getfacl</code> nainštalované. Skript to overí cez <code>command -v setfacl</code> a použije iba oprávnenia POSIX. Tie často stačia, no nové súbory automaticky nezdedia otvorené oprávnenia. Nainštalujte <code>acl</code> pomocou <code>apt-get install -y acl</code> a spustite skript pre daný adresár znova."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Správca LXC mountov",
"tail": " — ďalší bežný krok: bind mount tohto adresára do jedného alebo viacerých kontajnerov."
},
{
"href": "/docs/storage-share/host-local-disk",
"label": "Pridať lokálny disk ako Proxmox úložisko",
"tailRich": " — Ak chcete zdieľaný adresár na vyhradenom disku, pripravte najprv disk, pripojte ho pod <code>/mnt</code>, potom tu vytvorte zdieľaný podpriečinok."
}
]
}
}
@@ -0,0 +1,174 @@
{
"meta": {
"title": "Hostiteľ: pripojenie zdieľania NFS | Dokumentácia ProxMenux",
"description": "Pripojte externý export NFS na hostiteľovi Proxmox ako úložisko Proxmox cez pvesm add nfs, ako samostatné pripojenie cez fstab neviditeľné v Datacenter > Storage alebo oboma spôsobmi. Metóda fstab je vhodná na sprístupnenie cesty kontajnerom LXC cez bind mount bez registrácie úložiska v Proxmoxe.",
"ogTitle": "Hostiteľ: pripojenie zdieľania NFS | Dokumentácia ProxMenux",
"ogDescription": "Pripojte externý export NFS na hostiteľovi Proxmox cez pvesm, fstab alebo oboje. Spôsob fstab je vhodný pre bind mounty LXC."
},
"header": {
"title": "Hostiteľ: pripojiť zdieľanie NFS na hostiteľovi",
"description": "Pripojte externý export NFS z NAS, iného servera alebo domáceho labu k hostiteľovi Proxmox. Môžete ho zaregistrovať ako úložisko Proxmox viditeľné v Datacenter > Storage, pridať samostatné pripojenie cez /etc/fstab na zvolenú cestu alebo použiť oba spôsoby. Samostatná cesta je vhodná na sprístupnenie zdieľania kontajnerom LXC pomocou bind mountu bez registrácie úložiska v Proxmoxe.",
"section": "Úložisko a zdieľanie · hostiteľ"
},
"intro": {
"title": "Čo to robí?",
"body": "ProxMenux ponúka dva spôsoby pripojenia exportu NFS: <strong>(1) Úložisko Proxmox</strong> pomocou <code>pvesm add nfs</code>. Zdieľanie sa zobrazí v Datacenter > Storage a Proxmox spravuje pripojenie na <code>/mnt/pve/&lt;id&gt;</code>. <strong>(2) Pripojenie cez fstab na hostiteľovi</strong> na zvolenú cestu, trvalo zapísané v <code>/etc/fstab</code>. Nezobrazí sa ako úložisko Proxmox a hodí sa na bind mounty do kontajnerov LXC bez ďalších položiek v rozhraní Proxmoxu. Môžete použiť jeden alebo oba spôsoby."
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "V hlavnej ponuke ProxMenux otvorte <strong>Storage &amp; Share Manager → Mount NFS Share on Host</strong>. Zobrazí sa podponuka so štyrmi možnosťami:",
"imageAlt": "Ponuka NFS hostiteľa — Pripojiť / Zobraziť / Odstrániť / Testovať pripojenie"
},
"howRuns": {
"heading": "Ako beží skript",
"body": "Postup má dve jasne oddelené fázy: vyhľadanie, overenie a výber, potom samotné pripojenie a zápis konfigurácie. Po výbere exportu zvolíte metódy pripojenia v zozname. Ďalšie dialógy sa pýtajú iba na parametre vybraných metód. Až do záverečného potvrdenia sa nemení ani <code>/etc/pve/storage.cfg</code>, ani <code>/etc/fstab</code>."
},
"modes": {
"heading": "Výber spôsobu pripojenia (označte jednu alebo obe možnosti)",
"intro": "Po výbere a overení exportu zobrazí ProxMenux zoznam dvoch spôsobov pripojenia. Môžete označiť jeden alebo oba. Ak stlačíte OK bez výberu, dialóg sa otvorí znovu. Vyberte aspoň jednu možnosť alebo postup ukončite tlačidlom Zrušiť.",
"imageAlt": "Výber spôsobov pripojenia s možnosťami pvesm a fstab",
"headerMethod": "Metóda",
"headerMount": "Cesta pripojenia",
"headerUi": "Viditeľné v datacentre > Úložisko",
"headerUseCase": "Typický prípad použitia",
"rows": [
{
"method": "<strong>Ako úložisko Proxmox (pvesm)</strong>",
"mountRich": "<code>/mnt/pve/&lt;storage-id&gt;</code> (manažovaný spoločnosťou Proxmox)",
"ui": "Áno",
"useCase": "VM obrazy diskov, zálohy, ISO, LXC šablóny — čokoľvek, čo sa musí objaviť v Proxmox UI."
},
{
"method": "<strong>Iba fstab hostiteľa</strong>",
"mountRich": "<code>/mnt/&lt;path&gt;</code> (vyberiete cestu)",
"ui": "Nie",
"useCaseRich": "Sprístupnite zdieľanie jednému alebo viacerým LXC cez bind mount <em>bez</em> registrácie úložiska Proxmox. Rozhranie Datacenter zostane prehľadné."
},
{
"method": "<strong>Obe</strong>",
"mount": "Obe cesty uvedené vyššie (dva body pripojenia toho istého exportu NFS)",
"ui": "Áno",
"useCase": "Integrácia s rozhraním a samostatná stabilná cesta hostiteľa s otvorenými oprávneniami pre bind mounty LXC."
}
],
"bothTitle": "Možnosť „Oboje“ vytvorí dve nezávislé pripojenia NFS",
"bothBody": "Obe metódy sa vykonajú samostatne: pvesm pripojí export do <code>/mnt/pve/&lt;id&gt;</code> a fstab do <code>/mnt/&lt;path&gt;</code>. Získate pripojenie spravované Proxmoxom s predvolenými voľbami a samostatné pripojenie hostiteľa pre bind mounty LXC. Dva body pripojenia nezaručujú dve spojenia TCP; klient NFS môže transportné spojenia opätovne použiť."
},
"pvesmBranch": {
"heading": "Metóda A — ako úložisko Proxmox (pvesm)",
"intro": "Ak je <em>Ako úložisko Proxmox</em> označený, ProxMenux spustí pôvodný pvesm prietok:",
"items": [
"<strong>ID úložiska</strong> — názov, pod ktorým Proxmox toto úložisko zaregistruje. Predvolene je to <code>nfs-&lt;server-ip-with-dashes&gt;</code>. Povolené sú iba písmená, číslice, <code>-</code> a <code>_</code>.",
"<strong>Typy obsahu</strong> Proxmox viaže kategórie obsahu na úložné objemy; vyberte si, čo to NFS je povolené držať:"
],
"headerType": "Typ obsahu",
"headerAllows": "Čo to umožňuje",
"rows": [
{
"type": "import",
"allowsRich": "Import obrazu disku (štandardne vybraný). Potrebné pre <em>Import Disk Image na VM</em>."
},
{
"type": "backup",
"allowsRich": "VM a CT záložné súbory (<code>vzdump</code>)."
},
{
"type": "iso",
"allows": "Inštalačné obrazy ISO."
},
{
"type": "vztmpl",
"allows": "Šablóny LXC."
},
{
"type": "images",
"allows": "Obrazy diskov používaných VM — NFS tak slúži ako úložisko diskov VM."
},
{
"type": "rootdir",
"allows": "Koreňové súborové systémy LXC (pri NFS nezvyčajné — prečítajte si poznámku nižšie)."
},
{
"type": "snippets",
"allows": "Hook skripty a snippet súbory cloud-init."
}
],
"warnTitle": "images a rootdir na NFS",
"warnBody": "Voľba <code>images</code> umožní ukladať disky VM na NFS. Výkon závisí od siete, servera a záťaže; výpadok môže zablokovať vstupno-výstupné operácie závislé od pripojenia. Voľba <code>rootdir</code> ukladá koreňové súborové systémy LXC na NFS, kde môžu neprivilegované kontajnery naraziť na obmedzenia mapovania UID, overlay a vlastníctva. Zvážte to pred umiestnením <code>images</code> / <code>rootdir</code>; NFS je vhodné aj pre <code>backup</code> / <code>iso</code> / <code>vztmpl</code>.",
"result": "Výsledok je <code>pvesm add nfs &lt;id&gt; --server &lt;srv&gt; --export &lt;path&gt; --content &lt;csv&gt;</code> a Proxmox auto-mounts na <code>/mnt/pve/&lt;id&gt;</code>."
},
"fstabBranch": {
"heading": "Metóda B — iba pripojenie cez fstab hostiteľa",
"intro": "Ak <em>Iba pripojenie cez fstab hostiteľa</em> je označený, ProxMenux požiada o cestu pripojenia hostiteľa a trvalé možnosti, potom sa pripojí a napíše položku na <code>/etc/fstab</code>:",
"items": [
"<strong>Cesta pripojenia k hostiteľovi</strong> Predvolené <code>/mnt/&lt;export-basename&gt;</code>. Musí to byť absolútna cesta. Ak je tam niečo už namontované, alebo existuje fstab položka pre tú istú cestu, ProxMenux Varuje vás a ponúka, že ho nahradíte.",
"<strong>Voľby pripojenia</strong> — <em>Čítanie/zápis</em> (predvolené: <code>rw,hard,nofail,_netdev,rsize=131072,wsize=131072,timeo=600,retrans=2</code>), <em>Iba na čítanie</em>, <em>Vlastné</em> (zadajte vlastné voľby)."
],
"appliesIntro": "Keď potvrdíte, skript:",
"applies": [
"Vytvorí adresár bodu pripojenia pomocou <code>mkdir -p</code>.",
"<code>mount -t nfs -o &lt;opts&gt; &lt;srv&gt;:&lt;export&gt; &lt;path&gt;</code>.",
"Napíše jednoriadkový zápis do <code>/etc/fstab</code>: <code>&lt;srv&gt;:&lt;export&gt; &lt;path&gt; nfs &lt;opts&gt; 0 0</code>.",
"Spustí <code>systemctl daemon-reload</code> takže systemd zachytí novú fstab položku.",
"Pokúsi sa vykonať <code>chmod 1777</code> a <code>setfacl o::rwx</code> na bode pripojenia. Operácia je nezáväzná a nehlási zlyhanie: uspeje iba vtedy, ak ju server NFS povolí. Mnohé exporty NAS už umožňujú zápis všetkým používateľom."
],
"lxcTitle": "Použitie pripojenia fstab z LXC",
"lxcBody": "Skript vypíše príkaz <code>pct set</code> pre bind mount, napríklad <code>pct set &lt;ctid&gt; -mp0 /mnt/&lt;path&gt;,mp=/mnt/&lt;ct-path&gt;,shared=1,backup=0</code>. Alebo použite <mountLink>LXC Mount Manager</mountLink>, ktorý rozpozná pripojenia fstab. <strong>V kontajneri sa nič nemení</strong>. Prístup neprivilegovaného CT závisí od oprávnení servera pre jeho mapované UID/GID. Skript sa len pokúsi upraviť oprávnenia z hostiteľa; nezaručuje zapisovateľné exporty ani predvolené nastavenia výrobcov. Pri problémoch pozrite riešenie problémov.",
"noUiTitle": "Pripojenie fstab NIE JE úložiskom Proxmox",
"noUiBody": "Hostiteľský fstab mount je neviditeľný pre web Proxmox UI — podľa návrhu. Nezobrazuje sa v <em>Datacenter > Storage</em>, nemôžete ho vybrať v tvorcovi VM / CT a úlohy zálohovania Proxmox sa naň nemôžu zamerať. Je to čisto cesta hostiteľského súborového systému. Ak chcete aj integráciu UI, označte vo výbere <em>obe</em> metódy."
},
"manual": {
"heading": "Ručný ekvivalent",
"pvesmIntro": "Metóda A (pvesm) zodpovedá:",
"fstabIntro": "Metóda B (fstab) zodpovedá:"
},
"view": {
"heading": "Zobraziť nakonfigurované úložiská NFS",
"body": "Vypíše položky NFS v Proxmoxe (<code>pvesm status | awk ''$2 == \"nfs\"''</code>) so serverom, exportom, typmi obsahu, cestou pripojenia a aktuálnym stavom. <strong>Poznámka:</strong> zobrazí iba úložiská registrované cez pvesm, nie samostatné pripojenia fstab. Tie overte pomocou <code>findmnt -t nfs</code> alebo <code>grep nfs /etc/fstab</code>."
},
"remove": {
"heading": "Odstrániť úložisko NFS",
"body": "Po potvrdení so serverom, exportom a obsahom spustí <code>pvesm remove &lt;storage-id&gt;</code>. Odstráni iba registráciu v Proxmoxe; <strong>vzdialený server NFS nemení</strong> a súbory neodstráni. Samostatné pripojenie fstab odstráňte ručnou úpravou <code>/etc/fstab</code> a príkazom <code>umount &lt;path&gt;</code>.",
"warnTitle": "Zálohovanie závislostí najprv",
"warnBody": "Ak VM, CT alebo úlohy zálohovania odkazujú na ID tohto úložiska, po odstránení budú odkazovať na neexistujúce úložisko. Proxmox ohlási chybu, ale odkazy neodstráni. Najprv ich presuňte alebo odstráňte a až potom odstráňte úložisko."
},
"test": {
"heading": "Test NFS konektivita",
"body": "Spustí diagnostický prechod cez každý NFS skladovanie registrované v Proxmoxe: kontroluje, či <code>showmount</code> je k dispozícii, <code>rpcbind</code> beží, pings každý server, sondy port 2049, volá <code>showmount -e</code>, a nakoniec uvádza Proxmox vlastný názor (<code>pvesm status</code>). Dobrá prvá zastávka, keď úložisko ukazuje ako <em>neaktívny</em> v Proxmoxe UI."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"noServersTitle": "\"Žiadne NFS servery nájdené v sieti\"",
"noServersBody": "Automatické vyhľadávanie používa <code>nmap -p 2049 --open &lt;subnet&gt;/24</code>. Server nemusí reagovať, ak: je na inom VLAN / subnet, jeho firewall bloky nmap sondy (mnohý robiť) alebo port 2049 je zámerne uzavretý na tomto rozhraní. Použite možnosť <em>Manual</em> s IP alebo meno hostiteľa servera.",
"portTitle": "„Port NFS (2049) nie je dostupný“",
"portBody": "Ping uspel, ale <code>nc -z -w 3 &lt;server&gt; 2049</code> zlyhal. Skontrolujte, či služba NFS beží na serveri (<code>systemctl status nfs-server</code> na Linuxe, Ovládací panel → Súborové služby na Synology, NFS plugin na OMV / TrueNAS), a že firewall umožňuje 2049 z Proxmox hostiteľa.",
"showmountTitle": "„Failed to connect“ z príkazu showmount",
"showmountBody": "Server odmietol dotaz exportného zoznamu. Bežné príčiny: server vymáha prísne klientske ACL (vaše Proxmox IP nie je na povolenom zozname), <code>rpcbind</code> nebeží na serveri, alebo server vystaví iba NFSv4 s <code>showmount</code> vypnutým. Exportná cesta môže byť stále pridaná ručne, ak ju poznáte.",
"inactiveTitle": "Úložisko ukazuje ako neaktívne v systéme Proxmox UI",
"inactiveBody": "Najprv spustite <em>Testovať pripojenie NFS</em>: overí, či server odpovedá na ping, či je otvorený port 2049 a či je dostupný zoznam exportov (<code>showmount -e</code>). Ak spojenie funguje, ale úložisko zostáva neaktívne, skontrolujte <code>journalctl -u pvestatd</code> a konfiguráciu servera/exportu. Najprv opravte spojenie alebo oprávnenia. Príkaz <code>pvesm set &lt;id&gt; --disable 0</code> zapne vypnuté úložisko; nie je všeobecnou opravou chýb NFS.",
"lxcNoWriteTitle": "Pripojenie fstab funguje, ale neprivilegovaný LXC nemôže zapisovať cez bind mount",
"lxcNoWriteBody": "Prístup NFS závisí od vlastníkov, ACL a nastavení squash na serveri. Voľby CIFS <code>uid=</code> a <code>file_mode=</code> pre NFS <strong>neplatia</strong>. Pri predvolenom mapovaní LXC má root z CT na hostiteľovi UID 100000, nie vzdialené UID 0. Povoľte prístup skutočnému mapovanému UID/GID alebo anonymnej identite servera. <code>no_root_squash</code> ovplyvňuje iba vzdialené UID 0 a nie je všeobecným riešením pre UID 100000. Skript skúsi <code>chmod 1777</code>, ale oprávnenia servera neobíde.",
"fstabBootTitle": "fstab mount nepríde po reštarte",
"fstabBootBody": "Skript pridáva <code>nofail,_netdev</code>, aby nedostupné zdieľanie pri štarte neblokovalo spúšťanie systému. Ak sa nepripojí vôbec, overte dostupnosť siete pomocou <code>ping &lt;server&gt;</code>, skontrolujte <code>journalctl -u remote-fs.target</code> a platnosť záznamu pomocou <code>mount -fav | grep nfs</code>. Príkaz <code>mount -a</code> po štarte pripojí položky, ktoré zatiaľ chýbajú."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS ako úložisko Proxmox",
"tail": " — Rovnaký vzorec prietoku (Metóda A pvesm + metóda B fstab) pre zdieľania SMB/CIFS."
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Správca LXC mountov",
"tailRich": " Pripojiť cestu, ktorá je určená len pre fstab <code>/mnt/&lt;path&gt;</code> do jedného alebo viacerých kontajnerov."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "NFS klient v LXC",
"tail": " Alternatíva: pripojte NFS priamo zvnútra privilegovaného kontajnera (obíde hostiteľa)."
}
]
}
}
@@ -0,0 +1,172 @@
{
"meta": {
"title": "Hostiteľ: pripojenie zdieľania Samba | Dokumentácia ProxMenux",
"description": "Pripojte externé zdieľanie Samba / CIFS na hostiteľovi Proxmox: ako úložisko Proxmox (pvesm add cifs), ako bežné pripojenie cez fstab hostiteľa s otvorenými oprávneniami uid/gid/file_mode (NEZOBRAZUJE sa v Datacenter > Storage), alebo oboma spôsobmi. Metóda fstab otvorí oprávnenia, aby neprivilegovaný LXC s bind mountom tejto cesty mohol čítať a zapisovať bez zmien v kontajneri.",
"ogTitle": "Hostiteľ: pripojenie zdieľania Samba | Dokumentácia ProxMenux",
"ogDescription": "Pripojte externé zdieľanie Samba / CIFS na hostiteľovi Proxmox cez pvesm, fstab s otvorenými oprávneniami pre bind mounty LXC alebo oboje."
},
"header": {
"title": "Hostiteľ: pripojiť zdieľanie Samba na hostiteľovi",
"description": "Pripojte externé zdieľanie Samba (SMB / CIFS) z NAS, počítača Windows alebo exportu SMB TrueNAS na hostiteľovi Proxmox. Vyberte jeden alebo oba spôsoby: registráciu úložiska Proxmox viditeľného v Datacenter > Storage a samostatné pripojenie cez /etc/fstab na zvolenú cestu. Otvorené voľby uid/gid/file_mode umožnia neprivilegovaným LXC používať bind mount bez zmien vnútri kontajnera.",
"section": "Úložisko a zdieľanie · hostiteľ"
},
"intro": {
"title": "Čo to robí?",
"body": "ProxMenux ponúka dva spôsoby pripojenia zdieľania Samba: <strong>(1) Úložisko Proxmox</strong> cez <code>pvesm add cifs</code>, viditeľné v Datacenter > Storage a pripojené do <code>/mnt/pve/&lt;id&gt;</code>. Heslo sa uchováva v otvorenom texte v <code>/etc/pve/priv/storage/&lt;id&gt;.pw</code>, chránené súkromným adresárom prístupným iba root. Ide o riadenie prístupu, nie šifrovanie. <strong>(2) Pripojenie fstab na hostiteľovi</strong> do zvolenej cesty, trvalé cez <code>/etc/fstab</code> a s voľbami <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>, aby neprivilegované LXC mohli zapisovať cez bind mounty. Prihlasovacie údaje sú v súbore pre root v <code>/etc/samba/credentials/</code>, nikdy priamo vo <code>fstab</code>. Možno použiť jeden spôsob alebo oba."
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "V hlavnej ponuke ProxMenux otvorte <strong>Storage &amp; Share Manager → Mount Samba Share on Host</strong>. Zobrazí sa podponuka so štyrmi možnosťami:",
"imageAlt": "Ponuka Samba hostiteľa — Pripojiť / Zobraziť / Odstrániť / Testovať pripojenie"
},
"howRuns": {
"heading": "Ako beží skript",
"body": "Postup má dve fázy. Najprv vyhľadá server, overí prihlasovacie údaje, vyberie zdieľanie a spôsoby pripojenia. Potom vykoná iba vybrané metódy. Prihlasovacie údaje potrebuje vopred, pretože <code>smbclient</code> ich používa na výpis zdieľaní. Do záverečného potvrdenia nemení <code>/etc/pve/storage.cfg</code> ani <code>/etc/fstab</code>."
},
"modes": {
"heading": "Výber spôsobu pripojenia (označte jednu alebo obe možnosti)",
"intro": "Po výbere zdieľania a overení prihlasovacích údajov zobrazí ProxMenux zoznam dvoch spôsobov pripojenia. Môžete označiť jeden alebo oba. Ak stlačíte OK bez výberu, dialóg sa otvorí znovu. Vyberte aspoň jednu možnosť alebo postup ukončite tlačidlom Zrušiť.",
"headerMethod": "Metóda",
"headerMount": "Cesta pripojenia",
"headerUi": "Viditeľné v datacentre > Úložisko",
"headerUseCase": "Typický prípad použitia",
"rows": [
{
"method": "<strong>Ako úložisko Proxmox (pvesm)</strong>",
"mountRich": "<code>/mnt/pve/&lt;storage-id&gt;</code> (manažovaný spoločnosťou Proxmox)",
"ui": "Áno",
"useCase": "Zálohy, obrazy ISO a šablóny LXC — všetko, čo má byť viditeľné v rozhraní Proxmox. Aktívne disky VM sú technicky podporované, ale pri CIFS sa neodporúčajú pre odlišné správanie zámkov."
},
{
"method": "<strong>Iba fstab hostiteľa</strong>",
"mountRich": "<code>/mnt/&lt;path&gt;</code> s otvoreným uidom/gid/file_mode",
"ui": "Nie",
"useCaseRich": "Sprístupnite zdieľanie LXC cez bind mount <em>bez</em> registrácie úložiska Proxmox. Otvorené lokálne oprávnenia pomôžu neprivilegovaným CT, ale zápis stále musí povoliť server SMB overenému používateľovi."
},
{
"method": "<strong>Obe</strong>",
"mount": "Obe cesty uvedené vyššie (dva body pripojenia toho istého exportu CIFS)",
"ui": "Áno",
"useCase": "Chcete UI integráciu A stabilnú cestu na strane hostiteľa s otvorenými právami pre LXC viazanie-mounts. Pripojenie pvesm používa predvolené nastavenia Proxmox; pripojka fstab aplikuje otvorené uid/gid/file_mode samostatne."
}
],
"bothTitle": "„Oboje“ vytvorí dva body pripojenia CIFS",
"bothBody": "pvesm pripojí zdieľanie do <code>/mnt/pve/&lt;id&gt;</code> s predvolenými voľbami Proxmoxu. fstab používa <code>/mnt/&lt;path&gt;</code> s <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> na lokálny prístup cez bind mounty LXC. Server SMB stále vynucuje oprávnenia používateľa pripojenia. Dva body pripojenia nezaručujú dve samostatné spojenia TCP."
},
"pvesmBranch": {
"heading": "Metóda A — ako úložisko Proxmox (pvesm)",
"intro": "Ak je <em>Ako úložisko Proxmox</em> označený, ProxMenux spustí pôvodný pvesm prietok:",
"items": [
"<strong>ID skladu</strong> Predvolené <code>cifs-&lt;server-ip-with-dashes&gt;</code>. Iba písmená, číslice, <code>-</code> a <code>_</code>.",
"<strong>Typy obsahu</strong> — tento výber ProxMenuxu ponúka <strong>6</strong> možností. Oproti NFS vynecháva <code>rootdir</code>. Ide o rozhodnutie skriptu, nie tvrdenie, že každá verzia backendu CIFS v Proxmoxe zakazuje koreňové súborové systémy LXC:"
],
"headerType": "Typ obsahu",
"headerAllows": "Čo to umožňuje",
"rows": [
{
"type": "import",
"allows": "Import obrazu disku (štandardne vybraný)."
},
{
"type": "backup",
"allowsRich": "VM a CT záložné súbory (<code>vzdump</code>)."
},
{
"type": "iso",
"allows": "Inštalačné obrazy ISO."
},
{
"type": "vztmpl",
"allows": "Šablóny LXC."
},
{
"type": "images",
"allowsRich": "Obrazy diskov používaných VM — <strong>s varovaním v dialógu</strong>, pozrite nižšie."
},
{
"type": "snippets",
"allows": "Hook skripty a snippet súbory cloud-init."
}
],
"warnTitle": "Živé disky VM na CIFS",
"warnBody": "Výber <code>images</code> zobrazí varovanie ProxMenuxu: CIFS/SMB môže spôsobovať problémy so zámkami pri operáciách s diskami VM. Skript odporúča NFS, ale umožní pokračovať. Zálohy a ISO sú bežným použitím CIFS. Pred použitím pre <code>images</code> posúďte zámky, snímky, migráciu a záťaž.",
"credsTitle": "Kde pvesm ukladá údaje",
"credsBody": "Heslo sa nezapisuje do <code>/etc/pve/storage.cfg</code>. Proxmox uloží údaje v otvorenom texte do <code>/etc/pve/priv/storage/&lt;storage-id&gt;.pw</code>, v súkromnej oblasti klastrového súborového systému, ktorú môže čítať iba <code>root</code> (režim <code>0600</code>); chránia ich prístupové práva, nie šifrovanie. Po zmene hesla na serveri použite <code>pvesm set &lt;id&gt; --password &lt;new&gt;</code> alebo úložisko odstráňte a pridajte cez ProxMenux."
},
"fstabBranch": {
"heading": "Metóda B — iba pripojenie cez fstab hostiteľa",
"intro": "Pri výbere <em>Iba pripojenie cez fstab hostiteľa</em> sa ProxMenux opýta na cestu a trvalé voľby, v režime používateľa vytvorí súbor prihlasovacích údajov iba pre root, pripojí zdieľanie a zapíše položku do <code>/etc/fstab</code>:",
"items": [
"<strong>Cesta pripojenia k hostiteľovi</strong> Predvolené <code>/mnt/&lt;share-name&gt;</code>. Musí to byť absolútna cesta. Ak je tam niečo už namontované, alebo existuje fstab položka, ProxMenux ponúka, že ho nahradí.",
"<strong>Voľby pripojenia</strong> — <em>Čítanie/zápis</em> (predvolené: <code>rw,uid=0,gid=0,file_mode=0777,dir_mode=0777,iocharset=utf8,nofail,_netdev</code>), <em>Iba na čítanie</em> (<code>file_mode=0555,dir_mode=0555</code>), <em>Vlastné</em> (zadajte vlastné voľby). Skript odporúča otvorené uid/gid/file_mode pre zápis cez bind mounty LXC."
],
"credsTitle": "Súbor prihlasovacích údajov (režim používateľa)",
"credsBody": "V režime používateľa ProxMenux vytvorí súbor údajov iba pre root v <code>/etc/samba/credentials/&lt;server&gt;_&lt;share&gt;.cred</code> (režim <code>0600</code>) s riadkami <code>username=</code> a <code>password=</code>. Položka fstab naň odkazuje cez <code>credentials=</code>; heslo v otvorenom texte nie je v <code>/etc/fstab</code>. V režime hosťa sa pridá <code>guest</code> a súbor údajov sa nevytvorí.",
"appliesIntro": "Keď potvrdíte, skript:",
"applies": [
"Vytvorí adresár bodu pripojenia pomocou <code>mkdir -p</code>.",
"<code>mount -t cifs -o &lt;opts&gt;,credentials=&lt;file&gt;</code> (alebo <code>guest</code>) <code>//&lt;srv&gt;/&lt;share&gt; &lt;path&gt;</code>.",
"Napíše jednoriadkový zápis do <code>/etc/fstab</code>: <code>//&lt;srv&gt;/&lt;share&gt; &lt;path&gt; cifs &lt;opts&gt; 0 0</code>.",
"Spustí <code>systemctl daemon-reload</code> takže systemd zachytí novú fstab položku."
],
"lxcTitle": "Použitie pripojenia fstab z neprivilegovaného LXC",
"lxcBody": "Voľby CIFS <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> otvoria lokálne kontroly oprávnení pre bind mounty LXC. ACL servera a dohodnutá sémantika Unix/POSIX môžu prístup stále ovplyvniť. <strong>V kontajneri sa nič nemení</strong>: žiadne <code>chown</code> v CT, skupiny ani úpravy <code>/etc/lxc</code>. Riadok <code>mp</code> spravuje Proxmox v konfigurácii CT. Použite vypísaný príkaz <code>pct set</code> alebo <mountLink>LXC Mount Manager</mountLink>.",
"noUiTitle": "Pripojenie fstab NIE JE úložiskom Proxmox",
"noUiBody": "Hostiteľský fstab mount je neviditeľný pre web Proxmox UI — podľa návrhu. Nezobrazuje sa v <em>Datacenter > Storage</em>, nemôžete ho vybrať v tvorcovi VM / CT a úlohy zálohovania Proxmox sa naň nemôžu zamerať. Je to čisto cesta hostiteľského súborového systému. Ak chcete aj integráciu UI, označte vo výbere <em>obe</em> metódy."
},
"manual": {
"heading": "Ručný ekvivalent",
"pvesmIntro": "Metóda A (pvesm) zodpovedá:",
"fstabUserIntro": "Metóda B (fstab, overenie používateľa) — súbor prihlasovacích údajov a pripojenie:",
"fstabGuestIntro": "Metóda B (fstab, hosť) — bez súboru prihlasovacích údajov:"
},
"view": {
"heading": "Zobraziť úložiská CIFS a pripojenia hostiteľa",
"body": "Zobrazí registrované úložiská CIFS (<code>pvesm status | awk ''$2 == \"cifs\"''</code>) so serverom, zdieľaním, obsahom, používateľom alebo <em>hosťom</em>, cestou a stavom. Heslá <strong>nikdy nevypisuje</strong>. <strong>Poznámka:</strong> druhá časť vypíše pripojenia fstab hostiteľa, voľby, cestu súboru údajov a aktívny/neaktívny stav. Ručne overte pomocou <code>findmnt -t cifs</code> alebo <code>grep cifs /etc/fstab</code>."
},
"remove": {
"heading": "Odstrániť úložisko CIFS alebo pripojenie hostiteľa",
"body": "Výber ponúka úložiská pvesm aj pripojenia fstab hostiteľa. Pri pvesm spustí <code>pvesm remove &lt;storage-id&gt;</code> a Proxmox odstráni príslušné údaje. Pri fstab skúsi <code>umount &lt;path&gt;</code>, odstráni položku z <code>/etc/fstab</code>, údaje z <code>/etc/samba/credentials/</code> a podľa možnosti prázdny adresár. Neúspešné odpojenie vyžaduje ručné odpojenie alebo reštart. <strong>Vzdialený server Samba a jeho súbory sa nemenia</strong>.",
"warnTitle": "Zálohovanie závislostí najprv",
"warnBody": "VM, CT alebo úlohy zálohovania odkazujúce na ID tohto úložiska po odstránení zlyhajú. Pred odstránením úložiska odkazy presuňte alebo odstráňte."
},
"test": {
"heading": "Testovať Samba konektivitu",
"body": "Diagnostika každého úložiska CIFS registrovaného v Proxmoxe: overí dostupnosť <code>smbclient</code>, ping, porty 445/139, skúsi výpis zdieľaní ako hosť a zobrazí stav podľa Proxmoxu (<code>pvesm status</code>). „Vyžaduje overenie“ pri výpise hosťa znamená, že server sprístupňuje zdieľania iba overeným používateľom, čo je bežné pre väčšinu NAS."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"noServersTitle": "\"Žiadne Samba servery nájdené v sieti\"",
"noServersBody": "Automatické vyhľadávanie používa <code>nmap -p 139,445</code>. Server môže byť na inej podsiete, firewalled, alebo len dosiahnuteľný podľa mena hostiteľa (mDNS / WINS). Použite možnosť <em>Manual</em> s IP alebo názov hostiteľa.",
"noSharesTitle": "„Nenašli sa dostupné zdieľania“",
"noSharesBody": "<code>smbclient -L</code> pre tieto údaje nič nevrátil. Používateľ nemusí mať právo vypísať zdieľania (skúste raz administrátorské údaje alebo zadajte názov ručne), server môže mať vypnutú viditeľnosť zdieľaní alebo sú údaje nesprávne. V takom prípade skript umožní zadať názov zdieľania ručne.",
"denyTitle": "Pripojenie v Proxmoxe zlyhá s NT_STATUS_ACCESS_DENIED",
"denyBody": "Poverenia pvesm uložené sú mimo synchronizáciu so serverom Samba (zmenilo sa heslo, účet vypnutý, nesúlad domény / pracovnej skupiny). Opätovne zadať údaje <code>pvesm set &lt;id&gt; --username &lt;u&gt; --password &lt;p&gt;</code> alebo odstrániť a opätovne pridať z ProxMenux. Ak je server v doméne AD, pripojte <code>--domain &lt;DOMAIN&gt;</code> k hovoru <code>pvesm set</code>.",
"sleepTitle": "\"host je dole\" alebo stav úložiska je neaktívny v noci",
"sleepBody": "Niektoré NAS spotrebiče dali SMB do agresívneho spánku. <code>pvestatd</code> potom vidí úložisko ako neaktívne, kým prvý prístup prebudí NAS. Ak je to kozmetické, nič nie je pokazené. Ak to spôsobí poruchy zálohovania, zakázať SMB vypnuté odpojenie na NAS alebo plán záloh mimo okna spánku.",
"lxcNoWriteTitle": "Neprivilegovaný LXC nemôže zapisovať do cesty fstab cez bind mount",
"lxcNoWriteBody": "Pomocou <code>findmnt /mnt/&lt;path&gt;</code> overte požadované voľby, napríklad <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>. Chýbajúci lokálny zápis môže blokovať mapované UID LXC. Znova použite profil RW alebo upravte vlastné voľby. Overte aj právo zápisu používateľa SMB na serveri a či rozšírenia Unix/POSIX poskytujú režimy servera. Otvorené lokálne režimy neobídu ACL servera.",
"fstabBootTitle": "fstab mount nepríde po reštarte",
"fstabBootBody": "Skript pridáva <code>nofail,_netdev</code>, aby nedostupné zdieľanie pri štarte neblokovalo spúšťanie systému. Ak sa nepripojí vôbec, overte sieť pomocou <code>ping &lt;server&gt;</code>, skontrolujte <code>journalctl -u remote-fs.target</code>, existenciu a čitateľnosť súboru s údajmi pomocou <code>ls -l /etc/samba/credentials/</code> a skúste ručne spustiť <code>mount -a</code>."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/host-nfs",
"label": "Zdieľanie NFS ako úložisko Proxmox",
"tail": " — súvisiaca stránka s rovnakým postupom (metóda A pvesm + metóda B fstab) a porovnaním výhod a nevýhod."
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Správca LXC mountov",
"tailRich": " Pripojiť cestu, ktorá je určená len pre fstab <code>/mnt/&lt;path&gt;</code> do jedného alebo viacerých kontajnerov."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Samba klient v LXC",
"tail": " Alternatíva: pripojte Samba priamo zvnútra privilegovaného kontajnera (obíde hostiteľa)."
}
]
}
}
@@ -0,0 +1,135 @@
{
"meta": {
"title": "Proxmox NFS, Samba, iSCSI a body pripojenia LXC — Úložisko a zdieľanie | ProxMenux",
"description": "Integrujte externé aj lokálne úložisko do Proxmox VE a zdieľajte priečinky medzi hostiteľom a kontajnermi LXC. Pridajte zdieľania NFS, Samba (CIFS) a ciele iSCSI ako úložisko Proxmox, nastavte bind mounty LXC cez Mount Manager a prevádzkujte klientov a servery NFS alebo Samba v kontajneroch.",
"ogTitle": "Proxmox NFS, Samba, iSCSI a body pripojenia LXC — Úložisko a zdieľanie",
"ogDescription": "Integrácia externých a lokálnych úložísk do Proxmox VE: registrácia NFS, Samba a iSCSI, bind mounty LXC a zdieľanie cez sieť.",
"twitterTitle": "Proxmox NFS, Samba, iSCSI | ProxMenux",
"twitterDescription": "Pridajte NFS / Samba / iSCSI ako úložisko Proxmox a zdieľajte priečinky medzi hostiteľom a LXC."
},
"header": {
"title": "Správca úložísk a zdieľania",
"description": "Integrujte externé alebo lokálne úložisko do Proxmox VE a zdieľajte priečinky medzi hostiteľom a kontajnermi LXC. Tri skupiny nástrojov: integrácia úložiska hostiteľa (registrácia priamo v Proxmoxe), LXC Mount Manager (bind mounty s praktickou správou oprávnení) a sieťové zdieľanie LXC (postupy klienta a servera NFS alebo Samba pre konkrétne prípady použitia).",
"section": "Úložisko a zdieľanie"
},
"intro": {
"title": "Na čo je toto menu",
"body": "Disk Manager pracuje na úrovni <em>jednotlivých fyzických diskov</em>. Storage &amp; Share Manager pracuje o úroveň vyššie — <strong>registruje úložné pooly a sieťové zdieľania v Proxmoxe</strong> (aby ich mohlo používať rozhranie a nástroj na vytváranie VM) a <strong>nastavuje zdieľanie súborov medzi hostiteľom a kontajnermi</strong>."
},
"opening": {
"heading": "Otvorenie menu",
"body": "V hlavnej ponuke ProxMenux vyberte <strong>Storage &amp; Share Manager</strong>. Zobrazí sa toto:",
"imageAlt": "Menu správcu úložiska a zdieľania s blokmi HOST a LXC"
},
"groups": {
"heading": "Tri skupiny nástrojov",
"intro": "Ponuka je rozdelená na tri skupiny. <strong>Integrácia úložiska hostiteľa</strong> registruje externé alebo lokálne úložisko priamo v Proxmoxe. <strong>LXC Mount Manager</strong> je hlavný nástroj na zdieľanie priečinkov s kontajnermi — praktický postup bind mountu, ktorý na strane hostiteľa rieši mapovanie UID neprivilegovaných CT. <strong>Sieťové zdieľanie LXC</strong> zahŕňa štyri ďalšie scenáre, pri ktorých kontajner potrebuje priamo <em>používať</em> alebo <em>sprístupňovať</em> zdieľania NFS alebo Samba.",
"hostTitle": "Úložisko hostiteľa",
"hostBody": "Zaregistrujte externé a lokálne úložisko v Proxmoxe cez <code>pvesm add …</code>. Po registrácii, úložisko sa objaví v Proxmox UI a je k dispozícii pre VM a CT tvorcov.",
"hostItems": [
"Externé NFS / Samba / iSCSI → Úložisko Proxmox",
"Lokálny disk → Adresár Proxmox alebo pamäť ZFS",
"Lokálny zdieľaný adresár (pre bind mounty medzi CT)"
],
"lxcMountTitle": "Správca LXC mountov",
"lxcMountBody": "Hlavný nástroj na zdieľanie LXC. Cez <code>pct set -mpN</code> sprístupňuje adresáre hostiteľa v kontajneroch pomocou bind mountov a rieši osobitosti oprávnení neprivilegovaných CT bez vytvárania skupín alebo používateľov v kontajneri.",
"lxcMountItems": [
"Pracuje s privilegovanými a neprivilegovanými CT",
"Ponúka nastavenie <code>o+rwx</code> v adresári hostiteľa pre neprivilegované UID",
"V prípade potreby opraví existujúce pripojenia CIFS a NFS"
],
"lxcNetTitle": "Sieťové zdieľanie v LXC",
"lxcNetBody": "Štyri ďalšie postupy pre kontajnery, ktoré potrebujú priamo používať alebo sprístupňovať zdieľania NFS alebo Samba. Všetky vyžadujú <strong>privilegovaný</strong> kontajner.",
"lxcNetItems": [
"<strong>Klient</strong> NFS / Samba (používanie externých zdieľaní)",
"<strong>Server</strong> NFS / Samba (sprístupňovanie priečinkov CT)"
]
},
"host": {
"heading": "Napojenie úložiska na hosta",
"intro": "Zaregistrujte skladovanie v Proxmox. Každá možnosť volá <code>pvesm add …</code> pod kapotou, takže úložisko sa zobrazí v <strong>Datacenter → Úložisko</strong> a stáva sa k dispozícii pre tvorcov VM / CT.",
"options": [
{
"href": "/docs/storage-share/host-nfs",
"icon": "Network",
"title": "Pridať NFS zdieľanie ako Proxmox úložisko",
"description": "Zaregistruje externý export NFS ako úložisko Proxmox pomocou pvesm add nfs. Pripojenie spravuje Proxmox, bez ďalších záznamov vo fstab."
},
{
"href": "/docs/storage-share/host-samba",
"icon": "Share2",
"title": "Pridať Samba zdieľanie ako Proxmox úložisko",
"description": "Zaregistruje externé zdieľanie Samba alebo CIFS ako úložisko Proxmox pomocou pvesm add cifs. Proxmox spravuje pripojenie aj prihlasovacie údaje."
},
{
"href": "/docs/storage-share/host-iscsi",
"icon": "Database",
"title": "Pridať iSCSI target ako Proxmox úložisko",
"description": "Pripojte sa k externému iSCSI cieľu a zaregistrujte ho ako úložisko Proxmox (blokové zariadenie) pre obrazy VM disku."
},
{
"href": "/docs/storage-share/host-local-disk",
"icon": "HardDrive",
"title": "Pridať lokálny disk ako Proxmox úložisko",
"description": "Naformátujte lokálny disk SATA / SAS / NVMe a zaregistrujte ho ako adresár Proxmox alebo ZFS pool úložisko."
},
{
"href": "/docs/storage-share/host-local-shared",
"icon": "FolderOpen",
"title": "Pridať zdieľaný priečinok na hoste",
"description": "Vytvorte adresár na hostiteľovi určený na sprístupnenie viacerým CT pomocou bind mountov. Nejde o úložisko Proxmox — je to iba prostriedok na strane hostiteľa pre bind mounty LXC."
}
]
},
"lxcMount": {
"heading": "Správca LXC mountov",
"intro": "Hlavný nástroj na zdieľanie priečinkov medzi hostiteľom Proxmox a kontajnermi LXC. Používa <code>pct set -mpN</code> na bind mount adresára hostiteľa do kontajnera a na strane hostiteľa rieši osobitosti oprávnení neprivilegovaných CT (v kontajneri sa nevytvárajú skupiny ani používatelia).",
"card": {
"title": "Body pripojenia LXC (hostiteľ ↔ CT)",
"description": "Sprístupnite ľubovoľný adresár hostiteľa kontajneru LXC cez bind mount pomocou pct set -mpN. Funguje s privilegovanými aj neprivilegovanými CT, ponúka chmod o+rwx a ACL pre adresár na hostiteľovi a podľa potreby opraví existujúce pripojenia CIFS alebo NFS."
}
},
"lxcNet": {
"heading": "Sieťové zdieľanie v LXC",
"intro": "Tieto postupy použite, ak kontajner potrebuje <em>byť</em> koncovým bodom NFS alebo Samba — používať externé zdieľanie (klient) alebo sprístupňovať vlastné priečinky (server). Pre väčšinu potrieb zdieľania (bind mounty hostiteľ ↔ CT) je <mountLink>LXC Mount Manager</mountLink> jednoduchší a nevyžaduje privilegované kontajnery.",
"options": [
{
"href": "/docs/storage-share/lxc-nfs-client",
"icon": "Download",
"title": "NFS klient v LXC",
"description": "Pripájajte externé zdieľania NFS z privilegovaného kontajnera LXC. Podporuje automatické vyhľadanie, trvalé nastavenie v /etc/fstab a čisté odpojenie."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"icon": "Download",
"title": "Samba klient v LXC",
"description": "Pripájajte zdieľania Samba / CIFS z privilegovaného kontajnera LXC. Prihlasovacie údaje sa ukladajú chráneným spôsobom a je dostupné automatické vyhľadanie."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"icon": "Upload",
"title": "NFS server v LXC",
"description": "Exportovať priečinky cez NFS z vo vnútri privilegovaného LXC kontajnera."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"icon": "Upload",
"title": "Samba server v LXC",
"description": "Sprístupniť priečinky cez SMB / CIFS z privilegovaného LXC kontajnera."
}
]
},
"privReq": {
"title": "Požiadavka na privilegovaný kontajner",
"body": "Štyri uvedené postupy <strong>sieťového zdieľania LXC</strong> vyžadujú <strong>privilegovaný</strong> kontajner. Skripty tento podporovaný režim overujú pred nastavením služieb a pripájacích nástrojov (<code>nfs-kernel-server</code>, <code>smbd</code>, <code>mount.nfs</code>, <code>mount.cifs</code>). Ak potrebujete len zdieľať súbory medzi hostiteľom a neprivilegovaným CT, použite <mountLink>LXC Mount Manager</mountLink> — vytvorí bind mount a upraví oprávnenia na hostiteľovi, takže kontajner môže čítať a zapisovať bez nastavenia týchto služieb či nástrojov vo svojom vnútri."
},
"unprivExplain": {
"title": "Ako ProxMenux spracováva neprivilegované práva CT",
"body": "Neprivilegované kontajnery LXC posúvajú svoje UID na hostiteľovi o <strong>+100000</strong> (UID 0 v kontajneri = UID 100000 na hostiteľovi, UID 1000 v kontajneri = UID 101000 na hostiteľovi, …). Súbor vytvorený používateľom kontajnera sa preto na hostiteľovi javí ako <em>ostatní</em> — nezodpovedá bežnému používateľovi ani skupine hostiteľa. LXC Mount Manager to rieši prakticky: namiesto zosúlaďovania UID/GID medzi hostiteľom a CT ponúka <code>chmod o+rwx</code> a zodpovedajúce ACL v adresári hostiteľa, aby každé mapované UID mohlo čítať a zapisovať. CIFS znova pripojí s <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>; pri NFS nastaví adresár zapisovateľný všetkými so sticky bitom a pri root squash poradí so správnou úpravou na serveri."
},
"scripts": {
"heading": "Uvedené skripty",
"intro": "Každá jednotlivá stránka odkazuje na skript, ktorý riadi jej tok. Nižšie uvedený súbor je zdieľaný pomocník, ktorý nie je zdokumentovaný ako jeho vlastná stránka, ale je používaný niekoľkými z LXC sieťových tokov:",
"itemTail": " — spoločné pomocné funkcie pre klientov a servery LXC: overenie CT, výber bodu pripojenia, kontrola privilegovaného režimu a nastavenie univerzálnej skupiny."
}
}
@@ -0,0 +1,174 @@
{
"meta": {
"title": "Body pripojenia LXC (hostiteľ ↔ kontajner) | Dokumentácia ProxMenux",
"description": "LXC Mount Manager sprístupní adresár hostiteľa jednému alebo viacerým kontajnerom LXC cez bind mount pomocou pct set -mpN. Rieši osobitosti oprávnení neprivilegovaných kontajnerov, opravuje pripojenia CIFS a NFS na hostiteľovi a vnútri kontajnera nič nemení.",
"ogTitle": "Body pripojenia LXC (hostiteľ ↔ kontajner) | Dokumentácia ProxMenux",
"ogDescription": "Sprístupnite adresáre hostiteľa kontajnerom LXC cez bind mount. Prakticky rieši mapovanie UID neprivilegovaných kontajnerov a opravuje prístup CIFS / NFS na hostiteľovi."
},
"header": {
"title": "Body pripojenia LXC (hostiteľ ↔ kontajner)",
"description": "Hlavný nástroj na zdieľanie priečinkov medzi hostiteľom Proxmox a kontajnermi LXC. Sprístupní ľubovoľný adresár hostiteľa jednému alebo viacerým kontajnerom cez bind mount pomocou natívnej syntaxe pct set -mpN. Oprávnenia neprivilegovaných kontajnerov rieši na hostiteľovi a vnútri kontajnera nič nemení.",
"section": "Úložisko a zdieľanie · LXC"
},
"intro": {
"title": "Čo to robí?",
"body": "Vyberte adresár na hostiteľovi Proxmox (lokálny priečinok, pripojené zdieľanie NAS alebo úložisko spravované Proxmoxom) a sprístupnite ho v kontajneri LXC na zvolenej ceste. Oprávnenia fungujú aj pre neprivilegované kontajnery bez zmien vnútri kontajnera."
},
"bigPicture": {
"heading": "Ako to funguje (veľký obraz)",
"intro": "Pri bind mounte Proxmox požiada jadro, aby adresár <code>X</code> hostiteľa zobrazovalo aj na ceste <code>Y</code> v kontajneri. Bez kopírovania, synchronizácie či siete: obe strany vidia súčasne <em>tie isté súbory</em>.",
"sourceLabel": "Hostiteľ Proxmox",
"sourceDetail": "/mnt/data\n(váš priečinok)",
"targetLabel": "Kontajner LXC",
"targetDetail": "/mnt/data\n(Ukazuje sa tu)",
"arrowLabel": "bind mount",
"outro": "Cesta hostiteľa vľavo a cesta kontajnera vpravo sa môžu líšiť. Napríklad <code>/mnt/nas-films</code> na hostiteľovi môže byť <code>/media/films</code> v kontajneri. Skript pridá položku do konfigurácie kontajnera (<code>/etc/pve/lxc/&lt;ctid&gt;.conf</code>) s ďalším voľným indexom <code>mpN</code> a dvoma predvolenými nastaveniami:",
"items": [
"<code>shared=1</code> — označí dáta ako zdieľané, takže ich Proxmox nemigruje s CT. Tento príznak dáta nereplikuje: rovnaká cesta a dáta už musia byť dostupné na cieľovom uzle.",
"<code>backup=0</code> — vylúči bind mount zo záloh <code>vzdump</code>. Dáta sú na hostiteľovi a zálohujete ich samostatne."
]
},
"perms": {
"heading": "Spracovanie oprávnení",
"intro": "Bind mounty sú v princípe jednoduché. Náročné sú oprávnenia: <strong>neprivilegovaný</strong> kontajner LXC posúva UID o <strong>+100000</strong>, takže súbor vytvorený používateľom 1000 v CT má na hostiteľovi UID 101000, ktoré nepatrí bežnému účtu hostiteľa. ProxMenux namiesto zjednocovania UID hostiteľa a kontajnerov upraví oprávnenia na strane <em>hostiteľa</em> podľa typu adresára:",
"headerType": "Typ adresára hostiteľa",
"headerAction": "Čo skript ponúka vykonať",
"localType": "Lokálny priečinok",
"localTypeSub": "napr. /mnt/data",
"localActionRich": "<code>chmod o+rwx</code> + <code>setfacl o::rwx</code> v adresári hostiteľa. Ponúka sa len vtedy, ak CT nie je privilegované a aktuálne práva sú nedostatočné.",
"cifsType": "Pripojené CIFS / SMB",
"cifsTypeSub": "napr. /mnt/pve/cifs-…",
"cifsActionRich": "Znova pripojiť s <code>uid=0, gid=0, file_mode=0777, dir_mode=0777</code>, takže CT (akékoľvek UID) môže čítať a zapisovať do zdieľania. <code>/etc/fstab</code> je aktualizovaný.",
"nfsType": "Pripojená NFS",
"nfsTypeSub": "napr. /mnt/pve/nfs-…",
"nfsActionRich": "<code>chmod 1777</code> a <code>setfacl o::rwx</code> na pripojení NFS. Neobídu squashing na serveri: ak nemôže zapisovať ani root hostiteľa, skript poradí upraviť export na serveri NFS.",
"privTitle": "Privilegované kontajnery nepotrebujú nič z toho.",
"privBody": "V privilegovanom CT je UID 0 rovnaké ako UID 0 hostiteľa. Používateľ root v CT preto môže priamo čítať a zapisovať do adresára hostiteľa bez úprav oprávnení. Skript to rozpozná a úpravu oprávnení úplne preskočí.",
"noCtTitle": "Skript nikdy nemení nič vnútri kontajnera",
"noCtBody": "Všetky úpravy oprávnení prebiehajú na <strong>súborovom systéme hostiteľa</strong>. Žiadne zmeny vlastníkov cez <code>pct exec</code>, vytváranie skupín v CT ani fstab v kontajneri. Pri neskoršom použití toho istého adresára v inom CT platia rovnaké oprávnenia automaticky, bez nastavovania každého kontajnera."
},
"writes": {
"heading": "Čo ProxMenux píše a čo nie",
"intro": "Bežný zmätok pri pripájaní väzby do neprivilegovaného CT: ľudia predpokladajú, že ProxMenux musí zapisovať <code>lxc.idmap</code> položky do <code>/etc/pve/lxc/&lt;CTID&gt;.conf</code>. <strong>Nie.</strong> K tomuto súboru je pripojený iba jeden riadok – samotný bind mount:",
"outro": "Výstupný riadok na konci <em>„Neprivilegovaný kontajner — posun UID: 100000“</em> je len informačný. Oznamuje predvolené neprivilegované mapovanie Proxmoxu (root v CT = UID 100000 hostiteľa). Skript toto mapovanie nijako nenastavuje.",
"twoWaysHeading": "Dva spôsoby riešenia oprávnení — a prečo si ProxMenux vyberá jeden",
"headerApproach": "Prístup",
"headerChanges": "Čo to mení",
"headerWhen": "Kedy je vhodný",
"hostType": "Oprávnenia na hostiteľovi",
"hostTypeSub": "(čo tento scenár robí)",
"hostChangesRich": "<code>chmod o+rwx</code> + <code>setfacl o::rwx</code> v adresári hostiteľa. CT zmapované UID (100000+) spadajú do \"ostatných\" vedra, takže otvorenie <em>ostatní</em> je dosť.",
"hostWhen": "Všeobecný prístup k zdieľanému priečinku z ľubovoľného CT. Viaceré CT používajú rovnaký adresár hostiteľa. Jednoduché a opakovane použiteľné.",
"idmapTypeRich": "<code>lxc.idmap</code>",
"idmapTypeSub": "(nepoužitý týmto skriptom)",
"idmapChangesRich": "Vlastné UID/GID mapovanie v <code>/etc/pve/lxc/&lt;CTID&gt;.conf</code> plus zodpovedajúce <code>/etc/subuid</code> + <code>/etc/subgid</code> položky na hostiteľa. CT sa musí reštartovať pri každej zmene.",
"idmapWhenRich": "Potrebujete <em>špecifickú</em> UID vnútri CT mapovať na <em>špecifickú</em> UID na hostiteľa (napr. <code>media:1000</code> v CT musí vlastniť súbory ako <code>media:1000</code> na hostiteľa, takže NFS nemá squash). Pevnejšie nastavenie, zvyčajne stojí za to len pre tento presný scenár.",
"idmapTipTitle": "Keď skutočne potrebujete lxc.idmap",
"idmapTipBody": "Ručné mapovanie použite, ak majú súbory z CT na hostiteľovi patriť konkrétnemu číselnému UID/GID, napríklad spoločnému vlastníkovi s používateľom hostiteľa. Neobíde NFS <code>all_squash</code>; anonymnú identitu a oprávnenia stále určuje server. Podľa potreby ručne pridajte položky <code>lxc.idmap</code>. Riadok bind mountu je od nich nezávislý."
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "V hlavnej ponuke ProxMenux otvorte <strong>Storage &amp; Share Manager → Configure LXC Mount Points (Host ↔ Container)</strong>. Zobrazí sa podponuka s tromi možnosťami:",
"imageAlt": "Ponuka LXC Mount Manager — Pridať / Zobraziť / Odstrániť"
},
"addFlow": {
"heading": "Pridať pripojenie — celý postup",
"intro": "Technický pohľad, pre kedy chcete presne vedieť, čo robí každý dialóg:"
},
"sources": {
"heading": "Čo si môžete vybrať ako hostiteľský adresár",
"intro": "Výber adresára hostiteľa je najpodrobnejší v časti Úložisko a zdieľanie. Prehľadá štyri zdroje a ponúkne zoznam bez duplicít:",
"headerSource": "Zdroj",
"headerWhere": "Odkiaľ pochádza",
"headerLabel": "Štítok v menu",
"rows": [
{
"source": "Aktívne sieťové pripojenia",
"whereRich": "Aktuálne pripojené zdieľania CIFS / NFS načítané z <code>/proc/mounts</code>.",
"labelRich": "<code>NFS [used/size]</code> alebo <code>CIFS/SMB [used/size]</code>"
},
{
"source": "Neaktívne pripojenia fstab",
"whereRich": "Definované v <code>/etc/fstab</code>, ale momentálne nie sú namontované.",
"labelRich": "<code>fstab(off)-NFS</code> / <code>fstab(off)-CIFS/SMB</code>"
},
{
"source": "Miestne adresáre",
"whereRich": "Sub-adresáre pod <code>/mnt</code>, ktoré nie sú sieťové pripojenia.",
"labelRich": "<code>Local [size]</code>"
},
{
"source": "Úložiská Proxmox",
"whereRich": "Skladovacie cesty pod <code>/mnt/pve/*</code> (NFS / CIFS registrované cez <code>pvesm</code>).",
"labelRich": "<code>PVE-NFS</code> / <code>PVE-CIFS/SMB</code> / <code>Proxmox-Storage</code>"
},
{
"source": "Ručný záznam",
"where": "Čokoľvek iné, zadajte absolútnu cestu.",
"labelRich": "<em>Zadajte cestu manuálne</em>"
}
],
"tipTitle": "Interné cesty Proxmox sú filtrované",
"tipBody": "Výber vynechá interné cesty Proxmoxu (<code>/mnt/pve/local</code>, <code>/mnt/pve/local-lvm</code>, <code>/mnt/pve/backup</code> atď.). Sú vyhradené pre interné použitie a nemali by sa sprístupňovať cez bind mount. Zobrazia sa iba úložiská pridané používateľom."
},
"manual": {
"heading": "Ručný ekvivalent",
"privIntro": "Pre privilegovaný kontajner — najjednoduchší prípad bez úprav oprávnení:",
"unprivLocalIntro": "Pre neprivilegovaný kontajner s lokálnym adresárom hostiteľa — najprv otvorte oprávnenia na hostiteľovi:",
"unprivCifsIntro": "Pre neprivilegovaný kontajner s zdieľaním CIFS už namontovaný na hostiteľa:"
},
"view": {
"heading": "Zobraziť body pripojenia",
"body": "Vypíše všetky položky <code>mpN</code> všetkých kontajnerov na hostiteľovi Proxmox, zoskupené podľa ID CT. Zobrazí cestu hostiteľa → cestu kontajnera aj ďalšie voľby. Je to pohľad iba na čítanie, vhodný na kontrolu pred pridaním či odstránením."
},
"remove": {
"heading": "Odstrániť bod pripojenia",
"body": "Vyberte kontajner, položku <code>mpN</code> a potvrďte. Skript pomocou <code>pct set --delete mpN</code> odstráni položku z konfigurácie CT a ponúkne reštart bežiaceho kontajnera. Adresár hostiteľa a jeho obsah <strong>zostanú nedotknuté</strong>. Pripojenie môžete neskôr pridať znova alebo ten istý adresár pripojiť inému CT.",
"warnTitle": "Bežiace kontajnery potrebujú reštart, aby sa zmeny prejavili",
"warnBody": "Pridanie aj odstránenie bodov pripojenia sa zobrazí vo vnútri kontajnera až po reštarte. Skript ponúka jedno kliknutie <code>pct reboot</code> na konci každej operácie; môžete odmietnuť a reštartovať neskôr."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"noMountTitle": "Pripojenie sa zobrazuje v pct config, ale nie v kontajneri",
"noMountBody": "Bind mounty sa pripájajú pri spustení kontajnera. Ak ste pripojenie pridali počas behu CT, reštartujte ho pomocou <code>pct reboot &lt;ctid&gt;</code>. Ak stále chýba aj po reštarte, príkazom <code>pct config &lt;ctid&gt;</code> overte, že záznam existuje a cesta na hostiteľovi skutočne obsahuje adresár.",
"noWriteTitle": "Kontajner môže vidieť adresár, ale nemôže písať",
"noWriteBody": "Takmer vždy ide o oprávnenia. Pri neprivilegovanom CT zopakujte opravu oprávnení v skripte; ACL adresára hostiteľa mohol zmeniť rsync, obnova zálohy alebo ručné <code>chmod</code>. Pri CIFS overte voľby na hostiteľovi pomocou <code>findmnt /mnt/pve/cifs-…</code> a hodnoty <code>uid=</code> / <code>gid=</code> / <code>file_mode=</code>.",
"alreadyTitle": "\"Táto cesta sa už používa ako bod pripojenia v tomto kontajneri\"",
"alreadyBody": "Vybrali ste si rovnakú cestu kontajnera, ktorá je už pripojená k inému adresáru. Buď vyberiete inú cestu kontajnera, alebo najprv odstráňte existujúci bod pripojenia.",
"nfsTitle": "NFS prístup zablokovaný aj po použití hostiteľa fix",
"nfsIntro": "Váš NFS server je squashing koreň alebo všetky spojenia. Skript to môže detekovať (snaží sa napísať testovací súbor z hostiteľa) a zobrazí usmernenie na strane servera. Dve spoločné serverové opravy pre export:",
"nfsItems": [
"<code>no_root_squash</code> — privilegované CT môžu zapisovať priamo.",
"<code>all_squash,anonuid=65534,anongid=65534</code> pre neprivilegované CT."
],
"nfsOutro": "Tieto zmeny sa dejú na serveri NFS (TrueNAS, Synology, váš vlastný export, ...), nie na serveri Proxmox.",
"fstabOffTitle": "Pripojenie \"fstab(off) \" položky nič nerobí",
"fstabOffBody": "Zoznam zobrazuje položky <code>fstab(off)-</code>, ak je sieťové pripojenie definované vo fstab, ale momentálne nie je pripojené. Skript umožní sprístupniť cestu cez bind mount, no adresár zostane prázdny, kým zdieľanie skutočne nepripojíte príkazom <code>mount &lt;path&gt;</code> na hostiteľovi. Najskôr pripojte zdieľanie a až potom ho sprístupnite CT."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/host-local-shared",
"label": "Pridať zdieľaný adresár na hostiteľa",
"tailRich": " — Typický prvý krok: pripraviť <code>/mnt/shared</code> na hostiteľa pred viazaním-pripojiť ho do jedného alebo viacerých CT tu."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "Pridať NFS zdieľanie ako Proxmox úložisko",
"extraHref": "/docs/storage-share/host-samba",
"extraLabel": "Pridať Samba zdieľanie ako Proxmox úložisko",
"joiner": " / ",
"tailRich": " — Najskôr zaregistrujte externé zdieľanie v Proxmoxe, potom priviažte jeho cestu <code>/mnt/pve/&lt;id&gt;</code> do CT tu."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "NFS klient v LXC",
"extraHref": "/docs/storage-share/lxc-samba-client",
"extraLabel": "Samba klient v LXC",
"joiner": " / ",
"tail": " - Alternatíva, keď chcete CT sám pripojiť zdieľanie (vyžaduje privilegovaný kontajner)."
}
]
}
}
@@ -0,0 +1,128 @@
{
"meta": {
"title": "NFS klient v LXC | ProxMenux Dokumentácia",
"description": "Pripojte zdieľania NFS priamo zvnútra kontajnera Proxmox LXC pomocou ProxMenuxu. Skript nainštaluje nfs-common, podporuje automatické vyhľadanie serverov v LAN, trvalé pripojenia cez /etc/fstab a bezpečné spúšťanie systému. Vyžaduje privilegovaný kontajner.",
"ogTitle": "NFS klient v LXC | ProxMenux Dokumentácia",
"ogDescription": "Pripojte zdieľania NFS z privilegovaného kontajnera LXC. Automatické vyhľadanie, trvalé záznamy v /etc/fstab a bezpečné nastavenia spúšťania."
},
"header": {
"title": "NFS klient v LXC",
"description": "Pripojte zdieľania NFS priamo z kontajnera Proxmox LXC. Kontajner sa stáva skutočným klientom NFS: komunikuje so serverom cez sieť, spúšťa mount.nfs a zapisuje do /etc/fstab. ProxMenux nainštaluje nfs-common, pomôže vyhľadať servery a exporty a nastaví bezpečné spúšťanie.",
"section": "Úložisko a zdieľanie · LXC"
},
"privReq": {
"title": "Požadovaný privilegovaný kontajner",
"body": "Klient NFS používajúci <code>mount.nfs</code> potrebuje schopnosti (aspoň <code>SYS_ADMIN</code>), ktoré neprivilegované LXC neposkytujú. Skript vyžiada výber CT a <strong>skončí, ak je neprivilegovaný</strong>. Ak zdieľanie potrebujete v neprivilegovanom CT, najprv ho pripojte na hostiteľovi Proxmox cez <hostNfsLink>Zdieľanie NFS ako úložisko Proxmox</hostNfsLink> a potom ho sprístupnite CT pomocou bind mountu v <mountLink>LXC Mount Manager</mountLink>."
},
"what": {
"heading": "Čo to robí?",
"body": "LXC Mount Manager sprístupňuje CT cestu <em>cez</em> hostiteľa Proxmox. Tento skript namiesto toho poskytne kontajneru <strong>vlastného klienta NFS</strong>: kontajner komunikuje cez sieť, pripája zdieľania priamo zo servera NFS a ukladá ich do vlastného súboru <code>/etc/fstab</code>. Hostiteľ Proxmox nie je súčasťou dátovej cesty.",
"diagramServerLabel": "NFS server",
"diagramServerDetail": "/export/data",
"diagramHostLabel": "Hostiteľ Proxmox",
"diagramHostDetail": "(len\nmost siete)",
"diagramCtLabel": "LXC (privilegovaný)",
"diagramCtDetail": "/mnt/data\nmount.nfs vnútri CT",
"diagramArrow": "NFS",
"twoWaysTitle": "Dva spôsoby, ako poskytnúť CT NFS prístup — vyberte si jeden",
"twoWaysBind": "<strong>Bind mount cez hostiteľa</strong> (<mountLink>LXC Mount Manager</mountLink>): hostiteľ pripojí NFS raz a každý CT dostane rovnakú cestu cez bind mount. Funguje s neprivilegovanými CT. Odporúča sa, ak rovnaké zdieľanie potrebuje viacero CT.",
"twoWaysDirect": "<strong>Priame pripojenie NFS v CT</strong> (táto stránka): CT pripojí NFS samostatne. Vyžaduje privilegovaný CT. Hodí sa, ak má CT spravovať vlastné pripojenie a prihlasovacie údaje alebo ak každý CT komunikuje s iným serverom."
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "V hlavnej ponuke otvorte <strong>Storage &amp; Share Manager → Nastaviť klienta NFS v LXC (iba privilegovaný)</strong>. ProxMenux najprv vyžiada <strong>výber cieľového CT</strong>, spustí ho, ak je zastavený, a skončí pri neprivilegovanom CT. Potom sa zobrazí táto podponuka:",
"imageAlt": "Ponuka klienta NFS — Pripojiť / Zobraziť / Odpojiť / Testovať pripojenie"
},
"howRuns": {
"heading": "Ako beží skript (Mount flow)"
},
"fstabFlags": {
"heading": "Prečo tie fstab vlajky?",
"intro": "Pre trvalé pripojenie skript pridáva tri vlajky za štandardné NFS možnosti: <code>_netdev,x-systemd.automount,noauto</code>. Každý z nich rieši skutočný boot-time problém:",
"headerFlag": "Vlajka",
"headerEffect": "Čo to robí?",
"rows": [
{
"flag": "_netdev",
"effect": "Oznámi inicializačnému systému, že toto pripojenie potrebuje sieť. Spúšťanie systému sa nezablokuje čakaním na pripojenie ešte pred dostupnosťou siete."
},
{
"flag": "x-systemd.automount",
"effectRich": "Vytvorí jednotku systemd automount: súborový systém sa pripojí až pri prvom prístupe k <code>/mnt/&lt;path&gt;</code>. Nedostupný server NFS pri štarte nezablokuje CT."
},
{
"flag": "noauto",
"effect": "Vynechá okamžité pripojenie pri štarte. Spolu s uvedenou jednotkou automount sa súborový systém pripojí až pri prvom prístupe."
}
],
"netEffectTitle": "Čistý účinok",
"netEffectBody": "Súborový systém NFS sa pripojí pri <em>prvom prístupe</em>, nie okamžite pri štarte. Ak server nie je dostupný, prístup môže čakať alebo zlyhať a ovplyvniť služby závislé od danej cesty. Automount znižuje závislosť pri štarte, ale nezaručuje, že výpadok NFS neovplyvní žiadnu službu CT."
},
"manual": {
"heading": "Ručný ekvivalent",
"body": "Celý postup zopakujete ručne — každý príkaz sa spúšťa <strong>vo vnútri CT</strong> cez <code>pct exec &lt;ctid&gt; --</code> alebo priamo cez <code>pct enter &lt;ctid&gt;</code>:"
},
"view": {
"heading": "Zobraziť aktuálne pripojenia",
"body": "Zobrazí aktívne pripojenia NFS v CT (<code>mount | grep nfs</code>) aj všetky riadky NFS v jeho <code>/etc/fstab</code>. Pri každom zázname fstab sa zobrazí aktuálny stav pripojenia, čo pomáha nájsť trvalé pripojenia neobnovené pri štarte."
},
"unmount": {
"heading": "Odpojiť zdieľanie NFS",
"body": "Spojí aktívne pripojenia a položky fstab do jedného zoznamu, umožní výber a <strong>odstráni príslušný riadok z <code>/etc/fstab</code></strong>. Skript <em>nespúšťa</em> <code>umount</code> na aktívnom pripojení — upozorní, že odpojenie sa prejaví až po reštarte CT.",
"warnTitle": "Skript odstráni položky fstab, nie aktívne pripojenia",
"warnBody": "Ide o zámerné správanie: <code>umount</code> zlyhá s „device busy“, ak pripojenie stále používa proces v CT. Odstránenie záznamu z fstab zabezpečí, že sa pri ďalšom spustení CT neobnoví. Ak ho chcete odpojiť <em>hneď</em> a ste si istí, že ho nič nepoužíva, po skončení skriptu ručne vykonajte <code>pct exec &lt;ctid&gt; -- umount /mnt/&lt;path&gt;</code>."
},
"test": {
"heading": "Test NFS konektivita",
"body": "Diagnostika vnútri CT overí inštaláciu <code>nfs-common</code>, beh <code>rpcbind</code> a vypíše aktuálne pripojenia NFS. Potom pri každom serveri NFS uvedenom vo fstab skontroluje ping, port 2049 a <code>showmount -e</code>. Je to vhodný prvý krok, ak sa trvalé pripojenie neobnoví."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"privTitle": "Vyžaduje sa privilegovaný kontajner (skript skončí)",
"privBody": "Vybrané CT je neprivilegované. Jadro NFS klient potrebuje schopnosť <code>SYS_ADMIN</code>, ktorú neprivilegované CT nevystavujú. Buď previesť CT na privilegované (Disk Manager &amp; konverzie je zdokumentovaný v <importLink>Import Disk na LXC</importLink>) alebo použiť alternatívnu cestu popísanú v varovaní v hornej časti tejto stránky.",
"aptTitle": "apt-get install nfs-common fails",
"aptIntro": "Skript predpokladá rodinu Debianu CT (<code>apt-get</code>). Ak CT beží Alpine / Arch / Rocky / Alma, inštalačný krok nefunguje ticho. Nainštalujte NFS klienta ručne pre tento distro:",
"aptItems": [
"Alpine: <code>apk add nfs-utils</code>",
"Arch: <code>pacman -S nfs-utils</code>",
"Rocky / Alma: <code>dnf install nfs-utils</code>"
],
"aptOutro": "Potom znova spustite skript ProxMenux — krok inštalácie preskočí, keď už sú nástroje k dispozícii.",
"portTitle": "\"NFS port (2049) is not accessible\"",
"portBody": "Ping uspel, ale <code>nc -z &lt;server&gt; 2049</code> zlyhal zvnútra CT. Skontrolujte, či služba NFS beží na serveri, či firewall umožňuje 2049 zo siete CT a či má CT skutočne platnú sieťovú trasu (skúste <code>pct exec &lt;ctid&gt; -- ip route</code>).",
"bootTitle": "Trvalé pripojenie funguje, ale po štarte sa neobnoví",
"bootBody": "Príčinou býva nepripravená sieť pri pripájaní v CT, nedostupný server pri štarte alebo nefungujúce DNS pri štarte. Prvý problém riešia voľby <code>_netdev,x-systemd.automount,noauto</code>; ak ste záznam fstab vytvorili ručne bez nich, pridajte pripojenie znovu cez skript. Automount čaká na prvý prístup, čo je bežné správanie. Pri probléme s DNS použite IP adresu servera namiesto názvu.",
"squashTitle": "Server squashes root, žiadny prístup k zápisu z vnútra CT",
"squashIntro": "Export NFS používa <code>root_squash</code> (štandardne) a CT píše ako root. Dve možnosti:",
"squashItems": [
"Server-strana: zmeňte export na <code>no_root_squash</code> (iba ak veríte CT).",
"Na strane CT zapisujte ako používateľ mimo root, ktorého server akceptuje, alebo vhodne upravte vlastníka zdieľania cez chown."
],
"squashOutro": "ProxMenux to nemôže opraviť — ide o pravidlá servera."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "LXC Body pripojenia (Host ↔ Container)",
"tail": " - alternatíva pre neprivilegované CT: pripojiť sa na hostiteľa, naviazať do CT."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Samba klient v LXC",
"tail": " — súvisiaca stránka s rovnakým postupom pre zdieľania SMB / CIFS."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"label": "NFS server v LXC",
"tailRich": " — opačný smer: sprístupniť priečinky <em>z</em> CT cez NFS."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "Zdieľanie NFS ako úložisko Proxmox",
"tail": " — zaregistrovať zdieľanie priamo v Proxmoxe namiesto jedného CT."
}
]
}
}
@@ -0,0 +1,159 @@
{
"meta": {
"title": "NFS server v LXC | ProxMenux Dokumentácia",
"description": "Zdieľajte priečinky cez NFS z kontajnera Proxmox LXC pomocou ProxMenux. Automaticky nainštaluje nfs-kernel-server a nastaví spoločnú skupinu sharedfiles, /etc/exports, sieťové ACL aj úplnú odinštaláciu. Vyžaduje privilegovaný kontajner.",
"ogTitle": "NFS server v LXC | ProxMenux Dokumentácia",
"ogDescription": "Spustite server NFS v privilegovanom LXC so spoločnou skupinou sharedfiles, sieťovými ACL a úplnou odinštaláciou."
},
"header": {
"title": "NFS server v LXC",
"description": "Spustite server NFS jadra v kontajneri Proxmox LXC a sprístupnite priečinky iným počítačom v sieti. ProxMenux nainštaluje nfs-kernel-server, nastaví spoločnú skupinu sharedfiles na zdieľanie súborov medzi viacerými privilegovanými CT, spravuje /etc/exports a ponúka úplnú odinštaláciu.",
"section": "Úložisko & Share · LXC"
},
"privReq": {
"title": "Požadovaný privilegovaný kontajner",
"body": "<code>nfs-kernel-server</code> musí pripojiť súborový systém jadra <code>nfsd</code> do <code>/proc/fs/nfsd</code>. To vyžaduje <code>CAP_SYS_ADMIN</code> v mennom priestore jadra hostiteľa, nielen v používateľskom mennom priestore kontajnera. Neprivilegované LXC túto schopnosť nemajú: <code>rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory)</code>; systemd označí <code>nfs-server.service</code> ako zlyhanú pre závislosť. Skript preto vyžaduje privilegovaný CT a <strong>pri neprivilegovanom CT sa ukončí</strong>. Alternatívou je server NFS vo VM."
},
"what": {
"heading": "Čo to robí?",
"body": "Ide o opačný smer než na stránke <em>klienta NFS</em>: CT sa stane <strong>serverom NFS</strong> a sprístupní vlastný priečinok iným CT, hostiteľovi Proxmox, VM alebo fyzickým počítačom.",
"diagramServerLabel": "LXC (privilegovaný) NFS server",
"diagramServerDetail": "/mnt/data\n(sprístupnený priečinok)\n\nchown root:sharedfiles\nchmod 2775 (SGID)\n\nnfs-kernel-server\n+ rpcbind spustené",
"diagramClientLabel": "Každý klient v sieti",
"diagramClientDetail": "ďalší CT, hostiteľ,\nVM, fyzický stroj...",
"diagramArrow": "Export NFS"
},
"shared": {
"heading": "Spoločná skupina „sharedfiles“",
"body": "Skript vytvorí skupinu <code>sharedfiles</code> s GID <strong>101000</strong> a pridá do nej bežných používateľov. Exportovaný adresár nastaví na <code>root:sharedfiles</code> s režimom <code>2775</code>. Úvodná číslica <code>2</code> zapína SGID: nové súbory a podadresáre zdedia skupinu <code>sharedfiles</code>.",
"gidTitle": "Prečo konkrétne GID 101000",
"gidBody": "Pri predvolenom mapovaní ID v LXC (+100000) sa GID 101000 hostiteľa zobrazí ako GID <strong>1000</strong> v neprivilegovanom CT. Tento serverový postup používa <strong>privilegovaný</strong> CT bez posunu ID. Dva privilegované CT so skupinou <code>sharedfiles</code> a GID 101000 preto používajú rovnaké číselné ID skupiny.",
"remapTitle": "Staré vytváranie používateľov „remap_*“ sa pri privilegovaných CT preskočí",
"remapBody": "Stará vetva pre neprivilegované CT by vytvorila používateľov <code>remap_&lt;uid&gt;</code> s UID <code>&lt;uid&gt; + 100000</code> v skupine <code>sharedfiles</code> pre bežných používateľov a časté UID (33, 1000, 1001, 1002). Posun <code>+100000</code> sa na požadované <strong>privilegované</strong> CT nevzťahuje, preto skript túto vetvu preskočí. Chýbajúce účty <code>remap_*</code> vo výstupe <code>getent passwd</code> sú očakávané a neznamenajú chybu."
},
"defaults": {
"heading": "Predvolené voľby exportu — prečítajte si najprv",
"warnTitle": "Štandardné možnosti zahŕňajú no_root_squash",
"warnBody": "ProxMenux predvolene používa <code>rw,sync,no_subtree_check,'<'strong'>'no_root_squash'<'/strong'>'</code>. <strong>Každý používateľ root na klientovi môže do exportu zapisovať ako root.</strong> Používajte to iba v dôveryhodnej domácej LAN. Ak je CT dostupný z nedôveryhodnej siete (VPS alebo nedôveryhodná VLAN), <strong>zmeňte voľbu na <code>root_squash</code></strong> v dialógu vlastných volieb."
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "V hlavnej ponuke otvorte <strong>Storage & Share Manager → Configure NFS Server in LXC</strong>. Zobrazia sa iba privilegované CT. Vyberte cieľový CT; skript ho spustí, ak je zastavený, a neprivilegovaný CT odmietne. Ponuka má päť možností.",
"imageAlt": "Ponuka servera NFS — Vytvoriť / Zobraziť / Odstrániť / Stav / Odinštalovať"
},
"howRuns": {
"heading": "Ako spustí skript (Create flow)"
},
"network": {
"heading": "Sieťové ACL — kto smie pripojiť export?",
"intro": "<code>/etc/exports</code> určuje, ktorí klienti smú export pripojiť. Dialóg ponúka tri režimy:",
"headerMode": "Režim",
"headerValue": "Hodnota napísaná /etc/exports",
"headerWhen": "Kedy si ju vybrať",
"rows": [
{
"mode": "Miestna sieť",
"value": "192.168.0.0/16",
"whenRich": "Pre bežné domáce a malé firemné siete. Zahŕňa všetky adresy <code>192.168.*.*</code>."
},
{
"mode": "Vlastná podsieť",
"value": "Váš CIDR (napr. 10.0.0.0/24)",
"when": "Keď vaša LAN nie je v 192.168.x.x alebo chcete pevnejší rozsah."
},
{
"mode": "Jediný hostiteľ",
"value": "IP (napr. 10.0.0.42)",
"when": "Len jeden konkrétny stroj by sa mal pripojiť. Najviac obmedzujúce."
}
]
},
"options": {
"heading": "Možnosti exportu vysvetlené",
"headerOption": "Možnosť",
"headerEffect": "Čo to robí?",
"rows": [
{
"option": "rw / ro",
"effect": "Povolí pripojeným klientom čítanie a zápis alebo prístup iba na čítanie."
},
{
"option": "sync",
"effectRich": "Odpovedať na žiadosti o zápis až potom, čo dáta sú na disku. Bezpečnejšie ako <code>async</code> za cenu priepustnosti."
},
{
"option": "no_subtree_check",
"effect": "Pri každej požiadavke vynechá kontrolu, či je súbor stále v exportovanom podstrome. Je to rýchlejšie a predchádza problémom pri premenovaní súborov počas operácie."
},
{
"option": "no_root_squash",
"effectRich": "<strong>Dôverovať používateľovi root na klientovi.</strong> Klient pripájajúci zdieľanie ako root zapisuje aj na serveri ako root. Hodí sa do dôveryhodnej LAN, napríklad ak zálohovací nástroj musí zachovať vlastníkov súborov. Ak úplne nedôverujete každému zariadeniu povolenému sieťovým ACL, použite namiesto toho <code>root_squash</code>."
}
]
},
"manual": {
"heading": "Ručný ekvivalent",
"body": "Celý postup môžete vykonať ručne. Každý príkaz sa spúšťa <strong>v CT</strong> cez <code>pct exec &lt;ctid&gt; --</code> alebo <code>pct enter &lt;ctid&gt;</code>:"
},
"view": {
"heading": "Zobraziť aktuálne exporty",
"body": "Zobrazí <code>/etc/exports</code> z CT bez komentárov a prázdnych riadkov a vypíše každý export so sieťovým ACL a voľbami. Pred zdieľaním IP adresy CT tak môžete overiť, ktoré priečinky sú sprístupnené."
},
"delete": {
"heading": "Odstrániť export",
"body": "Zobrazí každý riadok v <code>/etc/exports</code> pre výber, odstráni vybraný (<code>sed -i</code>), spustí <code>exportfs -ra</code> a reštartuje <code>nfs-kernel-server</code>. Samotný priečinok a jeho obsah zostávajú neporušené."
},
"status": {
"heading": "Kontrola stavu NFS",
"body": "Diagnostika overí, či sú <code>nfs-kernel-server</code> a <code>rpcbind</code> nainštalované a aktívne, vypíše výstup <code>exportfs -v</code>, aktívne relácie NFS (<code>showmount -a</code>) a aktuálne pripojenia klientov."
},
"uninstall": {
"heading": "Odinštalovať server NFS",
"body": "Úplné čistenie po potvrdení: zastaví a vypne <code>nfs-kernel-server</code> a <code>rpcbind</code>, vyprázdni <code>/etc/exports</code>, odstráni balíky NFS pomocou <code>apt-get purge</code>, skupinu <code>sharedfiles</code> aj používateľov <code>remap_*</code> a ukončí zvyšné procesy. <strong>Exportované priečinky sa neodstránia</strong>; odstráni sa iba konfigurácia NFS a balíky.",
"warnTitle": "Skript sa zastaví na exportnom riadku, nie na dátach",
"warnBody": "<em>Odstrániť export</em> a <em>Odinštalovať server NFS</em> odstráni konfiguráciu exportu. Údaje o exportovanom priečinku sa zachovajú. Ak chcete odstrániť aj údaje, urobte to explicitne pomocou <code>rm -rf</code> po dokončení skriptu – a ak by ich ešte niekto mohol potrebovať, najprv si ich zálohujte."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"privTitle": "Vyžaduje sa privilegovaný kontajner (skript sa ukončí)",
"privBody": "Vybraný CT je neprivilegovaný. <code>nfs-kernel-server</code> v ňom nemôže bežať, pretože pripojenie <code>/proc/fs/nfsd</code> vyžaduje <code>CAP_SYS_ADMIN</code> v mennom priestore jadra hostiteľa. Ani modul <code>nfsd</code> nie je sprístupnený v mennom priestore kontajnera: <code>modprobe nfsd</code> zvnútra vráti <code>FATAL: Module nfsd not found</code>. Ak obídete kontrolu, v denníku sa objaví <code>rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory)</code> a porty NFS sa neotvoria. Možnosti sú previesť CT na privilegovaný alebo presunúť server NFS do VM.",
"aptTitle": "Príkaz apt-get install zlyhá",
"aptIntro": "Skript predpokladá CT založený na Debiane. Na Alpine / Arch / Rocky / Alma nainštalujte balíky servera NFS ručne:",
"aptItems": [
"Alpine: <code>apk add nfs-utils</code>",
"Arch: <code>pacman -S nfs-utils</code>",
"Rocky / Alma: <code>dnf install nfs-utils</code>"
],
"aptOutro": "Potom znova spustite skript ProxMenux; ak sú nástroje už prítomné, inštalácia sa preskočí.",
"aclTitle": "Klient sa nemôže pripojiť: 'prístup zamietnutý serverom'",
"aclBody": "IP adresa klienta je mimo nakonfigurovaného sieťového ACL. Vytvorte export so širšou podsieťou alebo pridajte presnú IP klienta. Pozor: pri pripojení cez NAT sa môže zobraziť WAN IP smerovača namiesto LAN IP klienta. Overte to na serveri pomocou <code>tcpdump -n port 2049</code>.",
"ownTitle": "Súbory napísané klientom sa objavujú s divným vlastníctvom na serveri",
"ownIntro": "Dve možnosti:",
"ownItems": [
"S <code>no_root_squash</code> (predvolené) používateľ root na klientovi zapisuje ako root na serveri. Súbory sú vlastnené <code>root:sharedfiles</code> vďaka SGID na priečinku.",
"Používatelia klienta bez oprávnení root zapisujú pod vlastným UID/GID. Ak ich UID na serveri neexistuje, pri súboroch sa zobrazia iba čísla, napríklad <code>1234:1234</code>. Použite aj na klientovi skupinu <code>sharedfiles</code> alebo zjednoťte UID v systémoch, ktoré zdieľajú súbory."
],
"noShowTitle": "Server dosiahnuteľný, ale showmount nič nevráti",
"noShowBody": "Po úprave <code>/etc/exports</code> obnovte tabuľku exportov pomocou <code>exportfs -ra</code> a reštartujte <code>nfs-kernel-server</code>. Skript robí oboje, ale po ručnej úprave to musíte spraviť sami. Overte tiež, že firewall CT aj hostiteľa Proxmox povoľuje TCP/UDP 2049 a port rpcbind (111)."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "NFS klient v LXC",
"tail": " — opačný smer: pripojenie externých zdieľaní NFS v CT."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"label": "Samba server v LXC",
"tail": " — súvisiaca stránka s rovnakým postupom, ale SMB / CIFS namiesto NFS."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "Zdieľanie NFS ako úložisko Proxmox",
"tailRich": " — keď CT sprístupňuje export, zaregistrujte zdieľanie NFS v Proxmoxe, aby sa zobrazilo v <em>Datacenter → Storage</em>."
}
]
}
}
@@ -0,0 +1,155 @@
{
"meta": {
"title": "Samba klient v LXC | ProxMenux Dokumentácia",
"description": "Pripojte zdieľania Samba / CIFS z kontajnera Proxmox LXC cez ProxMenux. Automaticky nainštaluje cifs-utils a smbclient, podporuje vyhľadanie serverov, chránené uloženie prihlasovacích údajov a trvalé pripojenia cez /etc/fstab. Vyžaduje privilegovaný kontajner.",
"ogTitle": "Samba klient v LXC | ProxMenux Dokumentácia",
"ogDescription": "Pripojte zdieľania Samba / CIFS z privilegovaného kontajnera LXC. Automatické vyhľadanie, chránený súbor prihlasovacích údajov a trvalé nastavenie v /etc/fstab."
},
"header": {
"title": "Samba klient v LXC",
"description": "Pripájajte zdieľania Samba (SMB / CIFS) priamo zvnútra kontajnera Proxmox LXC. Kontajner funguje ako skutočný klient CIFS: komunikuje so serverom Samba cez sieť, používa mount.cifs, chráni prihlasovacie údaje a zapisuje pripojenia do /etc/fstab. ProxMenux nainštaluje cifs-utils a smbclient a pred pripojením overí prihlasovacie údaje na serveri.",
"section": "Úložisko a zdieľanie · LXC"
},
"privReq": {
"title": "Požadovaný privilegovaný kontajner",
"body": "Klient Samba / CIFS používajúci <code>mount.cifs</code> potrebuje schopnosti (aspoň <code>SYS_ADMIN</code>), ktoré neprivilegované LXC neposkytujú. Skript vyžiada výber CT a <strong>skončí, ak je neprivilegovaný</strong>. Ak zdieľanie potrebujete v neprivilegovanom CT, najprv ho pripojte na hostiteľovi Proxmox cez <hostSambaLink>Zdieľanie Samba / CIFS ako úložisko Proxmox</hostSambaLink> a potom ho sprístupnite CT pomocou bind mountu v <mountLink>LXC Mount Manager</mountLink>."
},
"what": {
"heading": "Čo to robí?",
"body": "Kontajner komunikuje cez sieť protokolom CIFS a pripája zdieľanie samostatne. Hostiteľ Proxmox slúži len ako sieťový most — pripojenie nevidí ani nespravuje.",
"diagramServerLabel": "Samba server",
"diagramServerDetail": "//srv/share",
"diagramHostLabel": "Hostiteľ Proxmox",
"diagramHostDetail": "(len\nmost siete)",
"diagramCtLabel": "LXC (privilegovaný)",
"diagramCtDetail": "/mnt/share\nmount.cifs vnútri CT",
"diagramArrow": "CIFS",
"twoWaysTitle": "Dva spôsoby, ako dať CT zdieľanie Samba — vyberte si jeden",
"twoWaysBind": "<strong>Bind mount cez hostiteľa</strong> (<mountLink>LXC Mount Manager</mountLink>): hostiteľ pripojí CIFS raz a každý CT dostane rovnakú cestu cez bind mount. Funguje s neprivilegovanými CT. Odporúča sa, ak rovnaké zdieľanie potrebuje viacero CT.",
"twoWaysDirect": "<strong>Priame pripojenie CIFS v CT</strong> (táto stránka): CT pripojí CIFS samostatne. Vyžaduje privilegovaný CT. Hodí sa, ak má CT spravovať vlastné prihlasovacie údaje alebo ak každý CT komunikuje s iným serverom."
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "V hlavnej ponuke otvorte <strong>Storage &amp; Share Manager → Nastaviť klienta Samba v LXC (iba privilegovaný)</strong>. ProxMenux najprv vyžiada <strong>výber cieľového CT</strong>, spustí ho, ak je zastavený, a skončí pri neprivilegovanom CT. Potom sa zobrazí táto podponuka:",
"imageAlt": "Ponuka klienta Samba — Pripojiť / Zobraziť / Odpojiť / Testovať pripojenie"
},
"howRuns": {
"heading": "Ako beží skript (Mount flow)"
},
"creds": {
"heading": "Kde býva heslo",
"body": "ProxMenux <strong>nevkladá heslo do príkazu na pripojenie</strong> ani do <code>/etc/fstab</code>. Namiesto toho vytvorí súbor prihlasovacích údajov v CT. Obsahuje údaje v otvorenom texte chránené oprávneniami iba pre root; nie je šifrovaný:",
"whyTitle": "Prečo samostatný súbor skôr než fstab",
"whyBody": "Modul CIFS podporuje voľby <code>username=</code> / <code>password=</code> priamo vo fstab. Každý, kto môže čítať <code>/etc/fstab</code>, by však videl heslo v otvorenom texte. Uloženie prihlasovacích údajov do súboru prístupného iba root a odkaz z fstab pomocou <code>credentials=</code> zabráni tomu, aby bolo heslo v konfigurácii čitateľnej pre všetkých."
},
"options": {
"heading": "Vysvetlenie možností pripojenia",
"headerOption": "Možnosť",
"headerEffect": "Čo to robí?",
"rows": [
{
"option": "rw / ro",
"effect": "Režim čítania a zápisu alebo iba čítania pre celé pripojenie."
},
{
"option": "file_mode=0664",
"effect": "Oprávnenia hlásené pre súbory prostredníctvom CIFS. Štandardne umožňuje majiteľ+skupina písať, iní čítať."
},
{
"option": "dir_mode=0775",
"effect": "Oprávnenia hlásené pre adresáre. Predvolene vlastník a skupina môžu vstupovať a vytvárať obsah, ostatní môžu adresár prechádzať."
},
{
"option": "iocharset=utf8",
"effect": "Vynúti UTF-8 pre názvy súborov prenášané cez sieť a zabráni poškodenému zobrazovaniu znakov mimo ASCII."
},
{
"option": "credentials=file",
"effect": "Čítať užívateľské meno / heslo zo súboru (pridané automaticky pre užívateľa auth)."
},
{
"option": "guest",
"effect": "Overte ako hosť, nie sú potrebné žiadne údaje (pri výbere hosťa automaticky pridané)."
},
{
"option": "_netdev",
"effect": "Oznámi inicializačnému systému, že toto pripojenie potrebuje sieť. Spúšťanie systému sa nezablokuje čakaním naň."
},
{
"option": "x-systemd.automount",
"effect": "Pripojenie až pri prvom prístupe: súborový systém sa pripojí, keď sa začne používať. Nedostupný server CIFS pri štarte nezablokuje CT."
},
{
"option": "noauto",
"effect": "Vynechá okamžité pripojenie pri štarte. V kombinácii s jednotkou automount sa súborový systém pripojí až vtedy, keď je potrebný."
}
],
"netEffectTitle": "Čistý účinok indikátorov fstab",
"netEffectBody": "Súborový systém CIFS sa pripojí pri <em>prvom prístupe</em>, nie okamžite pri štarte. Ak server nie je dostupný, prístup môže čakať alebo zlyhať a ovplyvniť služby závislé od danej cesty. Automount znižuje závislosť pri štarte, ale nezaručuje, že výpadok CIFS neovplyvní žiadnu službu CT."
},
"manual": {
"heading": "Ručný ekvivalent",
"body": "Celý postup zopakujete ručne — každý príkaz sa spúšťa <strong>vo vnútri CT</strong> cez <code>pct exec &lt;ctid&gt; --</code> alebo priamo cez <code>pct enter &lt;ctid&gt;</code>:",
"guestIntro": "Variant hosťa — súbor prihlasovacích údajov nie je potrebný:"
},
"view": {
"heading": "Zobraziť aktuálne pripojenia",
"body": "Zobrazí aktívne pripojenia CIFS v CT (<code>mount -t cifs</code>) a všetky riadky CIFS v jeho <code>/etc/fstab</code>. Pri každom zázname fstab sa zobrazí aktuálny stav, čo pomáha nájsť trvalé pripojenia neobnovené pri štarte."
},
"unmount": {
"heading": "Odpojiť zdieľanie Samba",
"body": "Spojí aktívne pripojenia a položky fstab do zoznamu, umožní výber a <strong>odstráni príslušný riadok z <code>/etc/fstab</code></strong> aj súvisiaci súbor prihlasovacích údajov. Skript nespustí <code>umount</code> na aktívnom pripojení, ale upozorní na potrebu reštartu CT, aby sa odpojenie prejavilo.",
"warnTitle": "Skript odstráni položky fstab, nie aktívne pripojenia",
"warnBody": "Rovnaký princíp ako pri klientovi NFS: <code>umount</code> na používanom pripojení zlyhá s „device busy“. Odstránenie záznamu z fstab zabezpečí, že sa pripojenie pri ďalšom spustení CT neobnoví. Ak ho chcete odpojiť <em>hneď</em>, po skončení skriptu ručne vykonajte <code>pct exec &lt;ctid&gt; -- umount /mnt/&lt;path&gt;</code>."
},
"test": {
"heading": "Testovať Samba konektivitu",
"body": "Diagnostický priechod vnútri CT: potvrdzuje, že je nainštalovaný <code>cifs-utils</code>, uvádza aktuálne pripojenia CIFS, potom pre každý server, na ktorý sa odkazuje vo fstab, kontroluje ping → porty 139/445 → zoznam hostí. \"Vyžaduje overenie\" v teste hosťa je normálne pre každý server, ktorý nezverejňuje verejné zdieľania."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"privTitle": "Vyžaduje sa privilegovaný kontajner (skript skončí)",
"privBody": "Vybrané CT je neprivilegované. Jadro CIFS klient potrebuje <code>SYS_ADMIN</code>, ktoré neprivilegované CT nevystavujú. Buď konvertujte CT na privilegovanú alebo použite alternatívnu cestu popísanú v varovaní v hornej časti tejto stránky.",
"aptTitle": "apt-get install fails",
"aptIntro": "Skript predpokladá rodinu Debianu CT (<code>apt-get</code>). Na Alpine / Arch / Rocky / Alma, inštalujte CIFS klienta ručne:",
"aptItems": [
"Alpine: <code>apk add cifs-utils samba-client</code>",
"Arch: <code>pacman -S cifs-utils smbclient</code>",
"Rocky / Alma: <code>dnf install cifs-utils samba-client</code>"
],
"aptOutro": "Potom znova spustite skript ProxMenux — krok inštalácie preskočí, keď už sú nástroje k dispozícii.",
"guestFallbackTitle": "\"Server vás spájal ako hosť namiesto zadaného užívateľa\"",
"guestFallbackBody": "Aktívne overenie skriptu zistilo problém s autentifikáciou. Server prijal pripojenie, ale zmenil ho na hosťa pre nesprávne prihlasovacie údaje. Príčiny bývajú preklep v mene alebo hesle, neexistujúci alebo zablokovaný používateľ a nesprávna pracovná skupina či doména. Zopakujte postup a údaje starostlivo zadajte znova (heslo je v dialógu skryté).",
"denyTitle": "„NT_STATUS_ACCESS_DENIED“ pri pripájaní",
"denyBody": "Prihlasovacie údaje sú overené, ale zdieľanie odmieta prístup. Na serveri skontrolujte oprávnenia používateľa ku konkrétnemu zdieľaniu (overenie potvrdzuje prihlásenie, nie ACL jednotlivých zdieľaní). Overte aj požadovanú verziu SMB: do volieb pridajte <code>vers=3.0</code> (alebo <code>2.1</code>, <code>2.0</code>).",
"utf8Title": "Názvy súborov UTF-8 / mimo ASCII sa zobrazujú nesprávne",
"utf8Body": "Predvolené možnosti zahŕňajú <code>iocharset=utf8</code>, ale niektoré konfigurácie serverov hlásia neočakávanú stránku kódov. Ak mená súborov s akcentmi / symbolmi vyzerajú zle, skúste aj <code>nounix</code> (niektoré servery Linux Samba to potrebujú, keď je klient tiež Linux) alebo nastavte stranu servera na <code>unix extensions = no</code>.",
"bootTitle": "Trvalé pripojenie funguje, ale po štarte sa neobnoví",
"bootBody": "Príčinou býva nepripravená sieť pri pripájaní v CT, nedostupný server pri štarte alebo nefungujúce DNS. Voľby <code>_netdev,x-systemd.automount,noauto</code> riešia prvý prípad; automount bežne čaká na prvý prístup. Pri probléme s DNS použite IP adresu servera namiesto názvu."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "LXC Body pripojenia (Host ↔ Container)",
"tail": " - alternatíva pre neprivilegované CT: pripojiť sa na hostiteľa, naviazať do CT."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "NFS klient v LXC",
"tail": " — súvisiaca stránka s rovnakým postupom pre zdieľania NFS."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"label": "Samba server v LXC",
"tailRich": " — opačný smer: sprístupniť priečinky <em>z</em> CT cez Samba."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS ako Proxmox skladovanie",
"tail": " — zaregistrovať zdieľanie priamo v Proxmoxe namiesto jedného CT."
}
]
}
}
@@ -0,0 +1,132 @@
{
"meta": {
"title": "Samba server v LXC | ProxMenux Dokumentácia",
"description": "Spustite server Samba (SMB / CIFS) v kontajneri Proxmox LXC cez ProxMenux. Automaticky nainštaluje samba a spravuje /etc/samba/smb.conf, používateľov smbpasswd a skupinu sharedfiles pre priečinky pripojené cez bind mount. Vyžaduje privilegovaný kontajner.",
"ogTitle": "Samba server v LXC | ProxMenux Dokumentácia",
"ogDescription": "Sprístupnite priečinky cez SMB/CIFS z privilegovaného LXC. Automatická inštalácia, používateľ smbpasswd a oprávnenia prispôsobené bind mountom."
},
"header": {
"title": "Samba server v LXC",
"description": "Spustite server Samba (SMB / CIFS) v kontajneri Proxmox LXC a vystavte priečinky klientom Windows / macOS / Linux v sieti. ProxMenux nainštaluje samba, vytvorí používateľa Samba pomocou smbpasswd, spravuje /etc/samba/smb.conf a použije oprávnenia prispôsobené bind mountom, keď zdieľaný priečinok pochádza od hostiteľa.",
"section": "Úložisko & Share · LXC"
},
"privReq": {
"title": "Požadovaný privilegovaný kontajner",
"body": "Samba sa vydáva za pripájajúceho užívateľa <code>setgroups()</code> pri každom pripojení k zdieľaniu (v okamihu, keď klient otvorí zdieľanie). V neprivilegovaných LXC, jadro odmieta, že syscall, pretože používateľský menný priestor kontajnera je vytvorený s <code>setgroups=deny</code> a <code>smbd</code> reaguje prerušením pracovného procesu s <code>PANIC: sys_setgroups failed</code>. Výsledkom je, že <code>smbd</code> začína a viaže porty 139/445, ale každý klient spojenie zlyhá s <code>NT_STATUS_CONNECTION_DISCONNECTED</code>. Skript presadzuje privilegovaný CT z tohto dôvodu a <strong>sa ukončí, ak CT nie je privilegovaný</strong>. Na strane servera neexistuje čistá oprava; použite privilegovaný CT, alebo spustiť Samba vnútri VM."
},
"what": {
"heading": "Čo to robí?",
"body": "Kontajner sa stáva SMB/CIFS serverom: prevádzkuje <code>smbd</code>, vystavuje priečinok cez <code>/etc/samba/smb.conf</code> a prijíma klientske pripojenia na portoch <code>139</code> / <code>445</code>. Klienti vidia zdieľanie na <code>\\\\&lt;ct-ip&gt;\\&lt;share-name&gt;</code> vo Windows Explorer, <code>smb://&lt;ct-ip&gt;/&lt;share-name&gt;</code> v macOS Finder, alebo prostredníctvom <code>mount.cifs</code> na Linuxe.",
"diagramServerLabel": "LXC (privilegovaný) — server Samba",
"diagramServerDetail": "/mnt/data\n(sprístupnený priečinok)\n\nsmbd + nmbd spustené\n\nPoužívateľ: <username>\n(via smbpasswd)\n\nVynútená skupina:\nsharedfiles",
"diagramClientLabel": "Každý klient v sieti",
"diagramClientDetail": "Windows: \\\\<ip>\\<share>\nmacOS: smb://<ip>/<share>\nLinux: mount.cifs",
"diagramArrow": "SMB / CIFS"
},
"perms": {
"heading": "Dve cesty povolenia v závislosti od typu priečinka",
"body": "Pred pridaním zdieľania do <code>smb.conf</code> skript overí, či je priečinok <strong>bind mountom z hostiteľa</strong> alebo bežným <strong>lokálnym priečinkom v CT</strong>. Podľa toho nastaví rôznych vlastníkov a oprávnenia:",
"headerType": "Typ priečinku",
"headerAction": "Čo robí skript",
"bindType": "Bind mount z hostiteľa",
"bindTypeSubRich": "detekovaný prostredníctvom výstupu <code>mount</code>",
"bindActionRich": "Vytvorí skupinu <code>sharedfiles</code> (predvolené GID 999, dynamické, ak je obsadené), pridá používateľa Samba a použije <code>chown root:sharedfiles</code> a <code>chmod 2775</code> (SGID — nové súbory zdedia skupinu). Ak používateľ stále nemôže zapisovať, použije <code>setfacl -m u:&lt;user&gt;:rwx</code>.",
"localType": "Lokálny priečinok vnútri CT",
"localTypeSub": "Nebol zistený bind mount",
"localActionRich": "Štandardné vlastníctvo: <code>chown -R &lt;user&gt;:&lt;user&gt;</code> + <code>chmod -R 755</code>. Žiadna spoločná skupina nie je potrebná, pretože do tohto priečinku nepíše žiadna iná CT. Vracia sa do <code>setfacl</code> ak stále chýba prístup k zápisu.",
"gidTitle": "GID pre „sharedfiles“ sa líši od toku servera NFS",
"gidBody": "Skript Samba server používa GID <strong>999</strong> pre <code>sharedfiles</code>, zatiaľ čo <nfsLink>postup servera NFS</nfsLink> používa GID <strong>101000</strong>. Ak spustíte oba servery v rovnakom CT a chcete jednu spoločnú skupinu v oboch protokoloch, upravte jeden z nich tak, aby zodpovedal druhému po inštalácii (napr. <code>groupmod -g 101000 sharedfiles</code>) a znova nastavte vlastníkov príslušných priečinkov. Toto je známy nesúlad v aktuálnych skriptoch."
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "V hlavnej ponuke otvorte <strong>Storage & Share Manager → Configure Samba Server in LXC</strong>. Zobrazia sa iba privilegované CT. Vyberte cieľový CT; skript ho spustí, ak je zastavený, a neprivilegovaný CT odmietne. Ponuka má päť možností.",
"imageAlt": "Ponuka servera Samba — Vytvoriť / Zobraziť / Odstrániť / Stav / Odinštalovať"
},
"howRuns": {
"heading": "Ako prebieha vytvorenie v skripte"
},
"modes": {
"heading": "Tri režimy zdieľania",
"intro": "Každý režim zapíše iný blok do <code>smb.conf</code>. Všetky tri zahŕňajú <code>valid users = &lt;username&gt;</code> (nie anonymné), <code>force group = sharedfiles</code> (takže nové súbory patria do zdieľanej skupiny) a <code>veto files = /lost+found/</code> (skrýva ich od klientov).",
"headerMode": "Režim",
"headerBlock": "Blok napísaný smb.conf",
"rwMode": "Čítanie a zápis",
"roMode": "Iba na čítanie",
"customMode": "Vlastné",
"customBodyRich": "Svoje vlastné smernice zapíšete do voľného textu. ProxMenux ich stále zabalí do bloku <code>[share]</code> štandardným <code>path</code>, <code>valid users</code>, <code>force group</code> a <code>veto files</code>."
},
"manual": {
"heading": "Ručný ekvivalent",
"body": "Celý postup môžete vykonať ručne. Každý príkaz sa spúšťa <strong>v CT</strong> cez <code>pct exec &lt;ctid&gt; --</code> alebo <code>pct enter &lt;ctid&gt;</code>:"
},
"connect": {
"heading": "Pripojenie od klientov",
"headerOs": "Operačný systém klienta",
"headerHow": "Ako sa pripojiť",
"windowsOs": "Windows",
"windowsHowRich": "Prieskumník → panel s adresou: <code>\\\\&lt;ct-ip&gt;\\&lt;share-name&gt;</code>. Alebo <em>Pripojiť sieťovú jednotku</em> → začiarknite „Pripojiť pomocou iných prihlasovacích údajov“.",
"macosOs": "macOS",
"macosHowRich": "Finder → <em>Choď → Pripojiť k serveru…</em> → <code>smb://&lt;ct-ip&gt;/&lt;share-name&gt;</code>. Alebo <code>mount_smbfs //user@&lt;ct-ip&gt;/&lt;share&gt; /mountpoint</code>.",
"linuxOs": "Linux",
"linuxHowRich": "<code>mount -t cifs //&lt;ct-ip&gt;/&lt;share&gt; /mnt/x -o username=&lt;u&gt;,password=&lt;p&gt;,iocharset=utf8</code>. Alebo použite klienta <clientLink>Samba na stránke LXC</clientLink>, ak je klientom iný Proxmox CT."
},
"view": {
"heading": "Zobraziť aktuálne zdieľania",
"body": "Analyzuje <code>/etc/samba/smb.conf</code> v CT a vypíše každý blok <code>[share]</code> s cestou, pričom preskočí <code>[global]</code>, <code>[homes]</code> a <code>[printers]</code>. Hodí sa ako rýchly prehľad."
},
"delete": {
"heading": "Odstrániť zdieľanie",
"body": "Umožňuje vybrať zdieľanie podľa mena, odstraňuje blok z <code>smb.conf</code> (<code>sed</code> odstráni z <code>[share]</code> do ďalšieho prázdneho riadku) a reštartuje <code>smbd</code>. Priečinok sám a jeho obsah sú ponechané neporušené."
},
"status": {
"heading": "Kontrola stavu Samby",
"body": "Oznámi, či sú <code>smbd</code> a <code>nmbd</code> nainštalované a aktívne, vypíše používateľov Samba (<code>pdbedit -L</code>) a aktívne relácie (<code>smbstatus</code>)."
},
"uninstall": {
"heading": "Odinštalovať server Samba",
"body": "Úplné čistenie po potvrdení: zastaví a vypne <code>smbd</code> a <code>nmbd</code>, zálohuje <code>smb.conf</code> do <code>smb.conf.backup.YYYYMMDD_HHMMSS</code>, odstráni používateľov Samba pomocou <code>smbpasswd -x</code> a balíky Samba pomocou <code>apt-get purge</code>. <strong>Exportované priečinky sa neodstránia</strong>.",
"warnTitle": "Priečinky zostanú — dáta zálohujte samostatne",
"warnBody": "<em>Odstrániť zdieľanie</em> aj <em>Odinštalovať server Samba</em> odstránia konfiguráciu zdieľania. Dáta v exportovaných priečinkoch sa zachovajú. Ak ich chcete tiež odstrániť, použite po dokončení skriptu výslovne <code>rm -rf</code>."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"privTitle": "Vyžaduje sa privilegovaný kontajner (skript sa ukončí)",
"privBody": "Vybrané CT je neprivilegované a <code>smbd</code> tam nemôže slúžiť súbory. Ak obídete bránu a konfigurujete Sambu ručne, začne sa <code>smbd</code> a otvoria sa porty, ale prvé klientske spojenie spanikári s <code>PANIC: sys_setgroups failed</code> v <code>/var/log/samba/log.&lt;client&gt;</code> a klient vidí <code>NT_STATUS_CONNECTION_DISCONNECTED</code>. Príčinou je neprivilegované používateľský menný priestor s <code>setgroups=deny</code>, ktoré blokuje prevzatie identity používateľa Sambou pri každom pripojení. Ani <code>features=keyctl=1</code> ani odstránenie <code>force user</code> / <code>force group</code> to nemení. Jediné funkčné možnosti sú: previesť CT na privilegované, alebo presunúť Samba na VM.",
"aptTitle": "Príkaz apt-get install zlyhá",
"aptIntro": "Skript predpokladá CT založený na Debiane. Na Alpine / Arch / Rocky / Alma nainštalujte Sambu ručne:",
"aptItems": [
"Alpine: <code>apk add samba</code>",
"Arch: <code>pacman -S samba</code>",
"Rocky / Alma: <code>dnf install samba</code>"
],
"aptOutro": "Potom znova spustite skript ProxMenux; ak sú nástroje už prítomné, inštalácia sa preskočí.",
"noShareTitle": "Klient sa pripojí, ale nevidí zdieľanie",
"noShareBody": "Overte <code>browseable = yes</code> v bloku zdieľania (predvolené pre rw / ro; vo vlastnom režime môže chýbať). Firewall CT aj hostiteľa Proxmox musí povoľovať TCP 445 (SMB) a 139 (NetBIOS). Niektorí klienti Windows potrebujú preklad názvov; najprv skúste priamo IP adresu.",
"authTitle": "Zlyhanie overovania (NT_STATUS_LOGON_FAILURE)",
"authBody": "Heslo je nesprávne (heslá Samba sú <em>oddelené</em> od systémových; používateľov Samba vypíšete pomocou <code>pdbedit -L</code>) alebo používateľ chýba v <code>valid users</code> daného zdieľania. Heslo obnovte v CT pomocou <code>smbpasswd &lt;user&gt;</code>.",
"groupTitle": "Súbory napísané klientom sa objavujú s nesprávnou skupinou na serveri",
"groupBody": "Skript nastaví <code>force group = sharedfiles</code> v bloku zdieľania, takže nové súbory by mali byť skupiny <code>sharedfiles</code>. Ak nie sú, SGID bit na rodičovskom adresári mohol byť stratený (niekto spustil <code>chmod</code> ručne). Opakovane: <code>chmod 2775 /mnt/&lt;share&gt;</code>.",
"bothTitle": "Zdieľanie rovnakého priečinka na oboch NFS a Samba",
"bothBody": "ProxMenux používa rôzne GIDs pre <code>sharedfiles</code> v každom skripte (Samba: 999, NFS: 101000). Ak podávate rovnaký priečinok prostredníctvom oboch, rozhodnite sa pre jednu GID a zarovnajte obe. Najjednoduchšia oprava: po spustení oboch skriptov upravte menšie GID:"
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Samba klient v LXC",
"tail": " — opačný smer: pripojenie externých zdieľaní Samba v CT."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"label": "NFS server v LXC",
"tail": " — súvisiaca stránka s rovnakým postupom, ale NFS namiesto CIFS."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS ako úložisko Proxmox",
"tailRich": " — keď CT sprístupňuje export, zaregistrujte zdieľanie Samba v Proxmoxe, aby sa zobrazilo v <em>Datacenter → Storage</em>."
}
]
}
}
@@ -0,0 +1,123 @@
{
"meta": {
"title": "Värd: Lägg till iSCSI-mål som Proxmox-lagring | ProxMenux Dokumentation",
"description": "Registrera ett iSCSI-mål som Proxmox-lagring med ProxMenux. Verktyget installerar open-iscsi, hittar portalen via sendtargets, låter dig välja mål och kör pvesm add iscsi. Det ger råa blockenheter för VM-diskavbildningar.",
"ogTitle": "Värd: Lägg till iSCSI-mål som Proxmox-lagring | ProxMenux Dokumentation",
"ogDescription": "Registrera ett iSCSI-mål som Proxmox-lagring med guidad upptäckt. Använder pvesm add iscsi och ger råa blockenheter för VM-diskar."
},
"header": {
"title": "Värd: Lägg till iSCSI-mål som Proxmox-lagring",
"description": "Registrera ett iSCSI-mål (från en SAN, TrueNAS / FreeNAS, Synology, ett Windows Server-mål, någon matris som talar iSCSI) som Proxmox-lagring. De exporterade LUNs visas som blockenheter och kan vara värd för VM-diskbilder vid nära lokal prestanda över nätverket.",
"section": "Lagring och delning · Värd"
},
"intro": {
"title": "Vad detta gör",
"body": "ProxMenux erbjuder <code>pvesm add iscsi</code> med ett guidat flöde: det installerar <code>open-iscsi</code> om det behövs, ber om iSCSI portal (IP:port), kör <code>iscsiadm --mode discovery --type sendtargets</code> mot det, låter dig välja ett mål IQN, och registrerar iSCSI lagring i Proxmox. <code>iscsid</code>-tjänsten håller sedan iSCSI-sessionen levande över omstart."
},
"vocab": {
"heading": "iSCSI ordförråd (snabb referens)",
"headerTerm": "Termen",
"headerMeaning": "Betydelse",
"rows": [
{
"term": "Portal",
"meaningRich": "iSCSI service endpoint på målservern - en IP (eller värdnamn) plus en TCP-port. Standardport är <code>3260</code>; ProxMenux antar det om du inte anger en."
},
{
"term": "Mål",
"meaningRich": "En enda exporterad \"server\" i portalen, identifierad av dess IQN (<em>iSCSI Kvalificerad Name</em>). En portal kan vara värd för många mål."
},
{
"term": "IQN",
"meaningRich": "Kanonisk form är <code>iqn.YYYY-MM.reverse.domain:identifier</code>, till exempel <code>iqn.2024-08.com.truenas:proxmox-pool</code>. Både målet och initiatorn har sin egen IQN."
},
{
"term": "LUN",
"meaningRich": "En blockenhet inuti ett mål (Logical Unit Number). Ett enda mål kan exponera flera LUNs; varje LUN visas som sin egen disk i Proxmox och kan bli en VM-skiva."
},
{
"term": "Initiator",
"meaningRich": "Klienten som ansluter till ett mål, i detta fall din Proxmox-värd. Initiatorn har ett eget IQN i <code>/etc/iscsi/initiatorname.iscsi</code>. Mål accepterar vanligtvis bara sessioner från förhandsgodkända initiator-IQN."
}
]
},
"opening": {
"heading": "Öppna verktyget",
"body": "Från ProxMenux: s huvudmeny, öppna <strong>Storage &amp; Share Manager → Lägg till iSCSI Mål som Proxmox Storage</strong>. Du kommer att se denna sub-meny med fyra alternativ:",
"imageAlt": "iSCSI Host Manager-menyn - Lägg till / Visa / Ta bort / Testanslutning"
},
"howRuns": {
"heading": "Hur man kör skriptet (Lägg till flöde)",
"body": "Flödet har två faser med tydlig åtskillnad mellan att \"sätta upp initiativtagaren, upptäcka mål\" och \"registrera lagring i Proxmox\". Till skillnad från NFS / Samba finns det ingen auto-upptäckt på subnet - du måste veta portal adressen (iSCSI är inte sändningsvänlig)."
},
"add": {
"heading": "Lägg till iSCSI-mål som Proxmox-lagring",
"items": [
"<strong>Ange portal</strong> - Skriv IP- eller värdnamnet på iSCSI-målsservern. Port <code>3260</code> antas om du inte skriver <code>host:port</code>.",
"<strong>Upptäck mål</strong> — ProxMenux anropar <code>iscsiadm --mode discovery --type sendtargets --portal &lt;ip:port&gt;</code>. Servern svarar med varje IQN som initiatorn får se. Om upptäckten misslyckas visar skriptet det exakta felet från <code>iscsiadm</code> och vanliga orsaker (fel IP, brandvägg, initiatorns IQN är inte godkänt).",
"<strong>Målval</strong> - ett enda mål är automatisk vald; flera mål visar en meny.",
"<strong>Lagring ID</strong> — standard är <code>iscsi-&lt;last IQN segment, 20 chars max&gt;</code>. Endast bokstäver, siffror, <code>-</code> och <code>_</code>.",
"<strong>Innehållstyp</strong> — till skillnad från NFS/Samba är iSCSI-innehållet <strong>låst till <code>images</code></strong>. iSCSI exponerar råa blockenheter, inte ett filsystem, så Proxmox tillåter bara VM-diskar där."
],
"authTitle": "auktorisera Proxmox-initiativtagaren på målet",
"authBody1": "Innan tilläggsflödet kan slutföras måste iSCSI-målet känna till din Proxmox-värd. Hämta initiatorns IQN:",
"authBody2": "Lägg till detta IQN i målets åtkomstlista (TrueNAS: <em>Sharing → Block → Initiators Groups</em>; Synology: <em>SAN Manager → iSCSI → Target → Edit → Initiators</em>; osv.). Om initiatorn inte är godkänd returnerar <code>iscsiadm</code>-upptäckten en tom lista eller ett autentiseringsfel."
},
"manual": {
"heading": "Manuell motsvarande",
"body": "Hela flödet motsvarar dessa kommandon:"
},
"view": {
"heading": "Visa konfigurerade iSCSI lager",
"body": "Listar varje iSCSI-post i Proxmox (<code>pvesm status | awk ''$2 == \"iscsi\"''</code>) med portal, mål IQN, innehållstyp och levande status."
},
"remove": {
"heading": "Ta bort iSCSI lagring",
"body": "Kör <code>pvesm remove &lt;storage-id&gt;</code> efter att ha bekräftat portal, mål och innehåll. Endast Proxmox-registreringen tas bort - <strong>iSCSI-målet i sig är inte rörd</strong> och befintliga sessioner på kärnsidan kan dröja kvar till nästa omstart.",
"warnTitle": "Kontrollera först befintliga VM-diskar på detta iSCSI",
"warnBody": "Om en iSCSI-lagring tas bort medan VM:ar fortfarande har diskar där pekar de på en lagring som inte längre är registrerad. Proxmox rapporterar felet men LUN-data på målet påverkas inte: du kan registrera lagringen igen för att få tillbaka diskarna. Flytta eller säkerhetskopiera ändå VM:arna först."
},
"test": {
"heading": "Test iSCSI-anslutning",
"body": "Kör en diagnostik: kontrollerar att <code>iscsiadm</code> är installerat, visar initiatorns IQN, bekräftar att <code>iscsid</code> körs, pingar varje registrerad portal, provar dess port och visar <code>pvesm status</code> samt om en iSCSI-session är aktiv (<code>iscsiadm --mode session</code>). En aktiv session och nåbar portal men ”inactive” i Proxmox tyder oftast på föråldrat tillstånd — prova <code>pvesm set &lt;id&gt; --disable 0</code>."
},
"troubleshoot": {
"heading": "Felsökning",
"portalTitle": "\"Kan inte nå portal\" men servern IP svarar någon annanstans",
"portalBody": "Ping misslyckades på portal adressen. Kontrollera att du når <em>lagringsnätverk</em>-gränssnittet (iSCSI bor ofta på ett separat VLAN / subnet från ledningsnätverket). Kontrollera också DNS om du skrev ett värdnamn.",
"discoverTitle": "\"iSCSI upptäckt misslyckades\" från iscsiadm",
"discoverIntro": "Skriptet visar exakt fel. De vanligaste orsakerna:",
"discoverItems": [
"Portal IP / port fel (dubbelkontroll, standard är 3260).",
"iSCSI-tjänst som inte körs på målservern.",
"Brandvägg blockerar 3260 mellan Proxmox och målet.",
"<strong>Initiator IQN är inte auktoriserad på målet.</strong> Den vanligaste orsaken till företagsarrayer. Lägg till din Proxmox IQN till målets initiativtagare ACL först."
],
"noTargetTitle": "Inga mål hittades men upptäckten lyckades",
"noTargetBody": "Servern accepterade initiatorn men exponerar inget mål för den. Granska autentisering och åtkomstkontroller: vissa arrayer tillåter upptäckt för alla IQN men filtrerar vilka mål varje IQN får se.",
"noLunTitle": "LUNs visas inte i /dev/disk/by-path efter registrering",
"noLunBody": "<code>pvesm add iscsi</code> lyckades men kärnan ser inte blockenheter. Kontrollera <code>iscsiadm --mode session</code> - om ingen session är aktiv, starta en manuellt med <code>iscsiadm --mode node --login</code>. Om en session existerar men inga LUN visas, tvinga en rescan: <code>iscsiadm --mode session --rescan</code>. Om fortfarande ingenting, har målet förmodligen inga LUNs tilldelats denna IQN än (konfigurera LUN-kartläggning på målet).",
"chapTitle": "CHAP autentisering",
"chapBody": "ProxMenux har inga fält för CHAP-användarnamn och lösenord i det interaktiva flödet. Om upptäckten misslyckas stoppar skriptet före <code>pvesm add</code>; lagringen registreras inte trots felet. Konfigurera målets CHAP-krav separat i <code>open-iscsi</code>, inklusive autentisering för upptäckt om det krävs, och försök igen. Kontrollera konfigurationen med <code>iscsiadm</code> och aktiva sessioner med <code>iscsiadm --mode session</code>."
},
"related": {
"heading": "Relaterad",
"items": [
{
"href": "/docs/storage-share/host-nfs",
"label": "NFS-delning som Proxmox-lagring",
"tail": " — fil-nivå alternativ. Enkelt att ställa in, mer flexibel (backup / ISO / tmpl / avbildningar), något långsammare för levande VM-skivor."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS som Proxmox förvaring",
"tail": " — ett annat alternativ på filnivå; undvik för diskar till körande VM:ar på grund av låssemantiken."
},
{
"href": "/docs/storage-share/host-local-disk",
"label": "Lägg till lokal disk som Proxmox lagring",
"tail": " — när disken finns lokalt på Proxmox-värden i stället för på en annan dator i nätverket."
}
]
}
}
@@ -0,0 +1,186 @@
{
"meta": {
"title": "Värd: Lägg till lokal disk som Proxmox lagring | ProxMenux Dokumentation",
"description": "Formatera en lokal SATA-, SAS- eller NVMe-disk på en Proxmox-värd och registrera den som katalog- eller ZFS-poollagring. Verktyget väljer diskar säkert, kräver bekräftelse före destruktiva steg, använder UUID i fstab, skapar ZFS-pooler och kör pvesm add dir / zfspool.",
"ogTitle": "Värd: Lägg till lokal disk som Proxmox lagring | ProxMenux Dokumentation",
"ogDescription": "Formatera en lokal disk och registrera den som kataloglagring eller ZFS-pool i Proxmox med ett guidat flöde och säkerhetsfilter."
},
"header": {
"title": "Värd: Lägg till lokal disk som Proxmox lagring",
"description": "Välj en fysisk disk på Proxmox-värden, formatera den vid behov som ext4, xfs, btrfs eller zfs och registrera den som kataloglagring med pvesm add dir eller som ZFS-pool med pvesm add zfspool. ProxMenux filtrerar bort systemdisken och diskar som används och beskriver varje destruktivt steg innan det körs.",
"section": "Lagring och delning · Värd"
},
"intro": {
"title": "Vad detta gör",
"body": "Övriga <em>Host</em> verktyg i detta avsnitt behandla <strong>nätverkslagring</strong> (NFS / Samba / iSCSI). Den här handlar om <strong>lokala</strong> diskar - reservdiskar fysiskt fästa på din Proxmox-värd som du vill använda för VM-skivor, säkerhetskopior, ISOs eller mallar. ProxMenux förbereder disken (partition + format + montering) och registrerar den i Proxmox så att UI kan placera innehåll där."
},
"destructive": {
"title": "Destruktivt verktyg för \"format\" vägen",
"body": "Alternativet <em>Formatera</em> <strong>förstör befintliga partitioner och data på den valda disken</strong>. ProxMenux visar en varning, filtrerar bort diskar som används och kräver bekräftelse innan <code>wipefs</code> / <code>sgdisk</code> / <code>mkfs</code> körs. Detta är inte säker överskrivning av varje byte. Kontrollera enhetssökvägen två gånger innan du bekräftar."
},
"compare": {
"heading": "Katalog eller ZFS-pool — vilket ska du välja?",
"headerDir": "Katalog (ext4 / xfs / btrfs)",
"headerZfs": "ZFS pool",
"rows": [
{
"label": "Proxmox lagringstyp",
"dirRich": "<code>dir</code>",
"zfsRich": "<code>zfspool</code>"
},
{
"label": "VM skivformat",
"dir": "qcow2-/raw-fil i ett filsystem",
"zfs": "Inbyggt ZFS-dataset (zvol) per disk"
},
{
"label": "Ögonblicksbilder",
"dir": "qcow2 snapshots; btrfs snapshots om fs=btrfs",
"zfs": "Inbyggda, omedelbara, copy-on-write"
},
{
"label": "Dynamisk allokering",
"dir": "Ja (qcow2 standard)",
"zfs": "Ja (ZFS standard)"
},
{
"label": "RAM-behov",
"dir": "Låg",
"zfs": "Högt — ZFS använder ledigt RAM som ARC-cache"
},
{
"label": "Stöder innehållstyper",
"dir": "images, backup, iso, vztmpl, snippets, rootdir",
"zfs": "endast images och rootdir (blocklagring)"
},
{
"label": "Bäst för",
"dir": "Allmänt ändamål disk: blandning av VM diskar, säkerhetskopior, ISOs",
"zfs": "Rena VM / LXC datadisk med ögonblicksbild + integritetsbehov"
}
]
},
"opening": {
"heading": "Öppna verktyget",
"body": "Öppna <strong>Storage &amp; Share Manager → Add Local Disk as Proxmox Storage</strong> i ProxMenux huvudmeny. Undermenyn har fyra alternativ:",
"imageAlt": "Lokal Disk Manager-menyn - Lägg till / Visa / Ta bort / Lista tillgängliga diskar"
},
"howRuns": {
"heading": "Hur man kör skriptet (Lägg till flöde)",
"body": "Flödet har två faser med ett trippelt säkerhetsfilter. Fas 1 upptäcker säkra diskar, bestämmer vad du ska göra med den valda och samlar in lagringsparametrar; Fas 2 gör det destruktiva arbetet. Fram till den slutliga bekräftelsen är disken orörd."
},
"format": {
"heading": "Formatera en blank disk",
"intro": "Vägen för en ny skiva eller en vars innehåll du inte bryr dig om.",
"items": [
"Välj disken (system / in-use diskar är dolda).",
"Välj \"Format disk (ERASE all data)\".",
"Välj filsystemet - se tabellen ovan för avvägningar.",
"Lagring ID (standard <code>disk-&lt;device&gt;</code>), monteringsväg, innehållstyp förinställd.",
"Bekräfta i dialogen <strong>SLUTLIG BEKRÄFTELSE — DATA KOMMER ATT RADERAS</strong>.",
"ProxMenux rensar partitionstabellen och skapar en partition över hela disken. Det kör <code>mkfs.&lt;fs&gt;</code> eller <code>zpool create</code> och monterar resultatet. Vanliga filsystem får en UUID-post i <code>/etc/fstab</code> med <code>defaults,nofail</code>; ZFS använder poolens monteringskonfiguration. Om <em>Som Proxmox-lagring</em> är markerat (alltid för ZFS) registreras den sedan med <code>pvesm add dir</code> eller <code>pvesm add zfspool</code>; annars förblir den bara en montering på värden."
],
"tipTitle": "Varför UUID + nofail i /etc/fstab",
"tipBody": "Skriptet skriver <code>UUID=… /mnt/&lt;id&gt; &lt;fs&gt; defaults,nofail 0 2</code>. UUID överlever enhetsreordering över omstart (så <code>/dev/sdc</code> blir <code>/dev/sdd</code> inte bryta start). <code>nofail</code> innebär att om disken någonsin försvinner (hårdvarufel, urkopplad), startar Proxmox ändå - lagring kommer bara att visas som inaktiv tills disken kommer tillbaka."
},
"reuse": {
"heading": "Återanvänd ett befintligt filsystem",
"intro": "Vägen för en disk du vill hålla data på - kanske du flyttade den från en annan Proxmox-värd, eller disken har redan säkerhetskopior / ISOs du vill hålla tillgänglig.",
"items": [
"Välj disken.",
"Välj \"Använd befintliga filsystem\".",
"Lagring ID, monteringsväg, innehållstyp förinställd.",
"ProxMenux vidrör <strong>inte</strong> data: den skapar monteringspunkten, monterar disken, lägger till en UUID-post till <code>/etc/fstab</code> och registrerar den som en Proxmox <code>dir</code>-lagring."
],
"warnTitle": "Återanvändningsväg hanterar inte ZFS pooler",
"warnBody": "Om disken redan innehåller en ZFS pool, <em>reuse</em> väg här försöker bara montera den som ett vanligt filsystem - som misslyckas. För att importera en befintlig ZFS pool använda <code>zpool import &lt;name&gt;</code> på kommandoraden och sedan registrera den manuellt med <code>pvesm add zfspool</code>."
},
"presets": {
"heading": "Innehållstyp förinställningar",
"intro": "ProxMenux erbjuder tre förinställningar och ett eget alternativ. Den valda innehållssträngen skickas till <code>pvesm add … --content &lt;csv&gt;</code>:",
"headerPreset": "Förinställning",
"headerContent": "Innehållssträng",
"headerUse": "Användningsfall",
"rows": [
{
"preset": "VM-lagring",
"content": "images,backup",
"use": "Lagring avsedd för VM-diskar som även har säkerhetskopior av samma VM:ar nära till hands."
},
{
"preset": "Standard-NAS",
"content": "backup,iso,vztmpl",
"use": "En arkiv / media disk - säkerhetskopior, ISOs och LXC mallar. Inga live VM-skivor här."
},
{
"preset": "Alla typer",
"content": "images,backup,iso,vztmpl,snippets",
"use": "Den breda förinställningen aktiverar avbildningar, säkerhetskopior, ISO-filer, LXC-mallar och snippets. Lägg vid behov till andra typer som stöds, exempelvis rootdir, via Anpassad."
},
{
"preset": "Anpassad",
"content": "(fri input)",
"useRich": "Skriv exakt CSV själv, t.ex. <code>images</code> ensam, eller <code>rootdir,images</code>."
}
],
"zfsTitle": "ZFS pool innehåll är smalare",
"zfsBody": "Med <strong>zfs</strong> stöder en <code>zfspool</code> endast <code>images</code> och <code>rootdir</code>, inte ISO- eller säkerhetskopieringsfiler. Ange en lista som stöds via Anpassad. Skriptet skickar valet oförändrat; typer som inte stöds kan få registreringen att misslyckas. Kontrollera därefter <code>pvesm status</code>."
},
"manual": {
"heading": "Manuell motsvarande",
"extIntro": "Format + registrera en disk som ext4 katalog lagring:",
"zfsIntro": "Eller som ZFS pool:"
},
"view": {
"heading": "Visa disklagringar",
"body": "Listar varje diskstödd Proxmox-lagring (både <code>dir</code> och <code>zfspool</code> som är användarskapade - systempooler som <code>rpool</code> är dolda). Visar monteringsvägen / poolnamn, innehållstyper och aktuell status."
},
"remove": {
"heading": "Ta bort disklagring",
"body": "Avregistrerar lagringen från Proxmox (<code>pvesm remove</code>) och erbjuder att rensa upp den matchande posten i <code>/etc/fstab</code>. För ZFS pools förstör skriptet <strong>inte</strong> automatiskt pool – det är ett separat <code>zpool destroy &lt;name&gt;</code> steg du gör för hand när du är säker.",
"warnTitle": "Data och befintliga VM beroenden",
"warnBody": "Ta bort lagringen rör inte filsystemet eller poolen - data stannar på disken. Men VMs / CT som refererar till denna lagring av ID kommer inte att starta efter borttagning. Flytta dessa VM-skivor till en annan lagring (eller ta en säkerhetskopia) innan du tar bort."
},
"list": {
"heading": "Lista tillgängliga diskar",
"body": "En skrivskyddad diagnostikvy: visar utdata av <code>lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,MODEL</code> följt av <code>dir</code> / <code>zfspool</code> lagringar Proxmox vet redan om. Bra första stopp när du öppnar verktyget och vill se \"vad är på denna värd?\" innan du lägger till något."
},
"troubleshoot": {
"heading": "Felsökning",
"noDisksTitle": "\"Inga tillgängliga diskar hittade\"",
"noDisksIntro": "Säkerhetsfiltret gömde varje disk. Vanliga skäl:",
"noDisksItems": [
"Endast rotskivan är närvarande.",
"Varje annan disk är en del av en aktiv ZFS / LVM / RAID-array.",
"Varje annan disk refereras av en VM eller LXC konfig (genomgång).",
"Disken är skrivskyddad (hårdvarufel eller skrivblockerare)."
],
"noDisksOutro": "Använd <em>List Available Disks</em> från menyn för att se den råa <code>lsblk</code>-utgången och förstå vad som händer.",
"mountedTitle": "Format misslyckas med \"enhet är monterad\"",
"mountedBody": "Något automatiskt monterade disken (udisksd, en skrivbordshanterare, en kvardröjande systemd-enhet). Avmontera den: <code>umount /dev/sdX?*</code> eller <code>systemctl stop &lt;whatever-mounts-it&gt;</code>, och försök igen. Skriptets säkerhetsfilter ska ha dolda monterade diskar, så om du nådde detta fel inträffade monteringen mellan menyn och du bekräftar.",
"zpoolTitle": "zpool create misslyckas med ”invalid vdev specification”",
"zpoolBody": "Vanligtvis betyder disken fortfarande har gamla GPT / LVM / ZFS signaturer som <code>zpool</code> vägrar att skriva utan att tvingas. Manuset kör <code>wipefs</code> och <code>sgdisk --zap-all</code> före formatet, men en mycket envis disk kan fortfarande ha en gammal etikett. Tvinga en rensning manuellt: <code>zpool labelclear -f /dev/sdX</code> eller <code>dd if=/dev/zero of=/dev/sdX bs=1M count=10</code> och försök igen.",
"inactiveTitle": "Lagring visar som inaktiv efter omstart",
"inactiveBody": "Kontrollera <code>findmnt &lt;mount-path&gt;</code> - om fästet saknas, missade något i <code>/etc/fstab</code>. <code>dmesg | tail</code> pekar vanligen på orsaken (UUID felmatch, filsystem korruption, <code>nofail</code> släppte retry). En <code>mount -a</code> återaktiverar vanligtvis lagringen när orsaken är fast."
},
"related": {
"heading": "Relaterad",
"items": [
{
"href": "/docs/disk-manager/format-disk",
"label": "Diskhanterare: formatera / radera fysisk disk",
"tail": " — låg nivå alternativ när du bara vill förbereda en disk utan att registrera den som Proxmox lagring."
},
{
"href": "/docs/storage-share/host-iscsi",
"label": "Lägg till iSCSI-mål som Proxmox-lagring",
"tail": " — motsvarande nätverkslösning när blockenheten finns på en annan dator."
},
{
"href": "/docs/storage-share/host-local-shared",
"label": "Lägg till delad katalog på värd",
"tail": " — förbered en katalog på värden för LXC-bind-monteringar (registrerar ingen Proxmox-lagring)."
}
]
}
}
@@ -0,0 +1,103 @@
{
"meta": {
"title": "Värd: Lägg till delad katalog på Värd | ProxMenux Dokumentation",
"description": "Skapa en värdkatalog för LXC-bind-monteringar med behörigheter för både privilegierade och oprivilegierade containrar. Sticky bit, rwx för alla och standard-ACL:er för arv.",
"ogTitle": "Värd: Lägg till delad katalog på Värd | ProxMenux Dokumentation",
"ogDescription": "Förbered en värdkatalog för LXC-bind-monteringar med behörigheter som är kompatibla med privilegierade och oprivilegierade CT."
},
"header": {
"title": "Värd: Lägg till delad katalog på värd",
"description": "Skapa en värdkatalog utformad för att vara bindmonterad till en eller flera LXC-behållare. ProxMenux tillämpar en uppsättning behörigheter som fungerar för både privilegierade och oprivilegierade CT på en gång - ingen skiftad UID huvudvärk, inga per-container chowns - och registrerar katalogen så LXC Mount Manager kan plocka upp det senare.",
"section": "Lagring och delning · Värd"
},
"intro": {
"title": "Vad detta är (och inte)",
"body": "Det här verktyget registrerar <strong>inte</strong> något i Proxmox (ingen <code>pvesm add</code> här). Den förbereder bara en katalog på värden — <code>/mnt/shared</code>, som standard — med behörigheter som alla LXC-behållare kan läsa och skriva, oavsett om CT är privilegierad eller oprivilegierad. Det vanliga nästa steget är att bind-montera den i varje CT med <mountLink>LXC Mount Manager</mountLink>."
},
"why": {
"heading": "Varför ett dedikerat verktyg för detta",
"intro": "När du binder en värdkatalog till en LXC-behållare beror behörigheter på:",
"items": [
"Om CT:n är <strong>privilegierad</strong> (UID 0 i CT = UID 0 på värden) eller <strong>oprivilegierad</strong> (UID 0 i CT = UID 100000 på värden — allt förskjuts med +100000).",
"Värdkatalogens ägare (en fil som ägs av UID 1000 på värden använder behörigheterna för ”övriga” ur en oprivilegierad CT:s perspektiv, eftersom ingen CT-användare mappas till värdens UID 1000).",
"Oavsett om flera CT delar samma katalog (annorlunda CT kan ha olika UID-intervall)."
],
"outro": "ProxMenux använder en praktisk metod: <strong>ge alla åtkomst</strong> på filsystemnivå med rwx för alla, sticky bit och ACL:er för arv av behörigheter. Alla mappade UID:n kan läsa och skriva; ingen anpassning av UID/GID behövs."
},
"howRuns": {
"heading": "Så körs skriptet",
"body": "Skriptet har ingen huvudmeny - det driver en enda åtgärd, <strong>Skapa delad katalog</strong>. Fas 1 samlar in målvägen; Fas 2 skapar katalogen och tillämpar behörigheter."
},
"bits": {
"heading": "Vad varje tillstånd bit gör",
"intro": "Numret <strong>1777</strong> är inte godtyckligt - det är samma läge Linux använder för <code>/tmp</code>. Tre egenskaper kombinerade:",
"headerBit": "Bit",
"headerEffect": "Effekt",
"headerWhy": "Varför det spelar roll här",
"rows": [
{
"bit": "1 (sticky bit)",
"effect": "Bara filägaren, katalogägaren eller en process med tillräckliga privilegier får ta bort eller byta namn på filen.",
"why": "Hjälper till att hindra användare med olika mappade UID:n från att radera varandras filer. Isolerar inte CT:er som delar mappat UID eller privilegierad rootåtkomst."
},
{
"bit": "777 (rwx-rwx-rwx)",
"effect": "Alla kan läsa, skriva och korsa.",
"why": "Oprivilegierade CT UID (100000+) visas som \"andra\" från värden, så världsrwx ger dem tillgång."
},
{
"bit": "ACL:er (standard)",
"effect": "Ärvd på varje nyskapad fil/underdir.",
"why": "Nytt innehåll ärver standard-ACL:erna utan att skriptet körs igen. Program kan fortfarande begära restriktiva lägen eller ändra behörigheter senare."
}
],
"privTitle": "Privilegierade CT ser samma sak, bara utan skiftet",
"privBody": "För en privilegierad CT, UID 0 i CT är UID 0 på värden, så <code>root</code> inuti CT kan läsa / skriva värdkatalogen direkt. <code>1777</code> är fortfarande bra - det betyder bara att icke-rotanvändare i CT också kan använda katalogen. Samma behörighet omfattar båda fallen."
},
"where": {
"heading": "Var ska man sätta den delade katalogen",
"intro": "Platsvalaren erbjuder fyra alternativ:",
"opt1Title": "1. Skapa ny mapp i /mnt",
"opt1Body": "Det vanliga valet. ProxMenux auto föreslår det första fria namnet (<code>shared</code>, <code>shared2</code>, <code>shared3</code>, ...). Du bekräftar eller skriver ett annat namn.",
"opt2Title": "2. Ange anpassad väg",
"opt2Body": "För kataloger utanför <code>/mnt</code>. All absolut väg fungerar (t.ex. <code>/srv/media</code>, <code>/data/family</code>). Skriptet tillämpar samma behörigheter.",
"opt3Title": "3. Visa befintliga mappar i /mnt",
"opt3Body": "Läs-bara diagnostik: listar varje katalog under <code>/mnt</code> med sina behörigheter, ägare och tillgängligt utrymme. Användbar innan du skapar en ny för att undvika namnkollisioner.",
"opt4Title": "4. Avbryt",
"opt4Body": "Avslutar utan att skapa något, som att trycka på <kbd>Esc</kbd>.",
"tipTitle": "Var bor /mnt?",
"tipBody": "Som standard <code>/mnt</code> sitter på Proxmox rotfilsystem. Om du vill ha den delade katalogen på en annan disk (en dataskiva, en ZFS pool), montera den disken under <code>/mnt/&lt;name&gt;</code> först (Disk Manager eller <diskLink>Lägg till lokal disk som Proxmox lagring</diskLink>), och sedan skapa den delade katalogen som en undermapp i den - eller välj \"Ange anpassad sökväg\" här och peka på den monterade disken."
},
"manual": {
"heading": "Manuell motsvarande",
"body": "Hela flödet kan återspelas för hand:"
},
"next": {
"heading": "Nästa steg: bind-mount i containrar",
"body": "Att skapa katalogen förbereder den bara – ingen container ser den ännu. För att göra det synligt inuti en eller flera LXC:er, använd <mountLink>LXC Mount Manager</mountLink> för att binda <code>/mnt/&lt;name&gt;</code> till CT:erna. Eftersom behörigheterna redan är öppna, kommer Mount Manager <strong>inte</strong> att erbjuda att ändra dem – katalogen är redo att användas som den är."
},
"troubleshoot": {
"heading": "Felsökning",
"mkdirTitle": "\"Failed to create directory\"",
"mkdirBody": "Vanligtvis ett filsystemproblem: <code>/mnt</code> är på ett skrivskyddat filsystem, banan innehåller en komponent som inte är en katalog (t.ex. du skrev <code>/etc/passwd/sub</code>), eller disken är full. Kolla med <code>df -h /mnt</code> och <code>mount | grep /mnt</code>.",
"writeTitle": "Container kan inte skriva trots öppna behörigheter",
"writeBody": "Dubbelkolla CT använder faktiskt bindfästet (<code>pct config &lt;ctid&gt; | grep ^mp</code>). Inuti CT, kör <code>touch /mnt/data/test-$(date +%s)</code> - om detta misslyckas med tillstånd nekas, kan fästet vara på ett värdfilsystem som inte hedrar ACLs (vissa äldre <code>ext3</code> eller <code>vfat</code> fästen). Flytta den delade katalogen till en ext4 / xfs / btrfs / zfs-backning.",
"aclTitle": "ACL kommandon tyst otillgängliga",
"aclBody": "På en minimal Proxmox installera <code>setfacl</code> / <code>getfacl</code> kanske inte installeras. Manuset faller tillbaka graciöst (<code>command -v setfacl</code> check) och tillämpar endast POSIX behörigheter - vilket ofta är tillräckligt, men nya filer kommer inte automatiskt att ärva den tillåtna profilen. Installera <code>acl</code> med <code>apt-get install -y acl</code> och kör om manuset på katalogen."
},
"related": {
"heading": "Relaterad",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Monteringshanterare för LXC",
"tail": " - det naturliga nästa steget: binda samman denna katalog till en eller flera containrar."
},
{
"href": "/docs/storage-share/host-local-disk",
"label": "Lägg till lokal disk som Proxmox lagring",
"tailRich": " — Om du vill ha den delade katalogen på en dedikerad disk, förbered disken först, montera den under <code>/mnt</code>, skapa sedan den delade undermappen här."
}
]
}
}
@@ -0,0 +1,174 @@
{
"meta": {
"title": "Värd: montera NFS-delning | ProxMenux-dokumentation",
"description": "Montera en extern NFS-export på Proxmox-värden som Proxmox-lagring med pvesm add nfs, som ett separat fstab-montage som inte visas i Datacenter > Storage eller på båda sätten. Fstab passar när sökvägen ska delas med LXC-containrar via bind mount utan att registreras som Proxmox-lagring.",
"ogTitle": "Värd: montera NFS-delning | ProxMenux-dokumentation",
"ogDescription": "Montera en extern NFS-export på Proxmox-värden via pvesm, fstab eller båda. fstab-väg är idealisk för LXC-bindning."
},
"header": {
"title": "Värd: montera NFS-delning på värden",
"description": "Montera en extern NFS export (från en NAS, en annan server, en homelab-delning ...) på Proxmox värd. Välj en eller båda metoderna: registrera den som Proxmox-lagring (synlig i Datacenter > Lagring) och / eller lägg till en vanlig /etc/fstab-montering på en väg du väljer (användbar för bindmontering av delningen i LXC-behållare utan att exponera den som en Proxmox-lagring).",
"section": "Lagring och delning · Värd"
},
"intro": {
"title": "Vad detta gör",
"body": "ProxMenux erbjuder två sätt att montera en NFS-export: <strong>(1) Proxmox-lagring</strong> via <code>pvesm add nfs</code>, där resursen visas i Datacenter > Lagring och Proxmox hanterar monteringen på <code>/mnt/pve/&lt;id&gt;</code>; <strong>(2) fstab-montering på värden</strong> på en sökväg du väljer, beständig genom <code>/etc/fstab</code> och inte synlig som Proxmox-lagring. Det senare passar för bind-montering till LXC-containrar utan extra poster i Proxmox-gränssnittet. Du kan använda endera metoden eller båda."
},
"opening": {
"heading": "Öppna verktyget",
"body": "Öppna <strong>Storage &amp; Share Manager → Mount NFS Share on Host</strong> i ProxMenux huvudmeny. Undermenyn har fyra alternativ:",
"imageAlt": "NFS-värdmeny — Montera / Visa / Ta bort / Testa anslutning"
},
"howRuns": {
"heading": "Hur manuset går",
"body": "Flödet har två faser med tydlig separation mellan \"upptäcka, validera och välja\" och \"faktiskt montering / skrivkonfig\". Efter att ha valt en export väljer du monteringsmetod (er) via en checklista; resten av dialogrutorna ber bara om param för de metoder du valde. Fram till den slutliga bekräftelsen berörs varken <code>/etc/pve/storage.cfg</code> eller <code>/etc/fstab</code>."
},
"modes": {
"heading": "Välj monteringsmetod (ett eller båda alternativen)",
"intro": "Efter att ha valt och validerat exporten visar ProxMenux en checklista med de två monteringsmetoderna. Du kan markera antingen, eller båda. Om du trycker på OK utan att markera något, återkommer dialogrutan tills du väljer minst ett alternativ eller trycker på Avbryt flödet.",
"imageAlt": "Mount metod checklista med pvesm och fstab alternativ",
"headerMethod": "Metod",
"headerMount": "Monteringssökväg",
"headerUi": "Synlig i datacenter > Lagring",
"headerUseCase": "Typiskt användningsfall",
"rows": [
{
"method": "<strong>Som Proxmox-lagring (pvesm)</strong>",
"mountRich": "<code>/mnt/pve/&lt;storage-id&gt;</code> (hanterad av Proxmox)",
"ui": "Ja",
"useCase": "VM diskbilder, säkerhetskopior, ISOs, LXC mallar - allt som behöver visas i Proxmox UI."
},
{
"method": "<strong>Endast värdens fstab</strong>",
"mountRich": "<code>/mnt/&lt;path&gt;</code> (du väljer vägen)",
"ui": "Nej",
"useCaseRich": "Bind-montera delningen i en eller flera LXC:er <em>utan</em> att registrera den som Proxmox-lagring. Håller Datacenter-gränssnittet överskådligt."
},
{
"method": "<strong>Båda</strong>",
"mount": "Båda sökvägarna ovan (två monteringspunkter för samma NFS-export)",
"ui": "Ja",
"useCase": "Integrering i gränssnittet och en separat stabil värdsökväg med öppna behörigheter för LXC-bind-monteringar."
}
],
"bothTitle": "\"Både\" skapar två oberoende NFS-fästen",
"bothBody": "Båda metoderna körs separat: pvesm monterar på <code>/mnt/pve/&lt;id&gt;</code> och fstab på <code>/mnt/&lt;path&gt;</code>. Det ger en Proxmox-hanterad montering med standardalternativ och en separat värdmontering för LXC-bind-monteringar. Två monteringspunkter garanterar inte två TCP-anslutningar; NFS-klienten kan återanvända transportanslutningar."
},
"pvesmBranch": {
"heading": "Metod A - Som Proxmox lagring (pvesm)",
"intro": "Om <em>Som Proxmox-lagring</em> är markerad, ProxMenux kör den ursprungliga pvesm flöde:",
"items": [
"<strong>Lagring ID</strong> Vad Proxmox kallar detta lagringsutrymme Standard är <code>nfs-&lt;server-ip-with-dashes&gt;</code>. Endast bokstäver, siffror, <code>-</code> och <code>_</code> accepteras.",
"<strong>Content typer</strong> - Proxmox binder innehållskategorier till lagringsvolymer; välj vad denna NFS är tillåtet att hålla:"
],
"headerType": "Innehåll typ",
"headerAllows": "Vad det tillåter",
"rows": [
{
"type": "import",
"allowsRich": "Diskbildsimport (vald som standard). Behövs för <em>Import Disk Image till VM</em>."
},
{
"type": "backup",
"allowsRich": "VM och CT backup filer (<code>vzdump</code>)."
},
{
"type": "iso",
"allows": "Installation av ISO-bilder."
},
{
"type": "vztmpl",
"allows": "LXC mallar."
},
{
"type": "images",
"allows": "Diskavbildningar för VM:ar i drift (gör NFS till lagring för VM-diskar)."
},
{
"type": "rootdir",
"allows": "LXC rotfilsystem (sällsynta för NFS - läs anteckningen nedan)."
},
{
"type": "snippets",
"allows": "Hook scripts och cloud-init snippets."
}
],
"warnTitle": "images och rootdir på NFS",
"warnBody": "Med <code>images</code> kan Proxmox lagra VM-diskar på NFS. Prestandan beror på nätverk, server och arbetslast; ett avbrott kan blockera I/O som beror på monteringen. <code>rootdir</code> lagrar LXC-rotfilsystem på NFS, där oprivilegierade containrar kan möta begränsningar i UID-mappning, overlay och ägarskap. Bedöm detta innan du lägger <code>images</code> / <code>rootdir</code> där; NFS passar även för <code>backup</code> / <code>iso</code> / <code>vztmpl</code>.",
"result": "Resultatet är <code>pvesm add nfs &lt;id&gt; --server &lt;srv&gt; --export &lt;path&gt; --content &lt;csv&gt;</code> och Proxmox auto-mounts på <code>/mnt/pve/&lt;id&gt;</code>."
},
"fstabBranch": {
"heading": "Metod B - Värd fstab montering endast",
"intro": "Om <em>Endast fstab-montering på värden</em> är markerad, ProxMenux ber om en värd monteringsväg och ihållande alternativ, sedan monterar och skriver ingången till <code>/etc/fstab</code>:",
"items": [
"<strong>Monteringssökväg på värden</strong> - standard <code>/mnt/&lt;export-basename&gt;</code>. Måste vara en absolut väg. Om något redan är monterat där, eller en fstab ingång finns för samma väg, ProxMenux varnar dig och erbjuder att ersätta den.",
"<strong>Monteringsalternativ</strong> — <em>Läs/skriv</em> (standard: <code>rw,hard,nofail,_netdev,rsize=131072,wsize=131072,timeo=600,retrans=2</code>), <em>Skrivskyddad</em>, <em>Anpassad</em> (ange egna alternativ)."
],
"appliesIntro": "När du bekräftar gör skriptet följande:",
"applies": [
"<code>mkdir -p</code> monteringsvägen.",
"<code>mount -t nfs -o &lt;opts&gt; &lt;srv&gt;:&lt;export&gt; &lt;path&gt;</code>.",
"Skriver en enradig post till <code>/etc/fstab</code>: <code>&lt;srv&gt;:&lt;export&gt; &lt;path&gt; nfs &lt;opts&gt; 0 0</code>.",
"Kör <code>systemctl daemon-reload</code> så systemd plockar upp den nya fstab inträde.",
"Försöker köra <code>chmod 1777</code> och <code>setfacl o::rwx</code> på monteringspunkten utan att rapportera eventuella fel. Det lyckas endast om NFS-servern tillåter det; många NAS-exporter tillåter redan alla användare att skriva."
],
"lxcTitle": "Använda fstab montering från en LXC",
"lxcBody": "Skriptet visar ett <code>pct set</code>-kommando för bind-montering, exempelvis <code>pct set &lt;ctid&gt; -mp0 /mnt/&lt;path&gt;,mp=/mnt/&lt;ct-path&gt;,shared=1,backup=0</code>. Eller använd <mountLink>LXC Mount Manager</mountLink>, som upptäcker fstab-monteringar. <strong>Inget ändras inne i containern</strong>. Åtkomst från en oprivilegierad CT beror på serverbehörigheter för dess mappade UID/GID. Skriptet försöker endast ändra behörigheter från värden; skrivbara exporter och tillverkares standardinställningar garanteras inte. Se Felsökning om åtkomsten misslyckas.",
"noUiTitle": "Fstab montering är inte en Proxmox lagring",
"noUiBody": "Värd fstab montering är osynlig för Proxmox webb UI - genom design. Det visas inte i <em>Datacenter > Storage</em>, du kan inte välja det i VM / CT skapare, och Proxmox backup jobb kan inte rikta det. Det är bara en värd filsystem väg. Om du också vill ha UI integration, markera <em>båda</em> metoder i väljaren."
},
"manual": {
"heading": "Manuell motsvarande",
"pvesmIntro": "Metod A (pvesm) motsvarar:",
"fstabIntro": "Metod B (fstab) motsvarar:"
},
"view": {
"heading": "Visa konfigurerade NFS lager",
"body": "Listar varje NFS-post i Proxmox (<code>pvesm status | awk ''$2 == \"nfs\"''</code>) med server, export, innehållstyper, monteringsväg och levande status. <strong>Note:</strong> visar endast pvesm-registrerade lager - fstab-bara fästen är inte listade här. Kontrollera dem med <code>findmnt -t nfs</code> eller <code>grep nfs /etc/fstab</code>."
},
"remove": {
"heading": "Ta bort NFS lagring",
"body": "Kör <code>pvesm remove &lt;storage-id&gt;</code> efter en bekräftelse som visar server / export / innehåll. Endast Proxmox-side-registreringen tas bort - <strong>Den avlägsna NFS-servern själv är aldrig rörd</strong>, inga filer raderas. För att ta bort en fstab-bara montering, redigera <code>/etc/fstab</code> för hand och kör <code>umount &lt;path&gt;</code>.",
"warnTitle": "Säkerhetskopiera beroenden först",
"warnBody": "Om VM, CT eller backup jobb fortfarande refererar till detta lagringsutrymme (genom ID), ta bort det lämnar dem pekar på en lagring som inte längre finns. Proxmox kommer att flagga felet men inte städa upp. Flytta eller släppa dessa referenser först, sedan ta bort lagringen."
},
"test": {
"heading": "Test NFS-anslutning",
"body": "Kör ett diagnostiskt pass över varje NFS-lagring registrerad i Proxmox: kontrollerar att <code>showmount</code> är tillgänglig, att <code>rpcbind</code> körs, pings varje server, probes port 2049, kallar <code>showmount -e</code>, och slutligen rapporterar Proxmox egen vy (<code>pvesm status</code>). Bra första stopp när en förvaring visar som <em>inactive</em> i Proxmox UI."
},
"troubleshoot": {
"heading": "Felsökning",
"noServersTitle": "\"Inga NFS-servrar som finns på nätverket\"",
"noServersBody": "Auto-discover använder <code>nmap -p 2049 --open &lt;subnet&gt;/24</code>. Servern kanske inte svarar om: det är på en annan VLAN / subnet, dess brandvägg blockerar nmap-sonder (många gör) eller port 2049 är avsiktligt stängd på det gränssnittet. Använd alternativet <em>Manual</em> med serverns IP- eller värdnamn istället.",
"portTitle": "”NFS-porten (2049) kan inte nås”",
"portBody": "Ping lyckades men <code>nc -z -w 3 &lt;server&gt; 2049</code> misslyckades. Kontrollera NFS tjänsten körs på servern (<code>systemctl status nfs-server</code> på Linux, Kontrollpanel → Filtjänster på Synology, NFS plugin på OMV / TrueNAS), och att brandväggen tillåter 2049 från Proxmox värd.",
"showmountTitle": "\"Fel att ansluta\" från showmount",
"showmountBody": "Servern vägrade exportlistafrågan. Vanliga orsaker: servern genomdriver strikta klient ACL (din Proxmox IP är inte på den tillåtna listan), <code>rpcbind</code> körs inte på servern, eller servern exponerar endast NFSv4 med <code>showmount</code> inaktiverat. Exportvägen kan fortfarande läggas manuellt om du vet det.",
"inactiveTitle": "Lagring visar som inaktiv i Proxmox UI",
"inactiveBody": "Kör först <em>Testa NFS-anslutning</em>: den kontrollerar att servern svarar på ping, att port 2049 är öppen och att exportlistan (<code>showmount -e</code>) är tillgänglig. Om anslutningen fungerar men lagringen förblir inaktiv, kontrollera <code>journalctl -u pvestatd</code> och serverns/exportens inställningar. Återställ först anslutning eller behörigheter. <code>pvesm set &lt;id&gt; --disable 0</code> aktiverar inaktiverad lagring; det är ingen allmän reparation av NFS-fel.",
"lxcNoWriteTitle": "fstab montering fungerar men oprivilegierad LXC kan inte skriva genom en bind-mount",
"lxcNoWriteBody": "NFS-åtkomst beror på serverns ägare, ACL:er och squash-inställningar. CIFS-alternativ som <code>uid=</code> och <code>file_mode=</code> gäller <strong>inte</strong> för NFS. Med LXC:s standardmappning blir CT-root värdens UID 100000, inte fjärr-UID 0. Ge åtkomst till det faktiska mappade UID/GID:t eller serverns anonyma identitet. <code>no_root_squash</code> påverkar endast fjärr-UID 0 och löser inte alla fall med UID 100000. Skriptet försöker köra <code>chmod 1777</code> men kan inte kringgå serverns behörigheter.",
"fstabBootTitle": "fstab montering kommer inte upp efter omstart",
"fstabBootBody": "Skriptet lägger till <code>nofail,_netdev</code> så en saknad andel på start blockerar inte start. Om fästet aldrig kommer upp: bekräfta att nätverket är tillgängligt (<code>ping &lt;server&gt;</code>), kontrollera <code>journalctl -u remote-fs.target</code> och verifiera att posten är giltig med <code>mount -fav | grep nfs</code>. <code>mount -a</code> efter start monterar allt som för närvarande saknas."
},
"related": {
"heading": "Relaterad",
"items": [
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS som Proxmox-lagring",
"tail": " - samma flödesmönster (Metod A pvesm + Metod B fstab) för SMB/CIFS-delningar."
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Monteringshanterare för LXC",
"tailRich": " - bind-mount fstab-bara vägen <code>/mnt/&lt;path&gt;</code> i en eller flera containrar."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "NFS klient i LXC",
"tail": " — alternativ: montering NFS direkt inifrån en privilegierad container (skippar värden)."
}
]
}
}
@@ -0,0 +1,172 @@
{
"meta": {
"title": "Värd: montera Samba-delning | ProxMenux-dokumentation",
"description": "Montera en extern Samba-/CIFS-delning på Proxmox-värden - antingen som Proxmox-lagring (pvesm add cifs), som en vanlig värd fstab-fäste med öppen uid/gid/file_mode (Inte synlig i Datacenter > Lagring), eller båda. Fstab-metoden öppnar behörigheter så att en oprivilegierad LXC-bindning kan läsa / skriva utan några ändringar i containern.",
"ogTitle": "Värd: montera Samba-delning | ProxMenux-dokumentation",
"ogDescription": "Montera en extern Samba-/CIFS-delning på Proxmox-värden via pvesm, fstab med öppna behörigheter för LXC-bind-monteringar eller båda."
},
"header": {
"title": "Värd: montera Samba-delning på värden",
"description": "Montera en extern Samba-delning (SMB / CIFS) - från en NAS, en Windows-box, en TrueNAS SMB export - på Proxmox värd. Välj en eller båda metoderna: registrera den som Proxmox-lagring (synlig i Datacenter > Lagring) och / eller lägg till en vanlig /etc/fstab-fäste på en väg du väljer, med öppen uid / gid / file_mode så oprivilegierade LXCs kan binda-mount och skriva utan några ändringar i containern.",
"section": "Lagring och delning · Värd"
},
"intro": {
"title": "Vad detta gör",
"body": "ProxMenux erbjuder två sätt att montera en Samba-resurs: <strong>(1) Proxmox-lagring</strong> via <code>pvesm add cifs</code>, synlig i Datacenter > Storage och monterad på <code>/mnt/pve/&lt;id&gt;</code>. Lösenordet sparas i klartext i <code>/etc/pve/priv/storage/&lt;id&gt;.pw</code>, skyddat av den privata katalog som bara root kan komma åt. Det är åtkomstkontroll, inte kryptering. <strong>(2) fstab-montering på värden</strong> på en vald sökväg, beständig via <code>/etc/fstab</code> med <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> så att oprivilegierade LXC-containrar kan skriva via bind-monteringar. Uppgifterna finns i en fil som bara root kan läsa under <code>/etc/samba/credentials/</code>, aldrig direkt i <code>fstab</code>. Du kan använda endera metoden eller båda."
},
"opening": {
"heading": "Öppna verktyget",
"body": "Öppna <strong>Storage &amp; Share Manager → Mount Samba Share on Host</strong> i ProxMenux huvudmeny. Undermenyn har fyra alternativ:",
"imageAlt": "Samba-värdmeny — Montera / Visa / Ta bort / Testa anslutning"
},
"howRuns": {
"heading": "Hur manuset går",
"body": "Flödet har två faser. Fas 1: Upptäck server, validera inloggningsuppgifter, välj delning, välj sedan monteringsmetod (er) via en checklista. Fas 2: endast de metoder du markerade utförs. Inloggningsuppgifter behövs i förväg eftersom <code>smbclient</code> behöver dem för att lista delningar. Fram till den slutliga bekräftelsen berörs varken <code>/etc/pve/storage.cfg</code> eller <code>/etc/fstab</code>."
},
"modes": {
"heading": "Välj monteringsmetod (ett eller båda alternativen)",
"intro": "Efter att ha valt delningen och validerat inloggningsuppgifterna visar ProxMenux en checklista med de två monteringsmetoderna. Du kan markera antingen, eller båda. Om du trycker på OK utan att markera något, återkommer dialogrutan tills du väljer minst ett alternativ eller trycker på Avbryt flödet.",
"headerMethod": "Metod",
"headerMount": "Monteringssökväg",
"headerUi": "Synlig i datacenter > Lagring",
"headerUseCase": "Typiskt användningsfall",
"rows": [
{
"method": "<strong>Som Proxmox-lagring (pvesm)</strong>",
"mountRich": "<code>/mnt/pve/&lt;storage-id&gt;</code> (hanterad av Proxmox)",
"ui": "Ja",
"useCase": "Säkerhetskopior, ISOs, LXC-mallar - allt som behöver visas i Proxmox UI. Live VM-skivor stöds tekniskt men avskräcks på CIFS (låser semantik)."
},
{
"method": "<strong>Endast värdens fstab</strong>",
"mountRich": "<code>/mnt/&lt;path&gt;</code> med öppen uid/gid/file_mode",
"ui": "Nej",
"useCaseRich": "Bind-montera delningen i LXC:er <em>utan</em> att registrera Proxmox-lagring. Öppna lokala behörigheter underlättar åtkomst för oprivilegierade CT:er, men SMB-servern måste fortfarande tillåta den autentiserade användaren att skriva."
},
{
"method": "<strong>Båda</strong>",
"mount": "Båda sökvägarna ovan (två monteringspunkter för samma CIFS-export)",
"ui": "Ja",
"useCase": "Du vill ha UI-integration och en stabil värdsida med öppna behörigheter för LXC-bindning. pvesm-fästet använder Proxmox-standarder; fstabfästet tillämpar den öppna uid/gid/file_mode separat."
}
],
"bothTitle": "”Båda” skapar två CIFS-monteringspunkter",
"bothBody": "pvesm monterar på <code>/mnt/pve/&lt;id&gt;</code> med Proxmox standardalternativ. fstab monterar på <code>/mnt/&lt;path&gt;</code> med <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> för lokal åtkomst via LXC-bind-monteringar. SMB-servern upprätthåller fortfarande monteringsanvändarens behörigheter. Två monteringspunkter garanterar inte två separata TCP-anslutningar."
},
"pvesmBranch": {
"heading": "Metod A - Som Proxmox lagring (pvesm)",
"intro": "Om <em>Som Proxmox-lagring</em> är markerad, ProxMenux kör den ursprungliga pvesm flöde:",
"items": [
"<strong>Lagring ID</strong> - Standard <code>cifs-&lt;server-ip-with-dashes&gt;</code>. Endast bokstäver, siffror, <code>-</code> och <code>_</code>.",
"<strong>Innehållstyper</strong> — den här ProxMenux-listan har <strong>6</strong> val. Den utelämnar <code>rootdir</code> jämfört med NFS-listan. Detta är ett val i skriptet, inte ett påstående att alla versioner av Proxmox CIFS-backend förbjuder LXC-rotfilsystem:"
],
"headerType": "Innehåll typ",
"headerAllows": "Vad det tillåter",
"rows": [
{
"type": "import",
"allows": "Diskbildsimport (vald som standard)."
},
{
"type": "backup",
"allowsRich": "VM och CT backup filer (<code>vzdump</code>)."
},
{
"type": "iso",
"allows": "Installation av ISO-bilder."
},
{
"type": "vztmpl",
"allows": "LXC mallar."
},
{
"type": "images",
"allowsRich": "Diskavbildningar för VM:ar i drift — <strong>varning visas i dialogen</strong>, se nedan."
},
{
"type": "snippets",
"allows": "Hook scripts och cloud-init snippets."
}
],
"warnTitle": "Live VM diskar på CIFS",
"warnBody": "Valet <code>images</code> visar en ProxMenux-varning om att CIFS/SMB kan ge låsningsproblem vid VM-diskoperationer. Skriptet rekommenderar NFS men låter dig fortsätta. Säkerhetskopior och ISO-filer är vanliga CIFS-användningar. Bedöm låsning, ögonblicksbilder, migrering och arbetslast innan CIFS används för <code>images</code>.",
"credsTitle": "Var pvesm lagrar inloggningsuppgifter",
"credsBody": "Lösenordet skrivs inte i <code>/etc/pve/storage.cfg</code>. Proxmox sparar klartextuppgifter i <code>/etc/pve/priv/storage/&lt;storage-id&gt;.pw</code>, i klusterfilsystemets privata område som bara <code>root</code> kan läsa (läge <code>0600</code>); de skyddas av åtkomstbehörigheter, inte av kryptering. Efter ett lösenordsbyte på servern använder du <code>pvesm set &lt;id&gt; --password &lt;new&gt;</code> eller tar bort och lägger till lagringen via ProxMenux."
},
"fstabBranch": {
"heading": "Metod B - Värd fstab montering endast",
"intro": "Om <em>Endast fstab-montering på värden</em> väljs frågar ProxMenux efter sökväg och beständiga alternativ, skapar en fil med inloggningsuppgifter endast för root i användarläge, monterar delningen och skriver posten i <code>/etc/fstab</code>:",
"items": [
"<strong>Monteringssökväg på värden</strong> - standard <code>/mnt/&lt;share-name&gt;</code>. Måste vara en absolut väg. Om något redan är monterat där, eller en fstab-post existerar, erbjuder ProxMenux att ersätta den.",
"<strong>Monteringsalternativ</strong> — <em>Läs/skriv</em> (standard: <code>rw,uid=0,gid=0,file_mode=0777,dir_mode=0777,iocharset=utf8,nofail,_netdev</code>), <em>Skrivskyddad</em> (<code>file_mode=0555,dir_mode=0555</code>), <em>Anpassad</em> (ange egna alternativ). Skriptet rekommenderar öppna uid/gid/file_mode för skrivning via LXC-bind-monteringar."
],
"credsTitle": "Fil med inloggningsuppgifter (användarläge)",
"credsBody": "I användarläge skapar ProxMenux en fil som bara root kan läsa på <code>/etc/samba/credentials/&lt;server&gt;_&lt;share&gt;.cred</code> (läge <code>0600</code>) med raderna <code>username=</code> och <code>password=</code>. Fstab-posten hänvisar till den via <code>credentials=</code>; klartextlösenordet skrivs inte i <code>/etc/fstab</code>. I gästläge läggs <code>guest</code> till i stället och ingen inloggningsfil skapas.",
"appliesIntro": "När du bekräftar gör skriptet följande:",
"applies": [
"<code>mkdir -p</code> monteringsvägen.",
"<code>mount -t cifs -o &lt;opts&gt;,credentials=&lt;file&gt;</code> (eller <code>guest</code>) <code>//&lt;srv&gt;/&lt;share&gt; &lt;path&gt;</code>.",
"Skriver en enradig post till <code>/etc/fstab</code>: <code>//&lt;srv&gt;/&lt;share&gt; &lt;path&gt; cifs &lt;opts&gt; 0 0</code>.",
"Kör <code>systemctl daemon-reload</code> så systemd plockar upp den nya fstab inträde."
],
"lxcTitle": "Använda fstab montering från en oprivilegierad LXC",
"lxcBody": "CIFS-alternativen <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> öppnar lokala behörighetskontroller för LXC-bind-monteringar. Serverns ACL:er och förhandlad Unix-/POSIX-semantik kan fortfarande påverka åtkomsten. <strong>Inget ändras inne i containern</strong>: ingen <code>chown</code> i CT:n, inga grupper eller ändringar i <code>/etc/lxc</code>. Raden <code>mp</code> hanteras i Proxmox CT-konfiguration. Använd det visade <code>pct set</code>-kommandot eller <mountLink>LXC Mount Manager</mountLink>.",
"noUiTitle": "Fstab montering är inte en Proxmox lagring",
"noUiBody": "Värd fstab montering är osynlig för Proxmox webb UI - genom design. Det visas inte i <em>Datacenter > Storage</em>, du kan inte välja det i VM / CT skapare, och Proxmox backup jobb kan inte rikta det. Det är bara en värd filsystem väg. Om du också vill ha UI integration, markera <em>båda</em> metoder i väljaren."
},
"manual": {
"heading": "Manuell motsvarande",
"pvesmIntro": "Metod A (pvesm) motsvarar:",
"fstabUserIntro": "Metod B (fstab, användarautentisering) — fil med inloggningsuppgifter och montering:",
"fstabGuestIntro": "Metod B (fstab, gästautentisering) — ingen fil med inloggningsuppgifter:"
},
"view": {
"heading": "Visa CIFS-lagringar och värdmonteringar",
"body": "Visar registrerade CIFS-lagringar (<code>pvesm status | awk ''$2 == \"cifs\"''</code>) med server, delning, innehåll, användare eller <em>Gäst</em>, sökväg och status. Lösenord <strong>visas aldrig</strong>. <strong>Obs:</strong> ett andra avsnitt visar värdens fstab-monteringar, alternativ, inloggningsfilens sökväg och aktiv/inaktiv status. Kontrollera manuellt med <code>findmnt -t cifs</code> eller <code>grep cifs /etc/fstab</code>."
},
"remove": {
"heading": "Ta bort CIFS-lagring eller värdmontering",
"body": "Väljaren erbjuder pvesm-lagringar och värdens fstab-monteringar. För pvesm körs <code>pvesm remove &lt;storage-id&gt;</code> och Proxmox tar bort motsvarande inloggningsuppgifter. För fstab försöker skriptet köra <code>umount &lt;path&gt;</code>, tar bort posten i <code>/etc/fstab</code> och uppgifter under <code>/etc/samba/credentials/</code> samt den tomma monteringskatalogen om möjligt. Misslyckad avmontering kräver manuell avmontering eller omstart. <strong>Den externa Samba-servern och dess filer ändras inte</strong>.",
"warnTitle": "Säkerhetskopiera beroenden först",
"warnBody": "VM, CT eller backup jobb som refererar till denna lagring av ID kommer att misslyckas efter borttagning. Flytta/släpp dessa referenser innan du tar bort lagringen."
},
"test": {
"heading": "Testa Samba-anslutning",
"body": "Kör ett diagnostiskt pass över varje CIFS-lagring registrerad i Proxmox: kontrollerar att <code>smbclient</code> är tillgänglig, pings varje server, probes portar 445 och 139, försöker en gästlista och rapporterar Proxmox egen vy (<code>pvesm status</code>). \"Kräver autentisering\" på gästlista betyder att din server endast exponerar aktier till autentiserade användare - normalt för de flesta NAS-inställningar."
},
"troubleshoot": {
"heading": "Felsökning",
"noServersTitle": "\"Inga Samba-servrar som finns på nätverket\"",
"noServersBody": "Auto-discover använder <code>nmap -p 139,445</code>. Servern kan vara på ett annat undernät, brandvägg eller bara nås via värdnamn (mDNS / WINS). Använd alternativet <em>Manual</em> med IP eller värdnamn istället.",
"noSharesTitle": "”Inga tillgängliga delningar hittades”",
"noSharesBody": "<code>smbclient -L</code> returnerade ingenting för dessa referenser. Orsaker: användaren har ingen tillåtelse att lista delningar (försök med admin referenser en gång eller ange delningens namn manuellt), servern har dela synlighet inaktiverad, eller referenser är fel. Skriptet låter dig skriva delningens namn för hand i det här fallet.",
"denyTitle": "Proxmox montering misslyckas med NT_STATUS_ACCESS_DENIED",
"denyBody": "Credentials pvesm lagras inte synkroniseras med Samba-servern (lösenord ändras, konto funktionshindrad, domän / arbetsgrupp felmatch). Ange referenser med <code>pvesm set &lt;id&gt; --username &lt;u&gt; --password &lt;p&gt;</code> eller ta bort och re-add från ProxMenux. Om servern finns i en AD-domän, använd <code>--domain &lt;DOMAIN&gt;</code> till <code>pvesm set</code>-samtalet.",
"sleepTitle": "\"host is down\" eller lagringsstatus går inaktiv på natten",
"sleepBody": "Vissa NAS-apparater sätter SMB för att sova aggressivt. <code>pvestatd</code> ser sedan lagringen som inaktiv tills den första åtkomsten vaknar NAS. Om detta är kosmetiskt, är ingenting brutet. Om det orsakar säkerhetskopieringsfel, inaktivera SMB-idle koppla bort på NAS eller schemalägga säkerhetskopior utanför sömnfönstret.",
"lxcNoWriteTitle": "Oprivilegierad LXC bind-mount kan inte skriva till fstab-banan",
"lxcNoWriteBody": "Kontrollera avsedda alternativ med <code>findmnt /mnt/&lt;path&gt;</code>, exempelvis <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>. Saknade lokala skrivbehörigheter kan blockera mappade LXC-UID:n. Tillämpa RW-profilen igen eller anpassa egna alternativ. Kontrollera även SMB-användarens skrivbehörighet på servern och om Unix-/POSIX-tillägg ger serverlägen; öppna lokala lägen åsidosätter inte serverns ACL:er.",
"fstabBootTitle": "fstab montering kommer inte upp efter omstart",
"fstabBootBody": "Skriptet lägger till <code>nofail,_netdev</code> så en saknad delning på start blockerar inte start. Om fästet aldrig kommer upp: bekräfta att nätverket är tillgängligt (<code>ping &lt;server&gt;</code>), kontrollera <code>journalctl -u remote-fs.target</code>, verifiera filen med inloggningsuppgifter fortfarande finns (<code>ls -l /etc/samba/credentials/</code>) och är läsbar och prova <code>mount -a</code> manuellt."
},
"related": {
"heading": "Relaterad",
"items": [
{
"href": "/docs/storage-share/host-nfs",
"label": "NFS-delning som Proxmox-lagring",
"tail": " — syskon sida med samma flödesmönster (Metod A pvesm + Metod B fstab) och sida vid sida avvägningar."
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Monteringshanterare för LXC",
"tailRich": " - bind-mount fstab-bara vägen <code>/mnt/&lt;path&gt;</code> i en eller flera containrar."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Samba klient i LXC",
"tail": " — alternativ: montering Samba direkt inifrån en privilegierad container (skippar värden)."
}
]
}
}
@@ -0,0 +1,135 @@
{
"meta": {
"title": "Proxmox NFS, Samba, iSCSI och LXC-monteringspunkter — Lagring och delning | ProxMenux",
"description": "Integrera extern och lokal lagring i Proxmox VE och dela mappar mellan värden och LXC-containrar. Lägg till NFS-delningar, Samba-delningar (CIFS) och iSCSI-mål som Proxmox-lagring, konfigurera LXC-bind-monteringar med Mount Manager och kör NFS-/Samba-klienter och servrar i containrar.",
"ogTitle": "Proxmox NFS, Samba, iSCSI och LXC-monteringspunkter — Lagring och delning",
"ogDescription": "Integrera extern / lokal lagring i Proxmox VE - NFS, Samba, iSCSI registrering plus LXC-bind-monteringar och nätverksdelning.",
"twitterTitle": "Proxmox NFS, Samba, iSCSI | ProxMenux",
"twitterDescription": "Lägg till NFS / Samba / iSCSI som Proxmox lagring och dela mappar mellan värd och LXC."
},
"header": {
"title": "Lagrings- och delningshanterare",
"description": "Integrera extern eller lokal lagring i Proxmox VE och dela mappar mellan värden och LXC-containrar. Tre verktygsgrupper: integration av värdlagring (registrera lagring i Proxmox), LXC Mount Manager (bind-monteringar med praktisk behörighetshantering) och LXC-nätverksdelning (NFS-/Samba-klienter och servrar för särskilda användningsfall).",
"section": "Lagring och delning"
},
"intro": {
"title": "Vad denna meny är för",
"body": "Disk Manager arbetar med <em>enskilda fysiska diskar</em>. Storage &amp; Share Manager arbetar en nivå högre: det <strong>registrerar lagringspooler och nätverksdelningar i Proxmox</strong> (så att gränssnittet och VM-skaparen kan använda dem) och <strong>konfigurerar fildelning mellan värden och dina containrar</strong>."
},
"opening": {
"heading": "Öppna menyn",
"body": "Från ProxMenux huvudmenyn väljer du <strong>Storage &amp; Share Manager</strong>. Du kommer att se detta:",
"imageAlt": "Storage & Share Manager menyn med HOST och LXC block"
},
"groups": {
"heading": "Tre verktygsgrupper",
"intro": "Menyn är indelad i tre grupper. <strong>Integration av värdlagring</strong> registrerar extern eller lokal lagring i Proxmox. <strong>LXC Mount Manager</strong> är huvudverktyget för att dela mappar med containrar: ett praktiskt bind-monteringsflöde som hanterar UID-mappning för oprivilegierade CT:er på värdsidan. <strong>LXC-nätverksdelning</strong> täcker fyra ytterligare scenarier där en container behöver <em>använda</em> eller <em>exponera</em> NFS-/Samba-delningar direkt.",
"hostTitle": "Värdlagring",
"hostBody": "Registrera extern och lokal lagring i Proxmox via <code>pvesm add …</code>. När den är registrerad visas lagringen i Proxmox UI och är tillgänglig för VM och CT skapare.",
"hostItems": [
"Extern NFS / Samba / iSCSI → Proxmox-lagring",
"Lokal disk → Proxmox katalog eller ZFS-lagring",
"Lokal delad katalog (för bind-monteringar mellan CT:er)"
],
"lxcMountTitle": "Monteringshanterare för LXC",
"lxcMountBody": "Det primära LXC-delningsverktyget. Bind-mounts värdkataloger till behållare via <code>pct set -mpN</code> och hanterar tillståndskrav av oprivilegierade CT utan att skapa någon grupp eller användare i containern.",
"lxcMountItems": [
"Fungerar med privilegierade och oprivilegierade CT",
"Erbjuder <code>o+rwx</code> på värdkatalogen för oprivilegierade UID:n",
"Fixar befintliga CIFS / NFS-fästen om det behövs"
],
"lxcNetTitle": "LXC nätverksdelning",
"lxcNetBody": "Fyra ytterligare flöden för containrar som behöver använda eller exponera NFS-/Samba-delningar direkt. Alla kräver en <strong>privilegierad</strong> container.",
"lxcNetItems": [
"NFS-/Samba-<strong>klient</strong> (använder externa delningar)",
"NFS-/Samba-<strong>server</strong> (exponerar CT-mappar)"
]
},
"host": {
"heading": "Integration av värdlagring",
"intro": "Registrera lagring i Proxmox. Varje alternativ kallar <code>pvesm add …</code> under huven, så lagringen visas i <strong>Datacenter → Storage</strong> och blir tillgänglig för VM / CT skapare.",
"options": [
{
"href": "/docs/storage-share/host-nfs",
"icon": "Network",
"title": "Lägg till NFS-delning som Proxmox-lagring",
"description": "Registrera en extern NFS-export som Proxmox-lagring med pvesm add nfs. Proxmox hanterar monteringen utan extra poster i fstab."
},
{
"href": "/docs/storage-share/host-samba",
"icon": "Share2",
"title": "Lägg till Samba-delning som Proxmox-lagring",
"description": "Registrera en extern Samba- eller CIFS-resurs som Proxmox-lagring med pvesm add cifs. Proxmox hanterar monteringen och inloggningsuppgifterna."
},
{
"href": "/docs/storage-share/host-iscsi",
"icon": "Database",
"title": "Lägg till iSCSI-mål som Proxmox-lagring",
"description": "Anslut till ett externt iSCSI-mål och registrera det som Proxmox-lagring (block-enhet) för VM-diskbilder."
},
{
"href": "/docs/storage-share/host-local-disk",
"icon": "HardDrive",
"title": "Lägg till lokal disk som Proxmox lagring",
"description": "Formatera en lokal SATA / SAS / NVMe disk och registrera den som en Proxmox katalog eller ZFS pool lagring."
},
{
"href": "/docs/storage-share/host-local-shared",
"icon": "FolderOpen",
"title": "Lägg till delad katalog på värd",
"description": "Skapa en värdkatalog som ska bind-monteras i flera CT:er. Den registreras inte som Proxmox-lagring utan är en resurs på värdsidan för LXC-bind-monteringar."
}
]
},
"lxcMount": {
"heading": "Monteringshanterare för LXC",
"intro": "Det primära verktyget för att dela mappar mellan Proxmox värd och LXC behållare. Den använder <code>pct set -mpN</code> för att binda samman en värdkatalog i containern, och hanterar tillståndskrav av oprivilegierade CT på värdsidan (inga grupper eller användare skapas inuti containern).",
"card": {
"title": "LXC-monteringspunkter (värd ↔ CT)",
"description": "Bind-mount någon värdkatalog till en LXC container via pct set -mpN. Fungerar med både privilegierade och oprivilegierade CTs; erbjuder chmod o+rwx / ACLs på värddir och fixar befintliga CIFS / NFS-fästen vid behov."
}
},
"lxcNet": {
"heading": "LXC nätverksdelning",
"intro": "Använd dessa flöden när en container behöver <em>vara</em> en NFS-/Samba-ändpunkt: använda en extern delning (klient) eller exponera egna mappar (server). För de flesta fildelningsbehov (bind-monteringar värd ↔ CT) är <mountLink>LXC Mount Manager</mountLink> enklare och kräver inga privilegierade containrar.",
"options": [
{
"href": "/docs/storage-share/lxc-nfs-client",
"icon": "Download",
"title": "NFS klient i LXC",
"description": "Montera externa NFS-delningar från en privilegierad LXC-container. Stöder automatisk upptäckt, beständiga poster i /etc/fstab och ren avmontering."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"icon": "Download",
"title": "Samba klient i LXC",
"description": "Montera Samba-/CIFS-delningar från en privilegierad LXC-container. Inloggningsuppgifter lagras skyddat och automatisk upptäckt finns."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"icon": "Upload",
"title": "NFS server i LXC",
"description": "Exportera mappar över NFS från en privilegierad LXC-behållare."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"icon": "Upload",
"title": "Samba server i LXC",
"description": "Exponera mappar över SMB / CIFS inifrån en privilegierad LXC container."
}
]
},
"privReq": {
"title": "Privilegierat containerkrav",
"body": "De fyra flödena för <strong>LXC-nätverksdelning</strong> ovan kräver en <strong>privilegierad</strong> container. Skripten kräver detta stödda läge innan de konfigurerar tjänster och monteringsverktyg (<code>nfs-kernel-server</code>, <code>smbd</code>, <code>mount.nfs</code>, <code>mount.cifs</code>). För att bara dela filer mellan värden och en oprivilegierad CT använder du <mountLink>LXC Mount Manager</mountLink>: det bind-monterar och justerar behörigheterna på värden så att containern kan läsa och skriva utan att dessa tjänster eller verktyg konfigureras i den."
},
"unprivExplain": {
"title": "Hur ProxMenux hanterar oprivilegierade CT behörigheter",
"body": "Oprivilegierade LXC-containrar förskjuter sina UID:n med <strong>+100000</strong> på värden (containerns UID 0 = värdens UID 100000, containerns UID 1000 = värdens UID 101000, …). En fil som skapats av en containeranvändare visas därför på värden som <em>övriga</em>, utan motsvarande vanlig värdanvändare eller grupp. LXC Mount Manager löser detta praktiskt: i stället för att anpassa UID/GID mellan värd och CT erbjuder det <code>chmod o+rwx</code> och motsvarande ACL:er på värdkatalogen, så att alla mappade UID:n kan läsa och skriva. För CIFS monterar det om med <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>; för NFS skapar det en katalog som alla får skriva till med sticky bit och vägleder till rätt ändring på servern om root squash används."
},
"scripts": {
"heading": "Skript involverade",
"intro": "Varje enskild sida länkar till skriptet som driver dess flöde. Filen nedan är en delad hjälpare som inte dokumenteras som sin egen sida men används av flera av LXC nätverksdelningsflöden:",
"itemTail": " - CT validering, val av monteringspunkt, privilegierad kontroll och universella gruppuppställningshjälpare som delats över LXC-klienten / serverflödena."
}
}
@@ -0,0 +1,174 @@
{
"meta": {
"title": "LXC-monteringspunkter (värd ↔ container) | ProxMenux-dokumentation",
"description": "LXC Mount Manager - bindmontera alla värdkataloger till en eller flera LXC-containrar via pct set -mpN. Hanterar tillståndskrav av oprivilegierade behållare, fixar befintliga CIFS / NFS-fästen på värdsidan, och ändrar aldrig något inuti containern.",
"ogTitle": "LXC-monteringspunkter (värd ↔ container) | ProxMenux-dokumentation",
"ogDescription": "Bind-mount värdkataloger till LXC containrar. Hanterar oprivilegierad UID-kartläggning pragmatiskt, fixar CIFS / NFS-åtkomst på värdsidan."
},
"header": {
"title": "LXC-monteringspunkter (värd ↔ container)",
"description": "Det huvudsakliga verktyget för att dela mappar mellan Proxmox-värden och LXC-containrar. Bind-monterar valfri värdkatalog i en eller flera containrar med Proxmox inbyggda syntax pct set -mpN. Behörighetsproblemen i oprivilegierade containrar hanteras på värden, utan ändringar inne i containern.",
"section": "Lagring och delning · LXC"
},
"intro": {
"title": "Vad detta gör",
"body": "Ta en katalog som bor på Proxmox-värden (en lokal mapp, en monterad NAS-delning, en Proxmox-managed lagring ...) och gör att den visas inuti en LXC-behållare på en väg du väljer, med behörigheter som fungerar även för oprivilegierade behållare - utan att röra något inuti containern."
},
"bigPicture": {
"heading": "Hur det fungerar (den stora bilden)",
"intro": "En bind-montering instruerar kärnan att visa värdkatalogen <code>X</code> även på sökvägen <code>Y</code> i containern. Ingen kopiering, synkronisering eller nätverksöverföring: båda ser <em>samma filer</em> samtidigt.",
"sourceLabel": "Proxmox-värd",
"sourceDetail": "/mnt/data\n(din mapp)",
"targetLabel": "LXC-container",
"targetDetail": "/mnt/data\n(visas här)",
"arrowLabel": "bind-montering",
"outro": "Värdvägen till vänster och containervägen till höger kan vara annorlunda - till exempel kan <code>/mnt/nas-films</code> på värden bli <code>/media/films</code> inuti containern. Skriptet lägger till posten till containern konfig (<code>/etc/pve/lxc/&lt;ctid&gt;.conf</code>) med nästa lediga <code>mpN</code> index, med två säkra standarder inbyggda:",
"items": [
"<code>shared=1</code> — anger för Proxmox att data är delade och inte ska migreras med CT:n. Flaggan replikerar inte data: samma sökväg och data måste redan finnas på målnoden.",
"<code>backup=0</code> - utesluter bindfästet från <code>vzdump</code> säkerhetskopior (data lever på värden, du backar upp det separat)."
]
},
"perms": {
"heading": "Tillståndshantering – smart",
"intro": "Bind-monteringar är lätta i princip. Den hårda delen är behörigheter: en <strong>oprivilegierad</strong> LXC behållare skiftar varje UID av <strong> + 100000</strong>, så en fil som skapats inuti containern av användaren 1000 visas på värden som UID 101000 - en UID ingen på värden äger. För att göra detta arbete utan att anpassa UIDs över värdar och behållare, ProxMenux tillämpar rätt \"öppna upp behörigheter\" trick på <em>värden</em> sida, beroende på vilken typ av katalog du valde:",
"headerType": "Värd katalog typ",
"headerAction": "Vad skriptet erbjuder att göra",
"localType": "Lokal mapp",
"localTypeSub": "t.ex. /mnt/data",
"localActionRich": "<code>chmod o+rwx</code> + <code>setfacl o::rwx</code> på värdkatalogen. Endast erbjuds om CT är oprivilegierad och nuvarande behörigheter är otillräckliga.",
"cifsType": "Monterad CIFS / SMB",
"cifsTypeSub": "t.ex. /mnt/pve/cifs-…",
"cifsActionRich": "Montera om med <code>uid=0, gid=0, file_mode=0777, dir_mode=0777</code> så att CT (varje UID) kan läsa och skriva delningen. <code>/etc/fstab</code> uppdateras.",
"nfsType": "Monterad NFS",
"nfsTypeSub": "t.ex. /mnt/pve/nfs-…",
"nfsActionRich": "<code>chmod 1777</code> + <code>setfacl o::rwx</code> på NFS montering. Kan inte åsidosätta server-side squashing - om ens värdrot inte kan skriva, är du vägledd att fixa exporten på NFS-servern.",
"privTitle": "Privilegierade containrar behöver inte något av detta",
"privBody": "För privilegierade containrar, UID 0 i CT är UID 0 på värden - rot inuti CT kan läsa och skriva värdkatalogen direkt utan tillstånd tricks. Skriptet upptäcker detta och hoppar över \"öppna upp behörigheter\" steg helt.",
"noCtTitle": "Skriptet ändrar aldrig något inuti containern",
"noCtBody": "Alla tillstånd tweaks händer på <strong>host filsystem</strong>. Inga <code>pct exec</code> chowner, inga grupper skapade i CT, ingen fstab inuti containern. Om du återanvänder den bindmonterade katalogen i en annan CT senare gäller samma behörigheter automatiskt - ingen kontaineruppsättning."
},
"writes": {
"heading": "Vad ProxMenux skriver - och vad det inte gör",
"intro": "En vanlig förvirring när bindning till en oprivilegierad CT: människor antar ProxMenux måste skriva <code>lxc.idmap</code> poster i <code>/etc/pve/lxc/&lt;CTID&gt;.conf</code>. <strong>Det gör inte.</strong> Endast en rad är appenderad till den filen - bindfästet själv:",
"outro": "Utgångslinjen du ser i slutet av körningen, <em> \"Unprivileged container - UID-kompensation: 100000\"</em>, är helt informativ - det berättar bara att CT använder Proxmox standard oprivileged kartläggning (rot i CT = UID 100000 på värd). Skriptet konfigurerar inte något runt det.",
"twoWaysHeading": "De två sätten att få behörigheter att fungera - och varför ProxMenux väljer en",
"headerApproach": "Metod",
"headerChanges": "Vad det förändras",
"headerWhen": "När den passar",
"hostType": "Behörigheter på värden",
"hostTypeSub": "(vad detta manus gör)",
"hostChangesRich": "<code>chmod o+rwx</code> + <code>setfacl o::rwx</code> på värdkatalogen. CT: s kartlagda UIDs (100000 +) faller i \"andra\" hinken, så öppna <em>övriga</em> är tillräckligt.",
"hostWhen": "Generisk delad mapp tillgång från alla CT. Flera CT: er som delar samma värdkatalog. Enkel och återanvändbar.",
"idmapTypeRich": "<code>lxc.idmap</code>",
"idmapTypeSub": "(Inte används av detta manus)",
"idmapChangesRich": "Anpassad UID / GID-kartläggning i <code>/etc/pve/lxc/&lt;CTID&gt;.conf</code> plus matchning <code>/etc/subuid</code> + <code>/etc/subgid</code>-poster på värden. CT måste startas om varje förändring.",
"idmapWhenRich": "Du behöver en <em>visst</em> UID inuti CT för att kartlägga en <em>visst</em> UID på värden (t.ex. <code>media:1000</code> i CT måste äga filer som <code>media:1000</code> på värden så NFS inte squash. En mer styv installation, normalt bara värt det för det exakta scenariot.",
"idmapTipTitle": "När du faktiskt behöver lxc.idmap",
"idmapTipBody": "Använd manuell ID-mappning när filer skrivna i CT:n måste ha ett visst numeriskt UID/GID på värden, exempelvis för att dela ägare med en värdanvändare. Det åsidosätter inte NFS <code>all_squash</code>; servern bestämmer fortfarande anonym identitet och behörigheter. Lägg vid behov till <code>lxc.idmap</code>-poster manuellt. Bind-monteringsraden är oberoende av dessa poster."
},
"opening": {
"heading": "Öppna verktyget",
"body": "Öppna <strong>Storage &amp; Share Manager → Configure LXC Mount Points (Host ↔ Container)</strong> i ProxMenux huvudmeny. Undermenyn har tre alternativ:",
"imageAlt": "LXC Mount Manager-menyn - Lägg till / Visa / Ta bort"
},
"addFlow": {
"heading": "Lägg till en montering - fullt flöde",
"intro": "Den tekniska uppfattningen, för när du vill veta exakt vad varje dialog gör:"
},
"sources": {
"heading": "Vad du kan välja som värdkatalog",
"intro": "Värd-katalog plockare är den mest grundliga i lagring &amp; Share avsnitt. Den skannar fyra källor och presenterar en deduplicerad lista:",
"headerSource": "Källa",
"headerWhere": "Där det kommer från",
"headerLabel": "Etikett i menyn",
"rows": [
{
"source": "Aktiva nätverksfästen",
"whereRich": "Aktuellt monterade CIFS-/NFS-delningar, lästa från <code>/proc/mounts</code>.",
"labelRich": "<code>NFS [used/size]</code> eller <code>CIFS/SMB [used/size]</code>"
},
{
"source": "Inaktiva fstab-monteringar",
"whereRich": "Definierad i <code>/etc/fstab</code> men inte för närvarande monterad.",
"labelRich": "<code>fstab(off)-NFS</code> / <code>fstab(off)-CIFS/SMB</code>"
},
{
"source": "Lokala kataloger",
"whereRich": "Sub-kataloger under <code>/mnt</code> som inte är nätverksfästen.",
"labelRich": "<code>Local [size]</code>"
},
{
"source": "Proxmox-lagringar",
"whereRich": "Lagringsvägar under <code>/mnt/pve/*</code> (NFS / CIFS registrerad via <code>pvesm</code>).",
"labelRich": "<code>PVE-NFS</code> / <code>PVE-CIFS/SMB</code> / <code>Proxmox-Storage</code>"
},
{
"source": "Manuell inmatning",
"where": "Allt annat - skriv den absoluta vägen själv.",
"labelRich": "<em>Ange sökväg manuellt</em>"
}
],
"tipTitle": "Interna Proxmox-vägar filtreras ut",
"tipBody": "Väljaren hoppar uttryckligen inre Proxmox-vägar (<code>/mnt/pve/local</code>, <code>/mnt/pve/local-lvm</code>, <code>/mnt/pve/backup</code>, ...) - de är reserverade för Proxmox interna och du bör inte binda dem. Endast användarrelaterade lagringar dyker upp."
},
"manual": {
"heading": "Manuell motsvarande",
"privIntro": "För en privilegierad container - det enklaste fallet, inga tillståndstrick:",
"unprivLocalIntro": "För en oprivilegierad container med en lokal värdkatalog - öppna upp behörigheter på värden först:",
"unprivCifsIntro": "För en oprivilegierad container med en CIFS-delning som redan är monterad på värden:"
},
"view": {
"heading": "Visa monteringspunkter",
"body": "Listar varje <code>mpN</code>-ingång över varje container på denna Proxmox-värd, grupperad av CT-id och visar värdväg → containerväg plus eventuella extra alternativ. Läs bara - användbar som en sanity check innan du lägger till eller tar bort något."
},
"remove": {
"heading": "Ta bort en monteringspunkt",
"body": "Välj containern, välj <code>mpN</code>-inmatningen, bekräfta. Manuset kör <code>pct set --delete mpN</code> för att släppa inträdet från CT konfig och erbjuder att starta om containern om den körs. Värdkatalogen och dess innehåll är <strong>orörda</strong> - du kan återföra fästet senare (eller bifoga samma katalog till en annan CT).",
"warnTitle": "Containrar som körs måste startas om för att ändringarna ska gälla",
"warnBody": "Både att lägga till och ta bort monteringspunkter blir bara synliga inuti containern efter en omstart. Manuset erbjuder ett enklick <code>pct reboot</code> vid slutet av varje operation; du kan avböja och starta om manuellt senare."
},
"troubleshoot": {
"heading": "Felsökning",
"noMountTitle": "Mount visas i pct config men inte i containern",
"noMountBody": "Bind monterar bara när containern börjar. Om du lade till fästet medan CT kördes, starta om det (<code>pct reboot &lt;ctid&gt;</code>). Om det redan har startats om och fortfarande saknas, kontrollera <code>pct config &lt;ctid&gt;</code> för att bekräfta att posten finns och värdvägen faktiskt innehåller en katalog.",
"noWriteTitle": "Container kan se katalogen men kan inte skriva",
"noWriteBody": "Nästan alltid ett behörighetsproblem. För oprivilegierade containrar, kör skriptets tillstånd fix igen - värdkatalogens ACLs kan ha återställts av ett annat verktyg (rsync, återställa från backup, manuell <code>chmod</code>). För CIFS, dubbelkolla monteringsalternativen på värden: <code>findmnt /mnt/pve/cifs-…</code>, leta efter <code>uid=</code> / <code>gid=</code> / <code>file_mode=</code> värden.",
"alreadyTitle": "\"Denna väg används redan som en fästpunkt i denna container\"",
"alreadyBody": "Du valde samma containersökväg som redan är kopplad till en annan värdkatalog. Välj antingen en annan containerbana eller ta bort den befintliga monteringspunkten först.",
"nfsTitle": "NFS-åtkomst blockerad även efter applicering av värdfixen",
"nfsIntro": "Din NFS-server squashing root eller alla anslutningar. Skriptet kan upptäcka detta (det försöker skriva en testfil från värden) och visar server-side-vägledning. Två vanliga serversidor för exporten:",
"nfsItems": [
"<code>no_root_squash</code> privilegierade CT kan skriva direkt.",
"<code>all_squash,anonuid=65534,anongid=65534</code> för oprivilegierade CT."
],
"nfsOutro": "Dessa förändringar sker på NFS-servern (TrueNAS, Synology, din anpassade export, ...), inte på Proxmox.",
"fstabOffTitle": "Att montera \"fstab(off)\" -poster gör ingenting",
"fstabOffBody": "Väljaren visar <code>fstab(off)-</code>-poster när en nätverksfäste definieras i fstab men inte för närvarande monterad. Skriptet låter dig binda vägen, men katalogen kommer att vara tom tills du faktiskt monterar delningen (<code>mount &lt;path&gt;</code> på värden). Montera den först och bind sedan den till CT."
},
"related": {
"heading": "Relaterad",
"items": [
{
"href": "/docs/storage-share/host-local-shared",
"label": "Lägg till delad katalog på värd",
"tailRich": " - typiskt första steg: förbereda en <code>/mnt/shared</code> på värden innan du monterar den i en eller flera CT här."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "Lägg till NFS-delning som Proxmox-lagring",
"extraHref": "/docs/storage-share/host-samba",
"extraLabel": "Lägg till Samba-delning som Proxmox-lagring",
"joiner": " / ",
"tailRich": " - registrera en extern delning i Proxmox först, sedan bind-mount sin <code>/mnt/pve/&lt;id&gt;</code> väg in i CT här."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "NFS klient i LXC",
"extraHref": "/docs/storage-share/lxc-samba-client",
"extraLabel": "Samba klient i LXC",
"joiner": " / ",
"tail": " — alternativet när du vill att CT själv ska montera delningen (kräver en privilegierad container)."
}
]
}
}
@@ -0,0 +1,128 @@
{
"meta": {
"title": "NFS klient i LXC | ProxMenux Dokumentation",
"description": "Montera NFS-delningar direkt i en Proxmox LXC-container med ProxMenux. Installerar nfs-common automatiskt, stöder upptäckt på LAN, beständiga monteringar via /etc/fstab och säkra startinställningar. Kräver en privilegierad container.",
"ogTitle": "NFS klient i LXC | ProxMenux Dokumentation",
"ogDescription": "Montera NFS-delningar i en privilegierad LXC-container. Automatisk upptäckt, beständiga poster i /etc/fstab och säkra startinställningar."
},
"header": {
"title": "NFS klient i LXC",
"description": "Montera NFS-delningar direkt i en Proxmox LXC-container. Containern blir en egen NFS-klient: den kommunicerar med NFS-servern över nätverket, kör mount.nfs och skriver till /etc/fstab. ProxMenux installerar nfs-common, hjälper till att hitta servrar och exporter och tillämpar säkra startinställningar.",
"section": "Lagring och delning · LXC"
},
"privReq": {
"title": "Privilegierad container krävs",
"body": "NFS-klienten som använder <code>mount.nfs</code> behöver förmågor (minst <code>SYS_ADMIN</code>) som oprivilegierade LXC:er inte tillhandahåller. Skriptet ber dig välja CT och <strong>avbryter om den är oprivilegierad</strong>. Behövs delningen i en sådan CT monterar du den först på Proxmox-värden med <hostNfsLink>NFS-delning som Proxmox-lagring</hostNfsLink> och bind-monterar den i CT:n med <mountLink>LXC Mount Manager</mountLink>."
},
"what": {
"heading": "Vad detta gör",
"body": "Till skillnad från LXC Mount Manager - vilket gör CT se något <em>via</em> Proxmox-värden - detta skript ger containern sin <strong>egen NFS-klient</strong>: det talar NFS över nätverket, monterar delningar direkt från NFS-servern och lagrar montet i containerns <code>/etc/fstab</code>. Proxmox-värden ligger inte i datavägen.",
"diagramServerLabel": "NFS-server",
"diagramServerDetail": "/export/data",
"diagramHostLabel": "Proxmox-värd",
"diagramHostDetail": "(bara en\nNätverksbro)",
"diagramCtLabel": "LXC (privilegierad)",
"diagramCtDetail": "/mnt/data\nmount.nfs inuti CT",
"diagramArrow": "NFS",
"twoWaysTitle": "Två sätt att ge en CT NFS åtkomst - välj en",
"twoWaysBind": "<strong>Bind montering via host</strong> (<mountLink>LXC Mount Manager</mountLink>): värd monterar NFS en gång, varje CT bind-monterar samma väg. Fungerar med oprivilegierade CT. Rekommenderas när flera CT behöver samma delning.",
"twoWaysDirect": "<strong>Direct NFS monteras inuti CT</strong> (denna sida): CT monterar själva NFS. Kräver privilegierad. Användbart när CT måste äga sin anslutning / referenser, eller för inställningar där varje CT talar till en annan server."
},
"opening": {
"heading": "Öppna verktyget",
"body": "Öppna <strong>Storage &amp; Share Manager → Konfigurera NFS-klient i LXC (endast privilegierad)</strong> i huvudmenyn. ProxMenux ber dig <strong>välja mål-CT</strong>, startar den om den är stoppad och avbryter om den är oprivilegierad. Sedan visas denna undermeny:",
"imageAlt": "NFS Client Manager-menyn - Mount / View / Unmount / Testanslutning"
},
"howRuns": {
"heading": "Hur man kör skriptet (Mount flow)"
},
"fstabFlags": {
"heading": "Varför dessa fstab flaggor",
"intro": "För permanenta monteringar lägger manuset tre flaggor bortom standarden NFS-alternativ: <code>_netdev,x-systemd.automount,noauto</code>. Var och en löser ett riktigt starttidsproblem:",
"headerFlag": "Flaggan",
"headerEffect": "Vad det gör",
"rows": [
{
"flag": "_netdev",
"effect": "Berättar initsystemet denna montering behöver nätverket. Boot blockerar inte vänta på det innan nätverket är uppe."
},
{
"flag": "x-systemd.automount",
"effectRich": "Skapar en systemd auto-mount enhet: monteringen sker bara första gången något når <code>/mnt/&lt;path&gt;</code>. NFS-servern som inte kan nås på starten stallar inte CT."
},
{
"flag": "noauto",
"effect": "Hoppar över omedelbar montering vid start. Tillsammans med automount-enheten ovan monteras filsystemet först vid åtkomst."
}
],
"netEffectTitle": "Nettoeffekt",
"netEffectBody": "NFS-filsystemet monteras vid <em>första åtkomsten</em> i stället för direkt under starten. Om servern är offline kan åtkomsten vänta eller misslyckas och påverka tjänster som behöver sökvägen. Automount minskar startberoendet men garanterar inte att alla CT-tjänster förblir opåverkade av en otillgänglig NFS-server."
},
"manual": {
"heading": "Manuell motsvarande",
"body": "Replicera hela flödet för hand - varje kommando kör <strong>inuti CT</strong> via <code>pct exec &lt;ctid&gt; --</code> eller direkt via <code>pct enter &lt;ctid&gt;</code>:"
},
"view": {
"heading": "Visa aktuella fästen",
"body": "Listar varje NFS monteringspunkt aktiv inuti CT (<code>mount | grep nfs</code>) plus varje NFS linje i CT <code>/etc/fstab</code>. För varje fstab-post visas den levande monteringsstatusen - användbar för att upptäcka permanenta fästen som inte kom upp på start."
},
"unmount": {
"heading": "Avmontera NFS-delning",
"body": "Kombinerar live-monteringarna och fstab-posterna till en lista, låter dig välja en och <strong>tar bort motsvarande rad från <code>/etc/fstab</code></strong>. Skriptet kör <em>inte</em> <code>umount</code> på live-monteringen – istället talar om för dig att en CT omstart krävs för att avmonteringen ska träda i kraft.",
"warnTitle": "Skriptet tar bort fstab-poster, inte levande fästen",
"warnBody": "Detta är ett avsiktligt designval: <code>umount</code> på en upptagen montering misslyckas med \"enhet upptagen\" när något inuti CT fortfarande använder det. Ta bort fstab-posten garanterar att fästet försvinner rent på nästa CT-start. Om du vill monteringen borttagen <em>nu</em> och du är säker på att ingenting använder det, kör <code>pct exec &lt;ctid&gt; -- umount /mnt/&lt;path&gt;</code> för hand efter skriptet avslutas."
},
"test": {
"heading": "Test NFS-anslutning",
"body": "Diagnostic pass inuti CT: bekräftar <code>nfs-common</code> installeras, <code>rpcbind</code> körs, listar aktuella NFS-fästen, sedan itererar över varje NFS-server som refereras i fstab och kontrollerar ping → port 2049 → <code>showmount -e</code>. Bra första stopp när ett permanent fäste inte kommer upp."
},
"troubleshoot": {
"heading": "Felsökning",
"privTitle": "Privilegierad container krävs (skriptet avbryter)",
"privBody": "Den valda CT är oprivilegierad. Kernel NFS-klienten behöver <code>SYS_ADMIN</code>-kapacitet som oprivilegierade CT inte exponerar. Antingen konvertera CT till privilegierad (Disk Manager &amp; konvertering dokumenteras i <importLink>Import Disk till LXC</importLink> sida) eller använd den alternativa vägen som beskrivs i varningen högst upp på denna sida.",
"aptTitle": "apt-get install nfs-common fails",
"aptIntro": "Manuset antar en Debian-familj CT (<code>apt-get</code>). Om CT kör Alpine / Arch / Rocky / Alma misslyckas installationssteget tyst. Installera NFS-klienten för den distroen:",
"aptItems": [
"Alpine: <code>apk add nfs-utils</code>",
"Arch: <code>pacman -S nfs-utils</code>",
"Rocky / Alma: <code>dnf install nfs-utils</code>"
],
"aptOutro": "Sedan kör ProxMenux-skriptet - installationssteget hoppar när verktygen redan finns.",
"portTitle": "\"NFS port (2049) is not accessible\"",
"portBody": "Ping lyckades men <code>nc -z &lt;server&gt; 2049</code> misslyckades inifrån CT. Kontrollera att NFS-tjänsten körs på servern, att brandväggen tillåter 2049 från CT-nätverket, och att CT faktiskt har en giltig nätverksväg (prova <code>pct exec &lt;ctid&gt; -- ip route</code>).",
"bootTitle": "Permanent montering lyckas men kommer inte upp på start",
"bootBody": "Nästan alltid en av: nätverket är inte redo när CT-fästen (skriptets <code>_netdev,x-systemd.automount,noauto</code>-flaggor fixar detta - återställer monteringen via skriptet om du skrev fstablinjen för hand utan dem), servern är oåtkomlig vid start (auto-mount väntar på första åtkomst - det är normalt), eller DNS är olöst på start (använd serverns IP, inte dess värdnamn).",
"squashTitle": "Server squashes root, ingen skriva tillgång inifrån CT",
"squashIntro": "NFS export använder <code>root_squash</code> (standard) och CT skriver som root. Två alternativ:",
"squashItems": [
"Server-side: ändra exporten till <code>no_root_squash</code> (endast om du litar på CT).",
"CT-sida: skriv som en icke-rotanvändare som servern accepterar, eller chown andelen på lämpligt sätt."
],
"squashOutro": "ProxMenux kan inte fixa detta - det är serverpolicy."
},
"related": {
"heading": "Relaterad",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "LXC-monteringspunkter (värd ↔ container)",
"tail": " — alternativet för oprivilegierade CT: montering på värd, binda till CT."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Samba klient i LXC",
"tail": " — relaterad sida med samma mönster för SMB-/CIFS-delningar."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"label": "NFS server i LXC",
"tailRich": " — omvänt: exponera mappar <em>från</em> en CT över NFS."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "NFS-delning som Proxmox-lagring",
"tail": " — registrera delningen i Proxmox i stället för i en enskild CT."
}
]
}
}
@@ -0,0 +1,159 @@
{
"meta": {
"title": "NFS server i LXC | ProxMenux Dokumentation",
"description": "Dela mappar via NFS från en Proxmox LXC-container med ProxMenux. Installerar nfs-kernel-server automatiskt och konfigurerar den gemensamma gruppen sharedfiles, /etc/exports, nätverks-ACL:er och fullständig avinstallation. Kräver en privilegierad container.",
"ogTitle": "NFS server i LXC | ProxMenux Dokumentation",
"ogDescription": "Kör en NFS-server i en privilegierad LXC med den gemensamma gruppen sharedfiles, nätverks-ACL:er och fullständig avinstallation."
},
"header": {
"title": "NFS server i LXC",
"description": "Kör en NFS-kärnserver i en Proxmox LXC-container och dela mappar med andra datorer i nätverket. ProxMenux installerar nfs-kernel-server, konfigurerar den gemensamma gruppen sharedfiles så att flera privilegierade CT:er kan dela filer med samma grupp-ID, hanterar /etc/exports och erbjuder fullständig avinstallation.",
"section": "Lagring & Dela · LXC"
},
"privReq": {
"title": "Privilegierad container krävs",
"body": "<code>nfs-kernel-server</code> måste montera kärnans filsystem <code>nfsd</code> på <code>/proc/fs/nfsd</code>. Det kräver <code>CAP_SYS_ADMIN</code> i värdkärnans namnrymd, inte bara i containerns användarnamnrymd. Oprivilegierade LXC-containrar saknar denna förmåga: <code>rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory)</code>; systemd markerar <code>nfs-server.service</code> som misslyckad på grund av ett beroende. Skriptet kräver därför en privilegierad CT och <strong>avbryter för oprivilegierade CT:er</strong>. Ett alternativ är att köra NFS-servern i en VM."
},
"what": {
"heading": "Vad detta gör",
"body": "Detta är motsatsen till sidan om <em>NFS-klienten</em>: CT:n blir en <strong>NFS-server</strong> och delar en egen mapp med andra CT:er, Proxmox-värden, VM:ar eller fysiska datorer.",
"diagramServerLabel": "LXC (privilegierad) - NFS server",
"diagramServerDetail": "/mnt/data\n(mappen du delar)\n\nchown root:sharedfiles\nchmod 2775 (SGID)\n\nnfs-kernel-server\n+ rpcbind körs",
"diagramClientLabel": "Valfri klient",
"diagramClientDetail": "En annan CT, värden,\nVM, en fysisk maskin.",
"diagramArrow": "NFS-export"
},
"shared": {
"heading": "Den gemensamma gruppen ”sharedfiles”",
"body": "Innan du exporterar mappen skapar ProxMenux en grupp som heter <code>sharedfiles</code> med <strong>GID 101000</strong> inuti containern, lägger till varje vanlig användare till den och ställer sedan in exportkatalogen till <code>root:sharedfiles</code> med läge <code>2775</code>. <code>2</code> på framsidan är SGID-biten - varje fil eller mapp som skapas inuti ärver automatiskt <code>sharedfiles</code>-gruppen.",
"gidTitle": "Varför GID 101000",
"gidBody": "Med LXC:s standardmappning (+100000) visas värdens GID 101000 som GID <strong>1000</strong> i en oprivilegierad CT. Detta serverflöde använder en <strong>privilegierad</strong> CT utan förskjutning. Två privilegierade CT:er med <code>sharedfiles</code> på GID 101000 har därför samma numeriska grupp-ID.",
"remapTitle": "Äldre skapande av ”remap_*”-användare hoppas över för privilegierade CT:er",
"remapBody": "Den äldre grenen för oprivilegierade CT:er skulle skapa <code>remap_&lt;uid&gt;</code>-användare med UID <code>&lt;uid&gt; + 100000</code>, alla i <code>sharedfiles</code>, för vanliga användare och vanliga UID:n (33, 1000, 1001, 1002). Denna <code>+100000</code>-förskjutning gäller inte de <strong>privilegierade</strong> CT:er som krävs här, så skriptet hoppar över grenen. Det är väntat att <code>remap_*</code>-konton saknas i <code>getent passwd</code> och betyder inte att något är fel."
},
"defaults": {
"heading": "Standardexportalternativ - läs detta första",
"warnTitle": "Standardalternativ inkluderar no_root_squash",
"warnBody": "ProxMenux använder som standard <code>rw,sync,no_subtree_check,'<'strong'>'no_root_squash'<'/strong'>'</code>. <strong>Varje root-användare på en klient kan skriva som root på exporten.</strong> Använd detta endast i ett betrott hemnätverk. Om CT:n kan nås från ett obetrott nätverk (VPS eller obetrott VLAN), <strong>byt alternativet till <code>root_squash</code></strong> i dialogen för egna alternativ."
},
"opening": {
"heading": "Öppna verktyget",
"body": "Öppna <strong>Storage & Share Manager → Configure NFS Server in LXC</strong> i huvudmenyn. Endast privilegierade CT:er visas. Välj mål-CT:n; skriptet startar den om den är stoppad och avvisar oprivilegierade CT:er. Menyn har fem alternativ.",
"imageAlt": "NFS Server Manager-menyn - Skapa / Visa / Ta bort / Status / Avinstallera"
},
"howRuns": {
"heading": "Hur manuset går (Skapa flöde)"
},
"network": {
"heading": "Nätverks-ACL — vilka klienter får montera?",
"intro": "<code>/etc/exports</code> styr vilka klienter som får montera exporten. Dialogen har tre lägen:",
"headerMode": "Läge",
"headerValue": "Värde skrivet till /etc/exports",
"headerWhen": "När man väljer den",
"rows": [
{
"mode": "Lokalt nätverk",
"value": "192.168.0.0/16",
"whenRich": "För vanliga hem- och småföretagsnät. Omfattar alla adresser under <code>192.168.*.*</code>."
},
{
"mode": "Anpassad subnet",
"value": "din CIDR (t.ex. 10.0.0.0/24)",
"when": "När ditt LAN inte är i 192.168.x.x eller om du vill ha en hårdare omfattning."
},
{
"mode": "Ensam värd",
"value": "din IP (till exempel 10.0.0.42)",
"when": "Endast en viss dator får montera exporten. Mest begränsande."
}
]
},
"options": {
"heading": "Exportalternativ förklarade",
"headerOption": "Alternativ",
"headerEffect": "Vad det gör",
"rows": [
{
"option": "rw / ro",
"effect": "Tillåt läsning och skrivning eller endast läsning för anslutande klienter."
},
{
"option": "sync",
"effectRich": "Bekräftar skrivbegäranden först när data finns på disk. Säkrare än <code>async</code>, men med lägre genomströmning."
},
{
"option": "no_subtree_check",
"effect": "Hoppar över kontrollen vid varje begäran att filen fortfarande ligger i det exporterade underträdet. Det går snabbare och undviker problem när filer byter namn under pågående åtkomst."
},
{
"option": "no_root_squash",
"effectRich": "<strong>Lita på root på klienten.</strong> En klient som monterar som root skriver som root på servern. Passar betrodda LAN, exempelvis när säkerhetskopieringsverktyg måste bevara ägare. Ersätt med <code>root_squash</code> om du inte litar helt på varje dator som nätverkets ACL tillåter."
}
]
},
"manual": {
"heading": "Manuell motsvarande",
"body": "Utför hela flödet manuellt. Varje kommando körs <strong>inne i CT:n</strong> via <code>pct exec &lt;ctid&gt; --</code> eller <code>pct enter &lt;ctid&gt;</code>:"
},
"view": {
"heading": "Visa aktuell export",
"body": "Visar <code>/etc/exports</code> inifrån CT:n utan kommentarer och tomma rader, med nätverks-ACL och alternativ för varje export. Användbart för att kontrollera delade mappar innan du lämnar ut CT:ns IP-adress."
},
"delete": {
"heading": "Ta bort en export",
"body": "Listar varje rad i <code>/etc/exports</code> för val, tar bort den valda (<code>sed -i</code>), kör <code>exportfs -ra</code> och startar om <code>nfs-kernel-server</code>. Mappen själv och dess innehåll lämnas intakt."
},
"status": {
"heading": "Kontrollera NFS status",
"body": "Diagnostik: kontrollerar att <code>nfs-kernel-server</code> och <code>rpcbind</code> är installerade och aktiva, visar utdata från <code>exportfs -v</code>, aktiva NFS-sessioner (<code>showmount -a</code>) och aktuella klientanslutningar."
},
"uninstall": {
"heading": "Avinstallera NFS server",
"body": "Fullständig rensning efter bekräftelse: stoppar och inaktiverar <code>nfs-kernel-server</code> och <code>rpcbind</code>, tömmer <code>/etc/exports</code>, tar bort NFS-paketen med <code>apt-get purge</code>, gruppen <code>sharedfiles</code> och användarna <code>remap_*</code> samt avslutar kvarvarande processer. De <strong>exporterade mapparna raderas inte</strong>; endast NFS-konfigurationen och paketen tas bort.",
"warnTitle": "Skriptet stannar vid exportlinjen, inte vid data",
"warnBody": "Både <em>Ta bort export</em> och <em>Avinstallera NFS-server</em> tar bort exportkonfigurationen. Data i den delade mappen bevaras. Om även data ska tas bort, gör det uttryckligen med <code>rm -rf</code> efter att skriptet har avslutats och säkerhetskopiera först om någon kan behöva dem."
},
"troubleshoot": {
"heading": "Felsökning",
"privTitle": "Privilegierad container krävs (skriptet avbryter)",
"privBody": "Den valda CT är oprivilegierad. <code>nfs-kernel-server</code> kan inte starta där eftersom montering <code>/proc/fs/nfsd</code> behöver <code>CAP_SYS_ADMIN</code> i värdkärnans namnrymd, och <code>nfsd</code>-modulen inte heller är tillgänglig i containerns namnrymd (<code>modprobe nfsd</code> inifrån returnerar <code>FATAL: Module nfsd not found</code>). Om du kringgår kontrollen ser du <code>rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory)</code> i journalen och inga NFS-portar kommer någonsin att öppnas. De enda användbara alternativen är: konvertera CT till privilegierad, eller flytta NFS-servern till en VM.",
"aptTitle": "apt-get install misslyckas",
"aptIntro": "Manuset antar en Debian-familj CT. På Alpine / Arch / Rocky / Alma, installera NFS serverpaket för hand:",
"aptItems": [
"Alpine: <code>apk add nfs-utils</code>",
"Arch: <code>pacman -S nfs-utils</code>",
"Rocky / Alma: <code>dnf install nfs-utils</code>"
],
"aptOutro": "Kör sedan ProxMenux-skriptet igen; installationen hoppas över om verktygen redan finns.",
"aclTitle": "Kunden kan inte montera: \"åtkomst nekas av servern\"",
"aclBody": "Klientens IP ligger utanför nätverkets ACL. Skapa exporten på nytt med ett större undernät eller lägg till klientens exakta IP. Vanlig fallgrop: via router-NAT kan klienten visas med routerns WAN-IP i stället för sin LAN-IP. Kontrollera på servern med <code>tcpdump -n port 2049</code>.",
"ownTitle": "Filer skrivna av kunden visas med konstig ägande på servern",
"ownIntro": "Två möjligheter:",
"ownItems": [
"Med <code>no_root_squash</code> (standard) skriver klientrot som rot på servern. Filer ägs av <code>root:sharedfiles</code> tack vare SGID på mappen.",
"Icke-root klient användare skriver som sin egen UID / GID. Om deras UID inte finns på servern visas filer med råa nummer (t.ex. <code>1234:1234</code>). Använd <code>sharedfiles</code>-gruppen på klienten också, eller anpassa UID över de system som delar filer."
],
"noShowTitle": "Servern kan nås men showmount returnerar inget",
"noShowBody": "Efter att du redigerat <code>/etc/exports</code> måste du ladda om exporttabellen med <code>exportfs -ra</code> och starta om <code>nfs-kernel-server</code>. Skriptet gör båda, men efter manuell redigering måste du göra det själv. Kontrollera även att brandväggen i CT:n och på Proxmox-värden tillåter TCP/UDP 2049 och rpcbind-porten (111)."
},
"related": {
"heading": "Relaterad",
"items": [
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "NFS klient i LXC",
"tail": " — omvänt: montera externa NFS-delningar i en CT."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"label": "Samba server i LXC",
"tail": " — syskonsidan, samma mönster med SMB / CIFS istället för NFS."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "NFS-delning som Proxmox-lagring",
"tailRich": " — när CT:n delar ut via NFS, registrera NFS-delningen i Proxmox så att den visas under <em>Datacenter → Storage</em>."
}
]
}
}
@@ -0,0 +1,155 @@
{
"meta": {
"title": "Samba klient i LXC | ProxMenux Dokumentation",
"description": "Montera Samba-/CIFS-delningar i en Proxmox LXC-container med ProxMenux. Installerar cifs-utils och smbclient automatiskt och stöder upptäckt, skyddad lagring av inloggningsuppgifter och beständiga monteringar via /etc/fstab. Kräver en privilegierad container.",
"ogTitle": "Samba klient i LXC | ProxMenux Dokumentation",
"ogDescription": "Montera Samba-/CIFS-delningar i en privilegierad LXC-container. Automatisk upptäckt, skyddad fil med inloggningsuppgifter och beständiga poster i /etc/fstab."
},
"header": {
"title": "Samba klient i LXC",
"description": "Montera Samba-delningar (SMB / CIFS) direkt inifrån en Proxmox LXC container. Containern blir en riktig CIFS-klient - pratar med Samba-servern över nätverket, kör mount.cifs, lagrar inloggningsuppgifter säkert och skriver till /etc/fstab. ProxMenux installerar cifs-utils + smbclient för dig och validerar inloggningsuppgifter mot servern innan du monterar.",
"section": "Lagring och delning · LXC"
},
"privReq": {
"title": "Privilegierad container krävs",
"body": "Samba / CIFS-klienten som använder <code>mount.cifs</code> behöver förmågor (minst <code>SYS_ADMIN</code>) som oprivilegierade LXC:er inte tillhandahåller. Skriptet ber dig välja CT och <strong>avbryter om den är oprivilegierad</strong>. Behövs delningen i en sådan CT monterar du den först på Proxmox-värden med <hostSambaLink>Samba / CIFS-delning som Proxmox-lagring</hostSambaLink> och bind-monterar den i CT:n med <mountLink>LXC Mount Manager</mountLink>."
},
"what": {
"heading": "Vad detta gör",
"body": "Containern talar CIFS över nätverket och monterar delningen på egen hand. Proxmox värd är bara nätverksbroen - det ser inte eller hanterar monteringen.",
"diagramServerLabel": "Samba server",
"diagramServerDetail": "//srv/share",
"diagramHostLabel": "Proxmox-värd",
"diagramHostDetail": "(bara en\nNätverksbro)",
"diagramCtLabel": "LXC (privilegierad)",
"diagramCtDetail": "/mnt/share\nmount.cifs inuti CT",
"diagramArrow": "CIFS",
"twoWaysTitle": "Två sätt att ge en CT en Samba-andel - välj en",
"twoWaysBind": "<strong>Bind montering via host</strong> (<mountLink>LXC Mount Manager</mountLink>): värd monterar CIFS en gång, varje CT bind-monterar samma väg. Fungerar med oprivilegierade CT. Rekommenderas när flera CT behöver samma delning.",
"twoWaysDirect": "<strong>Direct CIFS montering inuti CT</strong> (denna sida): CT monterar själva CIFS. Kräver privilegierad. Användbart när CT måste äga sina egna referenser, eller när varje CT talar till en annan server."
},
"opening": {
"heading": "Öppna verktyget",
"body": "Öppna <strong>Storage &amp; Share Manager → Konfigurera Samba-klient i LXC (endast privilegierad)</strong> i huvudmenyn. ProxMenux ber dig <strong>välja mål-CT</strong>, startar den om den är stoppad och avbryter om den är oprivilegierad. Sedan visas denna undermeny:",
"imageAlt": "Samba Client Manager-menyn - Mount / View / Unmount / Test-anslutning"
},
"howRuns": {
"heading": "Hur man kör skriptet (Mount flow)"
},
"creds": {
"heading": "Där lösenordet lever",
"body": "ProxMenux <strong>lägger inte lösenordet i monteringskommandot</strong> eller i <code>/etc/fstab</code>. I stället skapas en fil med inloggningsuppgifter i CT:n. Filen innehåller klartext som skyddas med behörigheter endast för root; den är inte krypterad:",
"whyTitle": "Varför en separat fil snarare än fstab",
"whyBody": "CIFS modulen accepterar <code>username=</code> / <code>password=</code> alternativ inline i fstab, men alla som kan läsa <code>/etc/fstab</code> ser lösenordet i klart. Att sätta referenser i en root-only-fil och peka fstab på den (<code>credentials=</code>) håller lösenordet ur världsläsbar konfig."
},
"options": {
"heading": "Mount alternativ förklarade",
"headerOption": "Alternativ",
"headerEffect": "Vad det gör",
"rows": [
{
"option": "rw / ro",
"effect": "Läs-skriv eller läs-bara läget för hela fästet."
},
{
"option": "file_mode=0664",
"effect": "Behörigheter som rapporterats för filer via CIFS. Default låter ägaren + gruppen skriva, andra läser."
},
{
"option": "dir_mode=0775",
"effect": "Behörigheter rapporterade för kataloger. Default låter ägaren + gruppen komma in och skapa, andra korsar."
},
{
"option": "iocharset=utf8",
"effect": "Använder UTF-8 för filnamn från nätverket. Undviker felkodade tecken i namn utanför ASCII."
},
{
"option": "credentials=file",
"effect": "Läs användarnamn / lösenord från filen (läggs automatiskt till användaren auth)."
},
{
"option": "guest",
"effect": "Autentisera som gäst, inga referenser behövs (läggs automatiskt när gäst väljs)."
},
{
"option": "_netdev",
"effect": "Berättar initsystemet denna montering behöver nätverket. Boot blockerar inte vänta på det."
},
{
"option": "x-systemd.automount",
"effect": "Lazy montering: endast fästen vid första åtkomst. CIFS-servern som inte kan nås på starten stannar inte CT."
},
{
"option": "noauto",
"effect": "Hoppar över omedelbar montering vid start. Automount-enheten monterar filsystemet först när det används."
}
],
"netEffectTitle": "Nettoeffekten av fstabflaggarna",
"netEffectBody": "CIFS-filsystemet monteras vid <em>första åtkomsten</em> i stället för direkt under starten. Om servern är offline kan åtkomsten vänta eller misslyckas och påverka tjänster som behöver sökvägen. Automount minskar startberoendet men garanterar inte att alla CT-tjänster förblir opåverkade av en otillgänglig CIFS-server."
},
"manual": {
"heading": "Manuell motsvarande",
"body": "Replicera hela flödet för hand - varje kommando kör <strong>inuti CT</strong> via <code>pct exec &lt;ctid&gt; --</code> eller direkt via <code>pct enter &lt;ctid&gt;</code>:",
"guestIntro": "Gästvariant - ingen referensfil som behövs:"
},
"view": {
"heading": "Visa aktuella fästen",
"body": "Listar varje CIFS-monteringspunkt aktiv inuti CT (<code>mount -t cifs</code>) plus varje CIFS-linje i CT <code>/etc/fstab</code>. För varje fstab-post visas levande monteringsstatus - användbar för att upptäcka permanenta fästen som inte kom upp på start."
},
"unmount": {
"heading": "Avmontera Samba-delning",
"body": "Samlar aktiva monteringar och fstab-poster i en lista. När du väljer en post <strong>tas motsvarande rad bort från <code>/etc/fstab</code></strong> tillsammans med filen med inloggningsuppgifter. Skriptet kör inte <code>umount</code> på den aktiva monteringen utan talar om att CT:n måste startas om för att avmonteringen ska få effekt.",
"warnTitle": "Skriptet tar bort fstab-poster, inte levande fästen",
"warnBody": "Samma design som NFS-klienten: <code>umount</code> på en upptagen montering misslyckas med \"enhet upptagen\". Ta bort fstab-posten garanterar att fästet försvinner rent på nästa CT-start. Om du vill monteringen borttagen <em>nu</em>, kör <code>pct exec &lt;ctid&gt; -- umount /mnt/&lt;path&gt;</code> för hand efter att manuset har avslutats."
},
"test": {
"heading": "Testa Samba-anslutning",
"body": "Diagnostic pass inuti CT: bekräftar <code>cifs-utils</code> installeras, listar nuvarande CIFS-fästen, sedan för varje server som refereras i fstab-kontroller ping → portar 139 / 445 → gästlista. \"Kräver autentisering\" på gästtestet är normalt för alla servrar som inte exponerar offentliga aktier."
},
"troubleshoot": {
"heading": "Felsökning",
"privTitle": "Privilegierad container krävs (skriptet avbryter)",
"privBody": "Den valda CT är oprivilegierad. Kernel CIFS-klienten behöver <code>SYS_ADMIN</code>-kapacitet som oprivilegierade CT inte exponerar. Antingen konvertera CT till privilegierad, eller använd den alternativa vägen som beskrivs i varningen högst upp på denna sida.",
"aptTitle": "apt-get install fails",
"aptIntro": "Manuset antar en Debian-familj CT (<code>apt-get</code>). På Alpine / Arch / Rocky / Alma, installera CIFS-klienten för hand:",
"aptItems": [
"Alpine: <code>apk add cifs-utils samba-client</code>",
"Arch: <code>pacman -S cifs-utils smbclient</code>",
"Rocky / Alma: <code>dnf install cifs-utils samba-client</code>"
],
"aptOutro": "Sedan kör ProxMenux-skriptet - installationssteget hoppar när verktygen redan finns.",
"guestFallbackTitle": "\"Servern kopplade dig som gäst istället för den angivna användaren\"",
"guestFallbackBody": "Manusets aktiva validering fångade ett verkligt autproblem. Servern accepterade anslutningen men nedgraderade den till gästen eftersom referenserna är fel. Vanliga orsaker: typo i användarnamnet / lösenordet, användaren finns inte på servern, användaren är låst, eller arbetsgruppen / domänen är missmatchad. Re-run flödet och åter ange referenser noggrant (lösenordet är dolt i dialogrutan).",
"denyTitle": "\"NT_STATUS_ACCESS_DENIED\" vid montering",
"denyBody": "Inloggningsuppgifterna är validerade men delningen nekar åtkomst. Kontrollera användarens behörigheter för just den delningen på servern (valideringen bekräftar inloggning, inte varje delnings ACL:er). Kontrollera också om servern kräver en viss SMB-version: lägg till <code>vers=3.0</code> (eller <code>2.1</code>, <code>2.0</code>) i monteringsalternativen.",
"utf8Title": "Filnamn i UTF-8 / utanför ASCII visas felaktigt",
"utf8Body": "Standardalternativen inkluderar <code>iocharset=utf8</code>, men vissa serverkonfigurationer rapporterar en oväntad kodsida. Om filnamn med accenter / symboler ser fel, prova också <code>nounix</code> (vissa Linux Samba-servrar behöver detta när klienten också är Linux) eller ställa in serversidan till <code>unix extensions = no</code>.",
"bootTitle": "Permanent montering lyckas men kommer inte upp på start",
"bootBody": "Nästan alltid en av: nätverket är inte klart när CT-fästen (skriptets <code>_netdev,x-systemd.automount,noauto</code>-flaggor fixar detta), servern är oåtkomlig vid start (auto-mount väntar på första åtkomst - det är normalt), eller DNS är olöst på start (använd serverns IP, inte dess värdnamn)."
},
"related": {
"heading": "Relaterad",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "LXC-monteringspunkter (värd ↔ container)",
"tail": " — alternativet för oprivilegierade CT: montering på värd, binda till CT."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "NFS klient i LXC",
"tail": " — relaterad sida med samma mönster för NFS-delningar."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"label": "Samba server i LXC",
"tailRich": " — omvänt: exponera mappar <em>från</em> en CT över Samba."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS som Proxmox förvaring",
"tail": " — registrera delningen i Proxmox i stället för i en enskild CT."
}
]
}
}
@@ -0,0 +1,132 @@
{
"meta": {
"title": "Samba server i LXC | ProxMenux Dokumentation",
"description": "Kör en Samba (SMB / CIFS) server i en Proxmox LXC container med ProxMenux. Auto-installerar samba, hanterar /etc/samba/smb.conf, smbpasswd-användare, sharedfiles grupp för bindmonterade mappar. Kräver en privilegierad container.",
"ogTitle": "Samba server i LXC | ProxMenux Dokumentation",
"ogDescription": "Dela mappar via SMB/CIFS från en privilegierad LXC-container. Automatisk installation, smbpasswd-användare och behörigheter anpassade till bind-monteringar."
},
"header": {
"title": "Samba server i LXC",
"description": "Kör en Samba (SMB / CIFS) server i en Proxmox LXC container och exponera mappar till Windows / macOS / Linux klienter på nätverket. ProxMenux installerar samba, skapar en Samba användare med smbpasswd, hanterar /etc/samba/smb.conf, och tillämpar behörigheter anpassade till bind-monteringar när den delade mappen kommer från värden.",
"section": "Lagring & Dela · LXC"
},
"privReq": {
"title": "Privilegierad container krävs",
"body": "Samba antar den anslutande användarens identitet med <code>setgroups()</code> på varje trädanslutning (det ögonblick en klient öppnar en delning). I en oprivilegierad LXC avvisar kärnan det syscall eftersom containerns användarnamnrymd skapas med <code>setgroups=deny</code> - och <code>smbd</code> svarar genom att avsluta arbetsprocessen med <code>PANIC: sys_setgroups failed</code>. Resultatet är att <code>smbd</code> startar och binder portar 139/445, men varje klientanslutning misslyckas med <code>NT_STATUS_CONNECTION_DISCONNECTED</code>. Skriptet genomdriver en privilegierad CT av denna anledning och <strong>avbryter om CT:n är oprivilegierad</strong>. Det finns ingen ren fix på serversidan; använd en privilegierad CT eller kör Samba i en VM."
},
"what": {
"heading": "Vad detta gör",
"body": "Containern blir en SMB/CIFS-server: den kör <code>smbd</code>, exponerar en mapp via <code>/etc/samba/smb.conf</code> och accepterar klientanslutningar på portar <code>139</code>/<code>445</code>. Klienterna ser delningen på <code>\\\\&lt;ct-ip&gt;\\&lt;share-name&gt;</code> i Windows Explorer, <code>smb://&lt;ct-ip&gt;/&lt;share-name&gt;</code> i macOS Finder, eller via <code>mount.cifs</code> på Linux.",
"diagramServerLabel": "LXC (privilegierad) - Samba server",
"diagramServerDetail": "/mnt/data\n(mappen du delar)\n\nsmbd + nmbd körs\n\nAnvändare: <username>\n(via smbpasswd)\n\nTvingad grupp:\nsharedfiles",
"diagramClientLabel": "Valfri klient i nätverket",
"diagramClientDetail": "Windows: \\\\<ip>\\<share>\nmacOS: smb://<ip>/<share>\nLinux: mount.cifs",
"diagramArrow": "SMB / CIFS"
},
"perms": {
"heading": "Två tillståndsvägar beroende på mapptypen",
"body": "Innan delningen läggs till i <code>smb.conf</code> kontrollerar skriptet om mappen är en <strong>bind-montering från värden</strong> eller en vanlig <strong>lokal mapp i CT:n</strong> och anpassar ägare och behörigheter därefter:",
"headerType": "Mapptyp",
"headerAction": "Vad manuset gör",
"bindType": "Bind-mount från värd",
"bindTypeSubRich": "Detekteras via <code>mount</code>-utgång",
"bindActionRich": "Skapar grupp <code>sharedfiles</code> (standard GID 999, dynamisk om det tas), lägger till Samba-användaren till den, sedan <code>chown root:sharedfiles</code> + <code>chmod 2775</code> (SGID - nya filer ärver gruppen). Om användaren fortfarande inte kan skriva gäller <code>setfacl -m u:&lt;user&gt;:rwx</code>.",
"localType": "Lokal mapp i CT",
"localTypeSub": "Ingen bind-montering upptäckt",
"localActionRich": "Standard ägande: <code>chown -R &lt;user&gt;:&lt;user&gt;</code> + <code>chmod -R 755</code>. Ingen delad grupp behövdes eftersom ingen annan CT skriver till den här mappen. Falls tillbaka till <code>setfacl</code> om skrivåtkomst fortfarande saknas.",
"gidTitle": "GID för \"sharedfiles\" skiljer sig från NFS-serverflödet",
"gidBody": "Samba server script använder GID <strong>999</strong> för <code>sharedfiles</code>, medan <nfsLink>NFS server flow</nfsLink> använder GID <strong>101000</strong>. Om du kör båda servrarna i samma CT och vill ha en gemensam grupp över båda protokollen, redigera en av dem för att matcha den andra efter installationen (t.ex. <code>groupmod -g 101000 sharedfiles</code>) och sätt ägare på de berörda mapparna igen. Detta är en känd inkonsekvens i de nuvarande skripten."
},
"opening": {
"heading": "Öppna verktyget",
"body": "Öppna <strong>Storage & Share Manager → Configure Samba Server in LXC</strong> i huvudmenyn. Endast privilegierade CT:er visas. Välj mål-CT:n; skriptet startar den om den är stoppad och avvisar oprivilegierade CT:er. Menyn har fem alternativ.",
"imageAlt": "Samba Server Manager-menyn - Skapa / Visa / Ta bort / Status / Avinstallera"
},
"howRuns": {
"heading": "Hur manuset går (Skapa flöde)"
},
"modes": {
"heading": "De tre delningslägena",
"intro": "Varje läge skriver en annan stanza till <code>smb.conf</code>. Alla tre inkluderar <code>valid users = &lt;username&gt;</code> (ingen anonym), <code>force group = sharedfiles</code> (så nya filer tillhör den delade gruppen) och <code>veto files = /lost+found/</code> (döljer det från kunder).",
"headerMode": "Läge",
"headerBlock": "Block skriven till smb.conf",
"rwMode": "Läsning och skrivning",
"roMode": "Skrivskyddad",
"customMode": "Anpassad",
"customBodyRich": "Du skriver dina egna direktiv i en fritextlåda. ProxMenux placerar dem fortfarande i ett <code>[share]</code> block med standard <code>path</code>, <code>valid users</code>, <code>force group</code> och <code>veto files</code>."
},
"manual": {
"heading": "Manuell motsvarande",
"body": "Utför hela flödet manuellt. Varje kommando körs <strong>inne i CT:n</strong> via <code>pct exec &lt;ctid&gt; --</code> eller <code>pct enter &lt;ctid&gt;</code>:"
},
"connect": {
"heading": "Ansluta från klienter",
"headerOs": "Klientens operativsystem",
"headerHow": "Hur att ansluta",
"windowsOs": "Windows",
"windowsHowRich": "Utforskaren → adressfältet: <code>\\\\&lt;ct-ip&gt;\\&lt;share-name&gt;</code>. Eller <em>Anslut nätverksenhet</em> → markera ”Anslut med andra autentiseringsuppgifter”.",
"macosOs": "macOS",
"macosHowRich": "Finder → <em>Gå → Anslut till Server...</em> → <code>smb://&lt;ct-ip&gt;/&lt;share-name&gt;</code>. Eller <code>mount_smbfs //user@&lt;ct-ip&gt;/&lt;share&gt; /mountpoint</code>.",
"linuxOs": "Linux",
"linuxHowRich": "<code>mount -t cifs //&lt;ct-ip&gt;/&lt;share&gt; /mnt/x -o username=&lt;u&gt;,password=&lt;p&gt;,iocharset=utf8</code>. Eller använd <clientLink>Samba-klienten i LXC</clientLink>-sida om kunden är en annan Proxmox CT."
},
"view": {
"heading": "Visa aktuella delningar",
"body": "Läser <code>/etc/samba/smb.conf</code> inuti CT och listar varje <code>[share]</code> block (skippa <code>[global]</code>, <code>[homes]</code>, <code>[printers]</code>) med sin väg. Användbart som en snabb inventering."
},
"delete": {
"heading": "Ta bort en delning",
"body": "Låter dig välja en delning med namn, tar bort blocket från <code>smb.conf</code> (<code>sed</code> raderar från <code>[share]</code> ner till nästa tomma rad) och startar om <code>smbd</code>. Mappen själv och dess innehåll lämnas intakt."
},
"status": {
"heading": "Kontrollera Samba status",
"body": "Rapporter om <code>smbd</code> och <code>nmbd</code> är installerade och aktiva, listar Samba-användare (<code>pdbedit -L</code>) och trycker aktiva sessioner (<code>smbstatus</code>)."
},
"uninstall": {
"heading": "Avinstallera Samba server",
"body": "Fullständig rensning efter bekräftelse: stoppar och inaktiverar <code>smbd</code> och <code>nmbd</code>, säkerhetskopierar <code>smb.conf</code> till <code>smb.conf.backup.YYYYMMDD_HHMMSS</code>, tar bort Samba-användare med <code>smbpasswd -x</code> och Samba-paketen med <code>apt-get purge</code>. De <strong>exporterade mapparna raderas inte</strong>.",
"warnTitle": "Mappar överlever - säkerhetskopiera data separat",
"warnBody": "<em>Ta bort delning</em> och <em>Avinstallera Samba-server</em> tar bort delningskonfigurationen. Data i de delade mapparna bevaras. Om även data ska tas bort, gör det uttryckligen med <code>rm -rf</code> efter att skriptet avslutats."
},
"troubleshoot": {
"heading": "Felsökning",
"privTitle": "Privilegierad container krävs (skriptet avbryter)",
"privBody": "Den valda CT är oprivilegierad och <code>smbd</code> kan inte servera filer där. Om du kringgår kontrollen och konfigurerar Samba för hand börjar <code>smbd</code> och portarna öppna, men den första klientanslutningen orsakar en panik med <code>PANIC: sys_setgroups failed</code> i <code>/var/log/samba/log.&lt;client&gt;</code> och klienten ser <code>NT_STATUS_CONNECTION_DISCONNECTED</code>. Orsaken är det oprivilegierade användarnamnrymden med <code>setgroups=deny</code>, som blockerar Sambas per-anslutning impersonation. Varken <code>features=keyctl=1</code> eller ta bort <code>force user</code>/<code>force group</code> ändrar detta. De enda användbara alternativen är: konvertera CT till privilegierad, eller flytta Samba till en VM.",
"aptTitle": "apt-get install misslyckas",
"aptIntro": "Manuset antar en Debian-familj CT. På Alpine / Arch / Rocky / Alma, installera Samba för hand:",
"aptItems": [
"Alpine: <code>apk add samba</code>",
"Arch: <code>pacman -S samba</code>",
"Rocky / Alma: <code>dnf install samba</code>"
],
"aptOutro": "Kör sedan ProxMenux-skriptet igen; installationen hoppas över om verktygen redan finns.",
"noShareTitle": "Klienten ansluter men ser inte delningen",
"noShareBody": "Kontrollera att <code>browseable = yes</code> är inställd i delningsblocket (standard för rw / ro-lägen; kan saknas i anpassad). Kontrollera också CT brandvägg och Proxmox värd brandvägg tillåter TCP 445 (SMB) och 139 (NetBIOS). Vissa Windows-klienter kräver också namnupplösning - prova IP direkt först.",
"authTitle": "Autentisering misslyckas (NT_STATUS_LOGON_FAILURE)",
"authBody": "Antingen är lösenordet fel (Samba-lösenord är <em>separata</em> från systemlösenord; lista Samba-användare med <code>pdbedit -L</code>) eller saknas användaren i <code>valid users</code> för delningen. Återställ lösenordet i CT:n med <code>smbpasswd &lt;user&gt;</code>.",
"groupTitle": "Filer skrivna av kunden visas med fel grupp på servern",
"groupBody": "Skriptet sätter <code>force group = sharedfiles</code> i delningsblocket, så nya filer bör vara grupp <code>sharedfiles</code>. Om de inte är det kan SGID-biten på föräldrakatalogen ha gått förlorad (någon körde <code>chmod</code> för hand). Tillämpa igen: <code>chmod 2775 /mnt/&lt;share&gt;</code>.",
"bothTitle": "Dela samma mapp över både NFS och Samba",
"bothBody": "ProxMenux använder olika GID för <code>sharedfiles</code> i varje manus (Samba: 999, NFS: 101000). Om du tjänar samma mapp via båda, besluta om en GID och anpassa båda. Den enklaste fixen: efter att ha kört båda skripten, redigera den mindre GID:"
},
"related": {
"heading": "Relaterad",
"items": [
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Samba klient i LXC",
"tail": " — omvänt: montera externa Samba-delningar i en CT."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"label": "NFS server i LXC",
"tail": " — syskonsidan, samma mönster med NFS istället för CIFS."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS som Proxmox-lagring",
"tailRich": " — när CT:n delar ut via Samba, registrera Samba-delningen i Proxmox så att den visas under <em>Datacenter → Storage</em>."
}
]
}
}