Inicio
» Cómo
»
Traslada tus datos de Nextcloud a una unidad externa sin perder espacio de almacenamiento.
Traslada tus datos de Nextcloud a una unidad externa sin perder espacio de almacenamiento.
Para una instalación convencional de Linux, monte la unidad externa de forma persistente, copie el directorio de datos completo mientras Nextcloud esté sin conexión y, a continuación, cree un enlace simbólico de la ruta original a la nueva ubicación. No realice cambios directos datadirectory: config.phpNextcloud gestiona el almacenamiento local mediante rutas absolutas, por lo que un cambio de ruta directo puede dejar archivos y recursos compartidos huérfanos.
Este ejemplo presupone la instalación de un paquete o archivo. Las instalaciones de Docker, Snap y dispositivos asignan las rutas de forma diferente; adapte el punto de montaje a esa implementación en lugar de copiar estas rutas de host sin más.
Qué está confirmado y qué depende de tu servidor.
Punto
Qué hacer
Verificado: Nextcloud utiliza la ruta absoluta para identificar el almacenamiento local. Un movimiento descuidado puede dejar archivos o recursos compartidos huérfanos.
Mantenga estable la ruta configurada con un enlace simbólico; conserve todo el contenido, incluido .ncdata.
Depende de la configuración: la ruta de datos, el usuario HTTP, el sistema de archivos y los nombres de los servicios varían.
Verifique su configuración efectiva y confirme que el disco conserva la propiedad y los permisos necesarios de Linux.
Depende del disco: no se puede garantizar un montaje de arranque ni una alimentación fiables.
Móntalo mediante UUID, prueba el montaje después de reiniciar y evita que Nextcloud se inicie cuando el disco de datos no esté presente.
La función de montaje de almacenamiento externo de la aplicación Archivos añade una ubicación secundaria; no mueve el directorio de datos principal. Úsela para una carpeta o recurso compartido adicional, y migre el directorio de datos cuando los archivos y metadatos del servidor deban residir en la unidad.
1. Realice una copia de seguridad de Nextcloud e identifique la ruta de origen.
Realice una copia de seguridad de la base de datos, config/el directorio de datos, las aplicaciones personalizadas y los temas. Confirme que la copia de seguridad de la base de datos se pueda restaurar; copiar solo los archivos no garantiza una reversión completa.
Encuentre la ruta de datos en config/config.phpo con occ config:system:get datadirectory, luego identifique el usuario HTTP. Los ejemplos usan www-datay /var/www/nextcloud/data; sustituya por sus valores reales. No formatee una unidad que contenga archivos que necesite.
Ilustración: una vista de la utilidad de discos muestra la unidad externa y los detalles del sistema de archivos para su confirmación antes de montarla para Nextcloud.
2. Monte la unidad en una ruta estable.
Ejecute el comando lsblk -fy anote el UUID del sistema de archivos de la partición. Los nombres como /dev/sdb1pueden cambiar, así que utilice el UUID en la configuración de montaje.
Para un servidor Linux que utilice ext4, cree un punto de montaje y agregue una línea como esta a /etc/fstab, reemplazando el UUID de ejemplo con el real:
Utilice el tipo que ya existe en la partición; esta línea no la formatea. Verifique que el sistema de archivos conserve la propiedad y los permisos que Nextcloud necesita.
Móntalo y verifícalo antes de almacenar cualquier dato en él:
sudo mkdir -p /srv/nextcloud-disk
sudo mount /srv/nextcloud-disk
findmnt /srv/nextcloud-disk
Confirme que la salida identifica la partición externa. Si utiliza nofail, también restrinja los servicios web/PHP en el punto de montaje; de lo contrario, la ausencia de un disco puede dejar un directorio de punto de montaje vacío que recibe escrituras. Un complemento de systemd puede utilizar RequiresMountsFor=/srv/nextcloud-disk. Mantenga la unidad conectada mientras Nextcloud se ejecuta.
Ilustración: una entrada UUID en la tabla del sistema de archivos representa una configuración de montaje persistente en lugar de un acceso directo al nombre del dispositivo.
3. Pon Nextcloud en modo de mantenimiento y copia los datos.
El modo de mantenimiento bloquea los inicios de sesión, pero no detiene todas las tareas programadas. Pause el cron de Nextcloud o su temporizador systemd, detenga los clientes de sincronización y los servicios web/PHP antes de copiar los archivos para evitar que las solicitudes los modifiquen durante el proceso.
Con el planificador deshabilitado y los servicios web/PHP detenidos, copie el directorio de datos como root para conservar la propiedad, los permisos, las ACL y los archivos ocultos:
La barra diagonal final copia el contenido del directorio. Conserva la copia antigua; comprueba rsyncsi hay errores y confirma .ncdataque esté presente en el nivel superior del nuevo directorio.
Ilustración: una vista de copia en la terminal representa la transferencia del directorio de datos completo mientras Nextcloud está detenido.
4. Conservar la ruta anterior con un enlace simbólico.
El manual de solución de problemas de Nextcloud recomienda vincular la ruta original al nuevo directorio. Después de verificar la copia, cambie el nombre del directorio antiguo para la reversión y cree el enlace:
Confirme que la ruta se resuelve en /srv/nextcloud-disk/data. El usuario web debe recorrer los directorios superiores y leer .ncdatay escribir en el destino:
sudo -u www-data test -r /var/www/nextcloud/data/.ncdata
sudo -u www-data test -w /var/www/nextcloud/data
Si la comprobación falla, corrija la propiedad o los permisos principales de su usuario web; no permita que el directorio tenga permisos de escritura para todos los usuarios. Algunos servidores web deben permitir enlaces simbólicos. Si esto no es posible, no edite oc_storagesmanualmente: Nextcloud considera que este método no es compatible y advierte que puede dañar la base de datos.
Ilustración: la vista de la terminal muestra que la ruta de datos original está vinculada al directorio de la unidad externa.
5. Reinicie y verifique antes de eliminar la copia de reversión.
Inicie web/PHP y vuelva a habilitar el planificador. Confirme el montaje y el enlace simbólico, luego desactive el modo de mantenimiento:
Inicia sesión, abre los archivos y carpetas compartidas existentes y sube o descarga un archivo pequeño. Revisa los registros de Nextcloud y del servidor web, y luego reinicia durante una ventana de mantenimiento para confirmar que el disco se monta correctamente antes de que se inicie Nextcloud.
Conserva data.pre-movela copia de seguridad de la base de datos hasta que el reinicio y la sincronización normal se completen correctamente. Si la migración falla, activa el modo de mantenimiento, detén la aplicación y restaura el directorio y el estado del servicio originales. Un files:scanmontaje incorrecto no puede solucionarlo.
Verificación
Verifique que el disco se monte al iniciar el sistema, que la ruta original se resuelva correctamente, que el usuario web pueda leer y escribir, y que los archivos existentes, además de una pequeña carga, funcionen. Si Nextcloud informa que faltan archivos después de reiniciar, detenga la aplicación y verifique el montaje antes de permitir la escritura.