{
"meta": {
"title": "Host: montar share Samba en el host | ProxMenux Documentation",
"description": "Monta un share Samba / CIFS externo en el host Proxmox — bien como almacenamiento de Proxmox (pvesm add cifs), bien como un montaje fstab del host normal con uid/gid/file_mode abiertos (NO visible en Datacenter > Storage), o ambos. El método fstab abre los permisos para que un LXC unprivileged que haga bind mount de la ruta pueda leer/escribir sin cambios dentro del contenedor.",
"ogTitle": "Host: montar share Samba en el host | ProxMenux Documentation",
"ogDescription": "Monta un share Samba / CIFS externo en el host Proxmox vía pvesm, fstab con permisos abiertos (ideal para bind mounts LXC), o ambos."
},
"header": {
"title": "Host: montar share Samba en el host",
"description": "Monta un share Samba (SMB / CIFS) externo — de un NAS, una máquina Windows, un export SMB de TrueNAS — en el host Proxmox. Elige uno o ambos métodos: regístralo como almacenamiento de Proxmox (visible en Datacenter > Storage) y/o añade un montaje /etc/fstab normal en una ruta que tú elijas, con uid/gid/file_mode abiertos para que los LXCs unprivileged puedan hacer bind mount y escribir sin cambios dentro del contenedor.",
"section": "Almacenamiento y compartición · Host"
},
"intro": {
"title": "Qué hace",
"body": "ProxMenux ofrece dos métodos de montaje para cualquier share Samba: (1) Almacenamiento de Proxmox vía pvesm add cifs — visible en Datacenter > Storage, montado en /mnt/pve/<id>, credenciales guardadas cifradas en /etc/pve/priv/storage/<id>.pw; (2) Montaje fstab del host en una ruta que tú elijas — persistente vía /etc/fstab, montado con uid=0,gid=0,file_mode=0777,dir_mode=0777 para que los bind mounts LXC unprivileged puedan escribir, credenciales guardadas en un archivo solo para root en /etc/samba/credentials/ (la contraseña nunca aparece en fstab). Puedes ejecutar un método, el otro o ambos."
},
"opening": {
"heading": "Abrir la herramienta",
"body": "Desde el menú principal de ProxMenux, abre Storage & Share Manager → Mount Samba Share on Host. Verás este submenú con cuatro opciones:",
"imageAlt": "Menú Samba Host Manager — Mount / View / Remove / Test connectivity"
},
"howRuns": {
"heading": "Cómo se ejecuta el script",
"body": "El flujo tiene dos fases. Fase 1: descubre el servidor, valida credenciales, elige share y elige método o métodos de montaje vía una lista de verificación. Fase 2: solo se ejecutan los métodos que marcaste. Las credenciales se necesitan por adelantado porque smbclient las necesita para listar shares. Hasta la confirmación final, ni /etc/pve/storage.cfg ni /etc/fstab se tocan."
},
"modes": {
"heading": "Selector de método de montaje (dos opciones, marca una o ambas)",
"intro": "Tras seleccionar el share y validar las credenciales, ProxMenux muestra una lista de verificación con los dos métodos de montaje. Puedes marcar uno o ambos. Si pulsas OK sin marcar nada, el diálogo reaparece hasta que elijas al menos una opción o pulses Cancel para salir del flujo.",
"headerMethod": "Método",
"headerMount": "Ruta de montaje",
"headerUi": "Visible en Datacenter > Storage",
"headerUseCase": "Caso de uso típico",
"rows": [
{
"method": "Como almacenamiento de Proxmox (pvesm)",
"mountRich": "/mnt/pve/<storage-id> (gestionado por Proxmox)",
"ui": "Sí",
"useCase": "Backups, ISOs, templates LXC — cualquier cosa que necesite aparecer en la UI de Proxmox. Los discos de VM en vivo están técnicamente soportados pero desaconsejados en CIFS (semántica de locking)."
},
{
"method": "Solo fstab del host",
"mountRich": "/mnt/<path> con uid/gid/file_mode abiertos",
"ui": "No",
"useCaseRich": "Hacer bind mount del share en uno o más LXCs sin exponerlo como almacenamiento de Proxmox. Los permisos abiertos garantizan que los CTs unprivileged puedan escribir a través del bind mount."
},
{
"method": "Ambos",
"mount": "Ambas rutas de arriba (dos conexiones CIFS independientes al servidor)",
"ui": "Sí",
"useCase": "Quieres integración con la UI Y una ruta estable del lado del host con permisos abiertos para bind mounts LXC. El montaje pvesm usa los valores por defecto de Proxmox; el montaje fstab aplica el uid/gid/file_mode abierto por separado."
}
],
"bothTitle": "\"Ambos\" crea dos conexiones CIFS independientes",
"bothBody": "pvesm y fstab montan el mismo share dos veces con opciones distintas. El montaje pvesm en /mnt/pve/<id> usa los valores por defecto de Proxmox (sin uid/gid abiertos) — la UI de Proxmox está contenta. El montaje fstab en /mnt/<path> usa uid=0,gid=0,file_mode=0777,dir_mode=0777 — los bind mounts LXC unprivileged a él pueden escribir. Dos conexiones TCP al servidor SMB desde el mismo host Proxmox."
},
"pvesmBranch": {
"heading": "Método A — Como almacenamiento de Proxmox (pvesm)",
"intro": "Si Como almacenamiento de Proxmox está marcado, ProxMenux ejecuta el flujo pvesm original:",
"items": [
"Storage ID — por defecto cifs-<server-ip-with-dashes>. Solo letras, dígitos, - y _.",
"Content types — CIFS expone 6 opciones (las mismas que NFS menos rootdir, que Proxmox no permite en CIFS porque la semántica de locking no puede sostener un rootfs LXC en vivo):"
],
"headerType": "Content type",
"headerAllows": "Qué permite",
"rows": [
{
"type": "import",
"allows": "Importaciones de imágenes de disco (seleccionado por defecto)."
},
{
"type": "backup",
"allowsRich": "Archivos de backup de VM y CT (vzdump)."
},
{
"type": "iso",
"allows": "Imágenes ISO de instalación."
},
{
"type": "vztmpl",
"allows": "Templates LXC."
},
{
"type": "images",
"allowsRich": "Imágenes de disco de VM en vivo — avisado en línea, ver abajo."
},
{
"type": "snippets",
"allows": "Scripts de hook y snippets cloud-init."
}
],
"warnTitle": "Discos de VM en vivo en CIFS",
"warnBody": "Si marcas images, ProxMenux saca un aviso antes de continuar. CIFS usa un modelo de locking advisory que interactúa mal con las operaciones de disco de KVM (snapshots, migración en vivo, I/O bajo contención). Un almacén de backups o ISOs en CIFS es perfectamente correcto; un almacén de discos en vivo es buscarse problemas. Usa NFS (o almacenamiento local) para images cuando puedas.",
"credsTitle": "Dónde guarda pvesm las credenciales",
"credsBody": "Cuando usas autenticación de usuario, la contraseña NO se escribe en /etc/pve/storage.cfg. Proxmox la guarda en /etc/pve/priv/storage/<storage-id>.pw — modo 0600, propietario root, miembro del cluster sync. Si más adelante cambias la contraseña en el servidor Samba, usa pvesm set <id> --password <new> o elimina y vuelve a añadir a través de ProxMenux."
},
"fstabBranch": {
"heading": "Método B — Solo montaje fstab del host",
"intro": "Si Solo como montaje fstab del host está marcado, ProxMenux pide una ruta de montaje del host y opciones persistentes, escribe un archivo de credenciales solo para root (modo User), luego monta y escribe la entrada en /etc/fstab:",
"items": [
"Ruta de montaje del host — por defecto /mnt/<share-name>. Debe ser una ruta absoluta. Si algo ya está montado ahí, o existe una entrada fstab, ProxMenux ofrece reemplazarla.",
"Mount options — elige Read/Write (por defecto con rw,uid=0,gid=0,file_mode=0777,dir_mode=0777,iocharset=utf8,nofail,_netdev), Read-only (variante de solo lectura con file_mode=0555,dir_mode=0555), o Custom (escribe tu propia cadena de opciones). El uid/gid/file_mode abiertos siempre se recomiendan para escrituras a través de bind mount LXC."
],
"credsTitle": "Archivo de credenciales (modo User)",
"credsBody": "Si te autenticaste con usuario + contraseña, ProxMenux escribe un archivo de credenciales solo para root en /etc/samba/credentials/<server>_<share>.cred (modo 0600) con líneas username= y password=, y lo referencia en la entrada fstab vía la opción de montaje credentials=. El texto en claro nunca aterriza en /etc/fstab. Para el modo Guest, en su lugar se añade la opción guest y no se crea archivo de credenciales.",
"appliesIntro": "Una vez confirmes, el script:",
"applies": [
"mkdir -p de la ruta de montaje.",
"mount -t cifs -o <opts>,credentials=<file> (o guest) //<srv>/<share> <path>.",
"Escribe una entrada de una línea en /etc/fstab: //<srv>/<share> <path> cifs <opts> 0 0.",
"Ejecuta systemctl daemon-reload para que systemd recoja la nueva entrada fstab."
],
"lxcTitle": "Usar el montaje fstab desde un LXC unprivileged",
"lxcBody": "Como el cliente CIFS aplica uid=0,gid=0,file_mode=0777,dir_mode=0777, cada archivo en el montaje pertenece al UID 0 del host con modo 0777. Un LXC unprivileged que haga bind mount de la ruta ve permisos \"others\" en cada entrada (root del CT = UID 100000 del host = others en el sistema de archivos del host), así que las lecturas y escrituras tienen éxito. No se hacen cambios dentro del contenedor — sin chown en el CT, sin configuración de grupo, nada modificado en /etc/lxc más allá de la única línea mp de bind mount. El script imprime el comando pct set exacto al final, o usa el LXC Mount Manager para adjuntar la ruta.",
"noUiTitle": "El montaje fstab NO es un almacenamiento de Proxmox",
"noUiBody": "El montaje fstab del host es invisible para la UI web de Proxmox — por diseño. No aparece en Datacenter > Storage, no puedes seleccionarlo en el creador de VM / CT y los trabajos de backup de Proxmox no pueden apuntarlo. Es puramente una ruta del sistema de archivos del host. Si quieres también integración con la UI, marca ambos métodos en el selector."
},
"manual": {
"heading": "Equivalente manual",
"pvesmIntro": "El Método A (pvesm) se traduce a:",
"fstabUserIntro": "Método B (fstab, auth de usuario) — archivo de credenciales + montaje:",
"fstabGuestIntro": "Método B (fstab, auth guest) — sin archivo de credenciales:"
},
"view": {
"heading": "Ver almacenamientos CIFS configurados",
"body": "Lista cada entrada CIFS en Proxmox (pvesm status | awk ''$2 == \"cifs\"'') con servidor, share, content types, usuario (o Guest), ruta de montaje y estado en vivo. La contraseña nunca se imprime. Nota: esta vista solo muestra almacenamientos registrados con pvesm — los montajes solo en fstab no se listan. Compruébalos con findmnt -t cifs o grep cifs /etc/fstab."
},
"remove": {
"heading": "Eliminar almacenamiento CIFS",
"body": "Ejecuta pvesm remove <storage-id> tras una confirmación que muestra servidor / share / contenido. Solo se elimina el registro del lado de Proxmox — el servidor Samba remoto no se toca. Proxmox también borra el archivo de credenciales emparejado. Para eliminar un montaje solo en fstab, edita /etc/fstab a mano, ejecuta umount <path> y elimina el archivo de /etc/samba/credentials/.",
"warnTitle": "Haz backup de las dependencias primero",
"warnBody": "Las VMs, CTs o trabajos de backup que referencien este almacenamiento por ID fallarán tras la eliminación. Mueve / elimina esas referencias antes de eliminar el almacenamiento."
},
"test": {
"heading": "Probar conectividad Samba",
"body": "Ejecuta una pasada de diagnóstico sobre cada almacenamiento CIFS registrado en Proxmox: comprueba que smbclient está disponible, hace ping a cada servidor, prueba los puertos 445 y 139, intenta un listado guest e informa de la vista del propio Proxmox (pvesm status). \"Requires authentication\" en el listado guest significa que tu servidor solo expone shares a usuarios autenticados — normal en la mayoría de setups NAS."
},
"troubleshoot": {
"heading": "Solución de problemas",
"noServersTitle": "\"No Samba servers found on the network\"",
"noServersBody": "El auto-descubrimiento usa nmap -p 139,445. El servidor puede estar en una subnet diferente, con firewall o solo alcanzable por hostname (mDNS / WINS). Usa la opción Manual con la IP o hostname en su lugar.",
"noSharesTitle": "\"No accessible shares found\"",
"noSharesBody": "smbclient -L no devolvió nada para estas credenciales. Causas: el usuario no tiene permiso para listar shares (prueba con credenciales de admin una vez, o escribe el nombre del share manualmente), el servidor tiene la visibilidad de shares deshabilitada o las credenciales son incorrectas. El script te permite escribir el nombre del share a mano en este caso.",
"denyTitle": "El montaje de Proxmox falla con NT_STATUS_ACCESS_DENIED",
"denyBody": "Las credenciales que pvesm guardó están desincronizadas con el servidor Samba (contraseña cambiada, cuenta deshabilitada, mismatch de domain / workgroup). Vuelve a introducir credenciales con pvesm set <id> --username <u> --password <p> o elimina y vuelve a añadir desde ProxMenux. Si el servidor está en un dominio AD, añade --domain <DOMAIN> a la llamada pvesm set.",
"sleepTitle": "\"host is down\" o el estado del almacenamiento pasa a inactive por la noche",
"sleepBody": "Algunos appliances NAS ponen SMB en suspensión agresivamente. pvestatd entonces ve el almacenamiento como inactive hasta que el primer acceso despierta al NAS. Si es cosmético, no hay nada roto. Si causa fallos de backup, deshabilita la desconexión por idle de SMB en el NAS o programa los backups fuera de la ventana de suspensión.",
"lxcNoWriteTitle": "El bind mount LXC unprivileged no puede escribir en la ruta fstab",
"lxcNoWriteBody": "Confirma que el montaje usa las opciones abiertas: findmnt /mnt/<path> debería mostrar uid=0,gid=0,file_mode=0777,dir_mode=0777. Si una cadena de opciones Custom omite esas, un LXC unprivileged tendrá permission denied (los UIDs del CT mapean a \"others\" del host, que sin file_mode abierto no tienen bit de escritura). Vuelve a montar con el preset RW por defecto o añade las cuatro opciones de vuelta a tu cadena custom.",
"fstabBootTitle": "El montaje fstab no se levanta tras el reinicio",
"fstabBootBody": "El script añade nofail,_netdev para que un share que falte al arranque no bloquee el inicio. Si el montaje nunca se levanta: confirma que la red es alcanzable (ping <server>), comprueba journalctl -u remote-fs.target, verifica que el archivo de credenciales sigue existiendo (ls -l /etc/samba/credentials/) y es legible, y prueba mount -a manualmente."
},
"related": {
"heading": "Relacionado",
"items": [
{
"href": "/docs/storage-share/host-nfs",
"label": "Share NFS como almacenamiento de Proxmox",
"tail": " — página hermana con el mismo patrón de flujo (Método A pvesm + Método B fstab) y contrapartidas en paralelo."
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "LXC Mount Manager",
"tailRich": " — hacer bind mount de la ruta solo en fstab /mnt/<path> en uno o más contenedores."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Cliente Samba en LXC",
"tail": " — alternativa: monta Samba directamente desde dentro de un contenedor privileged (se salta el host)."
}
]
}
}