mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-02 19:02:31 +00:00
docs: review storage sharing documentation in all seven translations
This commit is contained in:
@@ -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 & 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 <ip:port></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-<last IQN segment, 20 chars max></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 <storage-id></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 <id> --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 & 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-<device></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.<fs></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. La registrazione usa <code>pvesm add dir</code> o <code>pvesm add zfspool</code>."
|
||||
],
|
||||
"tipTitle": "Perché UUID + nofail in /etc/fstab",
|
||||
"tipBody": "Lo script scrive <code>UUID=… /mnt/<id> <fs> 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 <name></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 <csv></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 <name></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 <whatever-mounts-it></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 <mount-path></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/<name></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/<name></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 <ctid> | 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/<id></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 & 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/<storage-id></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/<path></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/<id></code> e fstab in <code>/mnt/<path></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-<server-ip-with-dashes></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 <id> --server <srv> --export <path> --content <csv></code> e Proxmox auto-mount a <code>/mnt/pve/<id></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/<export-basename></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 <opts> <srv>:<export> <path></code>.",
|
||||
"Scrive una voce di una linea a <code>/etc/fstab</code>: <code><srv>:<export> <path> nfs <opts> 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 <ctid> -mp0 /mnt/<path>,mp=/mnt/<ct-path>,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 <storage-id></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 <path></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 <subnet>/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 <server> 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 <em>Testa connettività NFS</em> per verificare DNS, porte e accesso al montaggio. 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 <id> --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 <server></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/<path></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/<id></code>. La password è salvata in chiaro in <code>/etc/pve/priv/storage/<id>.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 & 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/<storage-id></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/<path></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/<id></code> con le opzioni Proxmox predefinite. fstab monta in <code>/mnt/<path></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-<server-ip-with-dashes></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/<storage-id>.pw</code>, protette dalla directory privata del file system del cluster accessibile a <code>root</code>. Non presumere una modalità fissa <code>0600</code> o la cifratura. Dopo un cambio password sul server usa <code>pvesm set <id> --password <new></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/<share-name></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/<server>_<share>.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 <opts>,credentials=<file></code> (o <code>guest</code>) <code>//<srv>/<share> <path></code>.",
|
||||
"Scrive una voce di una linea a <code>/etc/fstab</code>: <code>//<srv>/<share> <path> cifs <opts> 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 <storage-id></code> e Proxmox rimuove le credenziali associate. Per fstab tenta <code>umount <path></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 <id> --username <u> --password <p></code> o rimuovere e riadd da ProxMenux. Se il server è in un dominio AD, aggiungere <code>--domain <DOMAIN></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/<path></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 <server></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/<path></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 & 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 & 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/<ctid>.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/<CTID>.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/<CTID>.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 & 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 & 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 <ctid></code>. Se manca anche dopo il riavvio, controlla con <code>pct config <ctid></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 <path></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/<id></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 & 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/<path></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 <ctid> --</code> o direttamente tramite <code>pct enter <ctid></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 <ctid> -- umount /mnt/<path></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 & è 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 <server> 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 <ctid> -- 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_<uid></code> con UID <code><uid> + 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 <ctid> --</code> o <code>pct enter <ctid></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 & 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 <ctid> --</code> o direttamente tramite <code>pct enter <ctid></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 <ctid> -- umount /mnt/<path></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>\\\\<ct-ip>\\<share-name></code> in Windows Explorer, <code>smb://<ct-ip>/<share-name></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:<user>:rwx</code>.",
|
||||
"localType": "Cartella locale dentro CT",
|
||||
"localTypeSub": "nessun bind mount rilevato",
|
||||
"localActionRich": "Proprietà standard: <code>chown -R <user>:<user></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 = <username></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 <ctid> --</code> o <code>pct enter <ctid></code>:"
|
||||
},
|
||||
"connect": {
|
||||
"heading": "Collegamento da clienti",
|
||||
"headerOs": "Sistema operativo del client",
|
||||
"headerHow": "Come collegare",
|
||||
"windowsOs": "Windows",
|
||||
"windowsHowRich": "Esplora file → barra degli indirizzi: <code>\\\\<ct-ip>\\<share-name></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://<ct-ip>/<share-name></code>. O <code>mount_smbfs //user@<ct-ip>/<share> /mountpoint</code>.",
|
||||
"linuxOs": "Linux",
|
||||
"linuxHowRich": "<code>mount -t cifs //<ct-ip>/<share> /mnt/x -o username=<u>,password=<p>,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.<client></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 <user></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/<share></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>."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user