Restic o Borg pueden parecer olvidar un repositorio cuando la ruta configurada ahora apunta a un directorio vacío, otro sistema de archivos o un repositorio reubicado cuya identidad no coincide.
Es posible que los datos del repositorio sigan intactos en el disco de copias de seguridad, pero el trabajo puede abrir el directorio de montaje vacío antes de que el disco esté disponible, usar una ruta de contenedor modificada, leer una variable de entorno obsoleta o rechazar un repositorio de Borg cuyo ID aparece en una ubicación nueva. Diagnostica el origen montado y la identidad del repositorio antes de inicializar nada. Ejecutar un comando de inicialización contra la ruta vacía equivocada puede crear un segundo repositorio y ocultar el fallo original.
Confirma qué está montado en la ruta configurada del repositorio
Registra la ruta del repositorio que usa el trabajo programado y compara la ruta antes y después de montar el disco de copias de seguridad. Captura el origen del sistema de archivos, el UUID, el punto de montaje y la capacidad disponible.
La utilidad findmnt de Linux resuelve el montaje activo detrás de una ruta de destino, por lo que es la primera comprobación adecuada cuando un directorio conocido puede ser en realidad la carpeta del sistema anfitrión sin montar.
Si la ruta pertenece al sistema de archivos raíz en lugar de al disco de copias de seguridad, detén el servicio de copias antes de que escriba un repositorio o conjunto de copias nuevo en ese directorio vacío.
Verifica la ubicación exacta del repositorio de Restic
Compara la ruta indicada con -r, --repository-file o RESTIC_REPOSITORY con el punto de montaje actual. Comprueba los scripts envolventes, los campos del NAS, los archivos de credenciales y los entornos de las tareas programadas.
Restic define un repositorio local como un directorio específico que contiene su configuración, datos, índices, claves, bloqueos e instantáneas, por lo que cambiar el punto de montaje cambia la ubicación que el comando intenta abrir.
No ejecutes restic init simplemente porque la nueva ruta indique que no existe ningún repositorio. Primero localiza los directorios de configuración y datos del repositorio original en el disco montado.
Gestiona deliberadamente la advertencia de repositorio reubicado de Borg
Registra la URL del repositorio de Borg, el ID del repositorio, la ubicación anterior, la ubicación actual, la ruta de la caché y el directorio de seguridad. Confirma que el mismo repositorio se movió de forma intencionada.
La sección de preguntas frecuentes de Borg explica que solicita aprobación después de reubicar un repositorio, porque ver el mismo ID en una ruta nueva también puede indicar una sustitución insegura.
Aprueba la reubicación solo después de comparar el ID del repositorio y el contenido del almacenamiento. No suprimas la advertencia de forma global cuando varios repositorios extraíbles puedan conectarse mediante rutas cambiantes.
Sustituye las rutas basadas en el orden de los dispositivos por una identidad de almacenamiento persistente
Comprueba si la configuración de montaje hace referencia a /dev/sdX, una etiqueta duplicada, el UUID del sistema de archivos, el UUID de la partición o el ID del dispositivo. Compara todos los discos rotados para detectar identificadores duplicados.
ArchWiki señala que los UUID reducen las colisiones de nombres en comparación con las etiquetas y los nombres de dispositivo asignados por el núcleo, que pueden cambiar según el orden de detección.
Un identificador estable aún debe asignarse al directorio de montaje fijo previsto. El UUID evita que cambie el orden de los discos, pero no actualiza un trabajo de copias que todavía contiene la ruta anterior.
Comprueba la traducción de rutas de contenedores y montajes vinculados
En una interfaz de copias de seguridad o Restic o Borg dentro de un contenedor, compara el punto de montaje del anfitrión con el origen del montaje vinculado y la ruta del repositorio dentro del contenedor. Inspecciona el contenedor en ejecución, no solo su archivo compose guardado.
Docker documenta que los montajes vinculados dependen de la ruta exacta del anfitrión, por lo que mover un disco de /mnt/backup-a a /media/backup-a puede dejar el contenedor asignado a un directorio vacío.
Mantén la ruta de hardware estable en el anfitrión y expón una única ruta estable dentro del contenedor. No guardes rutas de medios extraíbles específicas del anfitrión directamente en la configuración del repositorio cuando exista una asignación fija.
Haz que el servicio de copias espere al montaje
Compara las marcas de tiempo del arranque y del servicio. Confirma que el montaje se completó antes de que el programador de copias, el contenedor, la interfaz del repositorio o la tarea de mantenimiento intentaran acceder a él.
La guía de Red Hat sobre montajes persistentes recomienda definir un montaje fijo en fstab, que después puede combinarse con dependencias del servicio y validaciones previas al inicio.
La opción de arranque nofail puede ser adecuada para un disco de copias extraíble, pero el servicio de copias aún debe negarse a iniciarse cuando falte el sistema de archivos requerido.
Vuelve a conectar el repositorio existente antes de ejecutar una copia
Detén las programaciones, monta el sistema de archivos previsto en la ruta fija, verifica la estructura del repositorio, ábrelo en modo de solo lectura o enumera las instantáneas y realiza una comprobación breve del repositorio antes de habilitar las escrituras.
El artículo de ZimaSpace sobre rutas de aplicaciones estables basadas en UUID explica la cadena general de montaje; este artículo se centra en la identidad del repositorio y la seguridad de las herramientas de copias después de cambiar las rutas.
El problema se resuelve cuando el mismo ID del repositorio y el historial de instantáneas se abren en la ruta prevista después de repetir las pruebas de reinicio y rotación de discos, sin crear ningún repositorio nuevo en el directorio de montaje vacío.
Preguntas frecuentes
¿Se puede mover un repositorio de Restic a otro punto de montaje?
Sí, siempre que el repositorio completo se mueva intacto y todos los trabajos hagan referencia a la nueva ubicación. Restic identifica el repositorio mediante la ruta o el backend proporcionado al comando.
¿Por qué Borg muestra una advertencia si los datos del repositorio no han cambiado?
Borg registra la identidad del repositorio y su ubicación anterior como medida de seguridad. La aparición del mismo ID en otra ruta requiere una aprobación deliberada.
¿Debo inicializar un repositorio en la nueva ruta?
No, hasta demostrar que el repositorio anterior no está disponible. Inicializar un punto de montaje vacío crea un repositorio independiente en lugar de volver a conectar el original.
Soporte y Consejos
Más para leer

¿Por qué restaurar un volumen de Docker recrea el contenido de los archivos, pero elimina los atributos extendidos?
Un diagnóstico de restauración de volúmenes que abarca el inventario de atributos extendidos, las opciones de tar y Rsync, los espacios de nombres, la...

¿Por qué un contenedor en ejecución mantiene su antiguo límite de memoria después de cambiar el archivo de Compose?
Un diagnóstico del límite de memoria que abarca los cgroups activos, el reinicio frente a la recreación, los campos de Compose, los límites estrictos...

¿Por qué reiniciar un proxy inverso invalida todas las sesiones de una aplicación autoalojada?
Un diagnóstico de pérdida de sesión que abarca el alcance del reinicio, la propiedad de las cookies, la rotación de secretos, las sesiones respaldadas...

