{ "meta": { "title": "Importar disco a LXC | ProxMenux Documentation", "description": "Adjunta un disco físico a un contenedor LXC existente en Proxmox VE usando ProxMenux. Gestiona la detección / formateo del filesystem, el mount point, la conversión unprivileged → privilegiado y rutas de dispositivo persistentes.", "ogTitle": "Importar disco a LXC | ProxMenux Documentation", "ogDescription": "Adjunta un disco físico a un contenedor LXC existente. Gestiona el filesystem, el mount point y la conversión unprivileged → privilegiado." }, "header": { "title": "Importar disco a LXC", "description": "Adjunta un disco físico a un contenedor LXC existente en el host Proxmox. ProxMenux detecta los discos libres, opcionalmente los formatea con un filesystem soportado y conecta la partición a un mount point dentro del contenedor usando rutas de dispositivo persistentes.", "section": "Disk Manager · LXC" }, "intro": { "title": "Passthrough en VM vs passthrough en LXC", "body": "El passthrough en LXC no es un block device crudo. El contenedor recibe un mount point — es decir, un directorio respaldado por una partición que eliges en el host. A diferencia de una VM, el kernel del guest es el del host, así que el filesystem (ext4 / xfs / btrfs) lo lee y lo gestiona el propio Proxmox y luego lo expone al contenedor." }, "howRuns": { "heading": "Cómo se ejecuta el script", "body": "El flujo tiene dos fases con separación clara entre \"recopilar información y decisiones\" y \"cambiar realmente la configuración del contenedor\". Hasta la confirmación final no se monta nada en el CT.", "summary": "ProxMenux filtra el disco raíz, los discos montados y los discos ya referenciados por cualquier config de VM/LXC. Los discos con membresía ZFS/LVM/RAID activa están ocultos; las firmas obsoletas muestran una etiqueta ⚠ para que puedas borrarlas antes de formatear." }, "prereqs": { "heading": "Requisitos previos", "items": [ "Al menos un contenedor LXC definido en el host.", "El contenedor es privilegiado, o aceptas la propuesta del script de convertirlo.", "Al menos un disco físico que no esté en uso por el host ni por ningún otro guest." ], "warnTitle": "Se requiere contenedor privilegiado", "warnBody": "El passthrough directo de dispositivos a un contenedor LXC solo funciona si el contenedor es privilegiado. Si el script detecta unprivileged: 1 en la config, se ofrece a convertirlo in situ (edita /etc/pve/lxc/<CTID>.conf). Cancela si no puedes aceptar el compromiso de seguridad de un contenedor privilegiado." }, "steps": { "heading": "Paso a paso", "stepLabel": "Paso", "list": [ { "title": "Elige el contenedor destino", "img": "/disk/select-container.png", "caption": "Menú de selección de contenedor", "bodyRich": "ProxMenux lista cada contenedor LXC del host (pct list). Elige el que recibirá el disco. Si el contenedor es unprivileged se te ofrece convertirlo ahora." }, { "title": "Elige el disco físico", "img": "/disk/disk-selection-ct.png", "caption": "Discos libres detectados en el host (con etiqueta ⚠ para metadatos obsoletos)", "bodyRich": "Solo se muestran los candidatos seguros. A diferencia del flujo de VM, este script adjunta un disco por ejecución — ejecútalo otra vez por cada disco extra que quieras añadir." }, { "title": "Formatear o reutilizar", "intro": "El script inspecciona el disco:", "items": [ "Si ya lleva un filesystem soportado (ext4 / xfs / btrfs) puedes reutilizarlo tal cual (los archivos existentes se preservan).", "Si no tiene un filesystem soportado se te ofrece formatearlo. Elige ext4 / xfs / btrfs." ] }, { "title": "Elige el mount point", "bodyRich": "Teclea la ruta donde el contenedor debería ver el disco, p. ej. /mnt/data o /mnt/disk_passthrough. Esta es la ruta dentro del contenedor; el host ya ve la partición en /dev/disk/by-id/…." }, { "title": "Adjuntar y verificar", "img": "/disk/assignment-ct.png", "caption": "Asignación al CT", "bodyRich": "ProxMenux añade una nueva entrada mpN: a la config del contenedor, saltando los índices ya en uso, y vuelve a leer la config para confirmar. Si el contenedor está en ejecución el mount se aplica en vivo; si no, surte efecto en el siguiente arranque.", "extraImg": "/disk/result-point.png", "extraAlt": "Mount point creado correctamente", "extraCaption": "Mount point creado y verificado" } ] }, "manual": { "heading": "Equivalente manual", "body": "El script envuelve pct set. Una invocación directa para un solo disco se ve así:" }, "important": { "heading": "Consideraciones importantes", "items": [ "Un disco por ejecución. Vuelve a ejecutar el script por cada disco adicional.", "No adjuntes la misma partición a varios contenedores que puedan montarla a la vez — las escrituras concurrentes corrompen el filesystem.", "Los metadatos antiguos (firmas RAID / ZFS / LVM) deben limpiarse manualmente antes de que el script te deje formatear, si no mkfs se niega a sobrescribir. Usa la herramienta Formatear / borrar disco físico para eso." ] }, "troubleshoot": { "heading": "Solución de problemas", "unprivTitle": "\"Cannot continue with an unprivileged container\"", "unprivBody": "Rechazaste la oferta de conversión. O bien vuelves a ejecutar y aceptas la conversión, o conviertes el contenedor manualmente editando /etc/pve/lxc/<CTID>.conf y reemplazando unprivileged: 1 por unprivileged: 0. También puedes reconstruir el contenedor como privilegiado si prefieres no convertirlo in situ.", "permsTitle": "Los permisos dentro del contenedor están mal", "permsBody": "Los mounts del host hacia un contenedor privilegiado entran como root:root. Si el servicio dentro del CT corre como otro usuario (p. ej. www-data para Nextcloud), haz chown/chmod dentro del contenedor para que coincida con su UID/GID después del primer mount." }, "related": { "heading": "Relacionado", "items": [ { "href": "/docs/disk-manager/import-disk-vm", "label": "Importar disco a VM", "tail": " — flujo equivalente para VMs." }, { "href": "/docs/storage-share/lxc-mount-points", "label": "Mount points LXC (Host ↔ CT)", "tail": " — compartir directorios del host con un CT en lugar de adjuntar un disco entero." }, { "href": "/docs/help-info/vm-ct-commands", "label": "Comandos de gestión de VM y CT", "tail": " — referencia de pct config / push / pull." }, { "href": "/docs/disk-manager", "label": "Resumen de Disk Manager", "tail": "." } ] } }