mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-01 10:22:08 +00:00
- A local disk is registered in Proxmox only when As Proxmox storage is marked - Test NFS Connectivity checks ping, port 2049 and the export list - Proxmox keeps CIFS passwords with mode 0600, protected by access control
173 lines
17 KiB
JSON
173 lines
17 KiB
JSON
{
|
|
"meta": {
|
|
"title": "Host: montar recurso Samba en el host | Documentación de ProxMenux",
|
|
"description": "Monta un share Samba / CIFS externo en el host Proxmox — bien como almacenamiento de Proxmox (pvesm add cifs), bien como un montaje fstab del host normal con uid/gid/file_mode abiertos (NO visible en Datacenter > Storage), o ambos. El método fstab abre los permisos para que un LXC unprivileged que haga bind mount de la ruta pueda leer/escribir sin cambios dentro del contenedor.",
|
|
"ogTitle": "Host: montar recurso Samba en el host | Documentación de ProxMenux",
|
|
"ogDescription": "Monta un share Samba / CIFS externo en el host Proxmox vía pvesm, fstab con permisos abiertos (ideal para bind mounts LXC), o ambos."
|
|
},
|
|
"header": {
|
|
"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 para montar un recurso Samba: <strong>(1) Almacenamiento de Proxmox</strong> mediante <code>pvesm add cifs</code>, visible en Datacenter > Storage y montado en <code>/mnt/pve/<id></code>. La contraseña se guarda en texto claro en <code>/etc/pve/priv/storage/<id>.pw</code>, protegida por el directorio privado accesible solo por root: es control de acceso, no cifrado. <strong>(2) Montaje fstab del host</strong> en una ruta elegida, persistente mediante <code>/etc/fstab</code> y montada con <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> para permitir la escritura desde bind mounts de LXC sin privilegios. Sus credenciales se guardan en un archivo accesible solo por root dentro de <code>/etc/samba/credentials/</code>, nunca directamente en <code>fstab</code>. Puedes utilizar cualquiera de los métodos o ambos."
|
|
},
|
|
"opening": {
|
|
"heading": "Abrir la herramienta",
|
|
"body": "Desde el menú principal de ProxMenux, abre <strong>Storage & Share Manager → Mount Samba Share on Host</strong>. Verás este submenú con cuatro opciones:",
|
|
"imageAlt": "Menú Samba del host — Montar / Ver / Eliminar / Probar conectividad"
|
|
},
|
|
"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 <code>smbclient</code> las necesita para listar shares. Hasta la confirmación final, ni <code>/etc/pve/storage.cfg</code> ni <code>/etc/fstab</code> 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": "<strong>Como almacenamiento de Proxmox (pvesm)</strong>",
|
|
"mountRich": "<code>/mnt/pve/<storage-id></code> (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": "<strong>Solo fstab del host</strong>",
|
|
"mountRich": "<code>/mnt/<path></code> con uid/gid/file_mode abiertos",
|
|
"ui": "No",
|
|
"useCaseRich": "Haz bind mount del recurso en uno o más LXC <em>sin</em> registrarlo como almacenamiento Proxmox. Los permisos locales abiertos facilitan el acceso desde CT sin privilegios, pero escribir sigue requiriendo permiso del servidor SMB para el usuario autenticado."
|
|
},
|
|
{
|
|
"method": "<strong>Ambos</strong>",
|
|
"mount": "Ambas rutas anteriores (dos puntos de montaje del mismo export CIFS)",
|
|
"ui": "Sí",
|
|
"useCase": "Quieres integración con la UI Y una ruta estable del lado del host con permisos abiertos para bind mounts LXC. El montaje pvesm usa los valores por defecto de Proxmox; el montaje fstab aplica el uid/gid/file_mode abierto por separado."
|
|
}
|
|
],
|
|
"bothTitle": "«Ambos» crea dos puntos de montaje CIFS",
|
|
"bothBody": "pvesm monta en <code>/mnt/pve/<id></code> con las opciones de Proxmox. fstab monta en <code>/mnt/<path></code> con <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> para permitir acceso local mediante bind mounts LXC. El servidor SMB sigue aplicando los permisos del usuario del montaje. Son dos puntos de montaje; no garantizan dos conexiones TCP separadas."
|
|
},
|
|
"pvesmBranch": {
|
|
"heading": "Método A — Como almacenamiento de Proxmox (pvesm)",
|
|
"intro": "Si <em>Como almacenamiento de Proxmox</em> está marcado, ProxMenux ejecuta el flujo pvesm original:",
|
|
"items": [
|
|
"<strong>Storage ID</strong> — por defecto <code>cifs-<server-ip-with-dashes></code>. Solo letras, dígitos, <code>-</code> y <code>_</code>.",
|
|
"<strong>Tipos de contenido</strong> — este selector de ProxMenux ofrece <strong>6</strong> opciones. Omite <code>rootdir</code> respecto al selector NFS; es una decisión del script, no significa que todas las versiones del backend CIFS de Proxmox prohíban sistemas de archivos raíz LXC:"
|
|
],
|
|
"headerType": "Tipo de contenido",
|
|
"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 (<code>vzdump</code>)."
|
|
},
|
|
{
|
|
"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 — <strong>avisado en línea</strong>, ver abajo."
|
|
},
|
|
{
|
|
"type": "snippets",
|
|
"allows": "Scripts de hook y snippets cloud-init."
|
|
}
|
|
],
|
|
"warnTitle": "Discos de VM en vivo en CIFS",
|
|
"warnBody": "Seleccionar <code>images</code> muestra un aviso: CIFS/SMB puede causar problemas de bloqueo en operaciones con discos de VM. El script recomienda NFS para imágenes de VM, pero permite continuar. Backups e ISO son usos habituales de CIFS. Evalúa bloqueos, instantáneas, migración y carga antes de usar CIFS para <code>images</code>.",
|
|
"credsTitle": "Dónde guarda pvesm las credenciales",
|
|
"credsBody": "La contraseña no se escribe en <code>/etc/pve/storage.cfg</code>. Proxmox guarda credenciales en texto plano en <code>/etc/pve/priv/storage/<storage-id>.pw</code>, dentro del área privada del sistema de archivos del clúster, que solo puede leer <code>root</code> (modo <code>0600</code>); están protegidas por permisos, no por cifrado. Tras cambiar la contraseña en el servidor, usa <code>pvesm set <id> --password <new></code> o elimina y vuelve a añadir desde ProxMenux."
|
|
},
|
|
"fstabBranch": {
|
|
"heading": "Método B — Solo montaje fstab del host",
|
|
"intro": "Si <em>Solo como montaje fstab del host</em> está marcado, ProxMenux pide una ruta de montaje del host y opciones persistentes, escribe un archivo de credenciales solo para root (modo User), luego monta y escribe la entrada en <code>/etc/fstab</code>:",
|
|
"items": [
|
|
"<strong>Ruta de montaje del host</strong> — por defecto <code>/mnt/<share-name></code>. Debe ser una ruta absoluta. Si algo ya está montado ahí, o existe una entrada fstab, ProxMenux ofrece reemplazarla.",
|
|
"<strong>Opciones de montaje</strong> — <em>Lectura/escritura</em> (predeterminado: <code>rw,uid=0,gid=0,file_mode=0777,dir_mode=0777,iocharset=utf8,nofail,_netdev</code>), <em>Solo lectura</em> (<code>file_mode=0555,dir_mode=0555</code>), <em>Personalizado</em> (escribe tus opciones). El script recomienda uid/gid/file_mode abiertos para escrituras mediante bind mounts LXC."
|
|
],
|
|
"credsTitle": "Archivo de credenciales (modo User)",
|
|
"credsBody": "Si te autenticaste con usuario + contraseña, ProxMenux escribe un archivo de credenciales solo para root en <code>/etc/samba/credentials/<server>_<share>.cred</code> (modo <code>0600</code>) con líneas <code>username=</code> y <code>password=</code>, y lo referencia en la entrada fstab vía la opción de montaje <code>credentials=</code>. El texto en claro nunca aterriza en <code>/etc/fstab</code>. Para el modo Guest, en su lugar se añade la opción <code>guest</code> y no se crea archivo de credenciales.",
|
|
"appliesIntro": "Una vez confirmes, el script:",
|
|
"applies": [
|
|
"<code>mkdir -p</code> de la ruta de montaje.",
|
|
"<code>mount -t cifs -o <opts>,credentials=<file></code> (o <code>guest</code>) <code>//<srv>/<share> <path></code>.",
|
|
"Escribe una entrada de una línea en <code>/etc/fstab</code>: <code>//<srv>/<share> <path> cifs <opts> 0 0</code>.",
|
|
"Ejecuta <code>systemctl daemon-reload</code> para que systemd recoja la nueva entrada fstab."
|
|
],
|
|
"lxcTitle": "Usar el montaje fstab desde un LXC unprivileged",
|
|
"lxcBody": "Las opciones CIFS <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> abren las comprobaciones locales de permisos para bind mounts LXC. Las ACL del servidor y la semántica Unix/POSIX negociada aún pueden afectar al acceso. <strong>No se cambia nada dentro del contenedor</strong>: ni <code>chown</code> en el CT, ni grupos, ni ediciones de <code>/etc/lxc</code>. La línea <code>mp</code> se gestiona en la configuración Proxmox del CT. Usa el comando <code>pct set</code> mostrado o <mountLink>LXC Mount Manager</mountLink>.",
|
|
"noUiTitle": "El montaje fstab NO es un almacenamiento de Proxmox",
|
|
"noUiBody": "El montaje fstab del host es invisible para la UI web de Proxmox — por diseño. No aparece en <em>Datacenter > Storage</em>, no puedes seleccionarlo en el creador de VM / CT, y los trabajos de backup de Proxmox no pueden apuntarlo. Es puramente una ruta del sistema de archivos del host. Si quieres también integración con la UI, marca <em>ambos</em> métodos en el selector."
|
|
},
|
|
"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 y montajes del host",
|
|
"body": "Muestra almacenamientos CIFS registrados (<code>pvesm status | awk ''$2 == \"cifs\"''</code>) con servidor, recurso, contenido, usuario o <em>Invitado</em>, ruta y estado. Las contraseñas <strong>nunca se muestran</strong>. <strong>Nota:</strong> otra sección lista montajes fstab del host, sus opciones, ruta del archivo de credenciales y estado activo/inactivo. Para comprobarlo manualmente usa <code>findmnt -t cifs</code> o <code>grep cifs /etc/fstab</code>."
|
|
},
|
|
"remove": {
|
|
"heading": "Eliminar almacenamiento CIFS o montaje del host",
|
|
"body": "El selector ofrece almacenamientos pvesm y montajes fstab del host. Para pvesm ejecuta <code>pvesm remove <storage-id></code> y Proxmox borra las credenciales asociadas. Para fstab intenta <code>umount <path></code>, elimina la entrada de <code>/etc/fstab</code> y las credenciales de <code>/etc/samba/credentials/</code>, y elimina el directorio de montaje si está vacío. Si falla el desmontaje, debes hacerlo manualmente o reiniciar. <strong>No modifica el servidor Samba remoto ni sus archivos</strong>.",
|
|
"warnTitle": "Haz backup de las dependencias primero",
|
|
"warnBody": "Las VMs, CTs o trabajos de backup que referencien este almacenamiento por ID fallarán tras la eliminación. Mueve / elimina esas referencias antes de eliminar el almacenamiento."
|
|
},
|
|
"test": {
|
|
"heading": "Probar conectividad Samba",
|
|
"body": "Ejecuta una pasada de diagnóstico sobre cada almacenamiento CIFS registrado en Proxmox: comprueba que <code>smbclient</code> 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 (<code>pvesm status</code>). \"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 se encontraron servidores Samba en la red\"",
|
|
"noServersBody": "El auto-descubrimiento usa <code>nmap -p 139,445</code>. El servidor puede estar en una subnet diferente, con firewall o solo alcanzable por hostname (mDNS / WINS). Usa la opción <em>Manual</em> con la IP o hostname en su lugar.",
|
|
"noSharesTitle": "«No se encontraron recursos compartidos accesibles»",
|
|
"noSharesBody": "<code>smbclient -L</code> no devolvió nada para estas credenciales. Causas: el usuario no tiene permiso para listar shares (prueba con credenciales de admin una vez, o escribe el nombre del share manualmente), el servidor tiene la visibilidad de shares deshabilitada o las credenciales son incorrectas. El script te permite escribir el nombre del share a mano en este caso.",
|
|
"denyTitle": "El montaje de Proxmox falla con NT_STATUS_ACCESS_DENIED",
|
|
"denyBody": "Las credenciales que pvesm guardó están desincronizadas con el servidor Samba (contraseña cambiada, cuenta deshabilitada, mismatch de domain / workgroup). Vuelve a introducir credenciales con <code>pvesm set <id> --username <u> --password <p></code> o elimina y vuelve a añadir desde ProxMenux. Si el servidor está en un dominio AD, añade <code>--domain <DOMAIN></code> a la llamada <code>pvesm set</code>.",
|
|
"sleepTitle": "\"host is down\" o el estado del almacenamiento pasa a inactive por la noche",
|
|
"sleepBody": "Algunos appliances NAS ponen SMB en suspensión agresivamente. <code>pvestatd</code> entonces ve el almacenamiento como inactive hasta que el primer acceso despierta al NAS. Si es cosmético, no hay nada roto. Si causa fallos de backup, deshabilita la desconexión por idle de SMB en el NAS o programa los backups fuera de la ventana de suspensión.",
|
|
"lxcNoWriteTitle": "El bind mount LXC unprivileged no puede escribir en la ruta fstab",
|
|
"lxcNoWriteBody": "Comprueba en <code>findmnt /mnt/<path></code> las opciones previstas, como <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>. La falta de permisos locales de escritura puede bloquear los UID mapeados de LXC. Reaplica el perfil RW o ajusta las opciones personalizadas. Verifica también que el usuario SMB pueda escribir en el servidor y si las extensiones Unix/POSIX proporcionan sus modos; los modos locales abiertos no anulan las ACL del servidor.",
|
|
"fstabBootTitle": "El montaje fstab no se levanta tras el reinicio",
|
|
"fstabBootBody": "El script añade <code>nofail,_netdev</code> para que un share que falte al arranque no bloquee el inicio. Si el montaje nunca se levanta: confirma que la red es alcanzable (<code>ping <server></code>), comprueba <code>journalctl -u remote-fs.target</code>, verifica que el archivo de credenciales sigue existiendo (<code>ls -l /etc/samba/credentials/</code>) y es legible, y prueba <code>mount -a</code> manualmente."
|
|
},
|
|
"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": "Gestor de montajes LXC",
|
|
"tailRich": " — hacer bind mount de la ruta solo en fstab <code>/mnt/<path></code> 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)."
|
|
}
|
|
]
|
|
}
|
|
}
|