Crea y valida un volcado coherente con la aplicación antes de permitir que el actualizador reemplace los contenedores de la base de datos o de la aplicación.
Esto es importante en una pila de Compose desatendida en la que una imagen nueva puede ejecutar migraciones de esquema irreversibles al iniciarse por primera vez. El riesgo operativo es que una instantánea del volumen solo capture archivos coherentes tras un fallo, mientras que la aplicación necesita un punto de reversión lógico compatible con la imagen anterior. Comienza con una línea base guardada, realiza un cambio reversible cada vez y detente siempre que la rama observada deje de coincidir con la ruta de configuración prevista.
Establece la línea base de los volcados de la base de datos previos a la actualización
Antes de cambiar la configuración, registra el código de salida del volcado, el tamaño de la salida, la antigüedad de la prueba de restauración, la versión de la base de datos, el resumen de la imagen y el estado de la migración. Captura la configuración original y una ejecución similar a producción para que las mejoras posteriores se comparen con la misma carga de trabajo, en lugar de basarse en la memoria o en un estado sintético de inactividad.
Usa el flujo de trabajo para realizar copias de seguridad de volúmenes actual para confirmar el control compatible y su semántica. Trata los valores predeterminados como un punto de partida conocido, no como una prueba de que la configuración coincide con este servidor, esta combinación de clientes o este objetivo de recuperación.
Define los criterios de aceptación y las condiciones de detención antes de editar. La señal de aceptación debe ser visible en los registros, el estado del protocolo, la salida de la aplicación o los datos restaurados; la condición de detención debe impedir un acceso más amplio, la pérdida de datos, el agotamiento de recursos o una interrupción que consuma la siguiente ventana de recuperación.
Aplica el cambio de los volcados de la base de datos previos a la actualización en etapas controladas
Paso 1: Ejecuta el volcado nativo de la base de datos con una cuenta de copia de seguridad con privilegios mínimos y escribe en un nombre de archivo de preparación. Después del cambio, inspecciona inmediatamente el estado esperado; si no aparece, deshaz este paso antes de aplicar el siguiente.
Paso 2: Valida el volcado, registra las sumas de comprobación y las versiones, y después cámbiale el nombre atómicamente a la ruta de copia de seguridad protegida. Después del cambio, inspecciona inmediatamente el estado esperado; si no aparece, deshaz este paso antes de aplicar el siguiente.
Paso 3: Haz que el actualizador dependa de un indicador de éxito reciente y aborte cuando falle el volcado, la comprobación de espacio libre o el paso de retención. Después del cambio, inspecciona inmediatamente el estado esperado; si no aparece, deshaz este paso antes de aplicar el siguiente.
pg_dump --format=custom --file=/backup/app.tmp appdb
pg_restore --list /backup/app.tmp >/dev/null
mv /backup/app.tmp /backup/app.dump
Interpreta las ramas de aprobado, error y excepción
Un resultado aprobado significa que el volcado se restaura en una base de datos aislada y coincidente, y que la actualización solo continúa después de que el indicador esté actualizado. Registra la carga de trabajo exacta, la versión y el momento que produjeron el resultado; una prueba más ligera no demuestra que el problema original se haya resuelto.
Un error significa que el volcado está vacío, es incoherente, es demasiado antiguo o no puede abrirse con la versión probada para la restauración. No intentes compensarlo debilitando todos los controles adyacentes. Regresa a la última línea base limpia y aísla si la discrepancia corresponde a la identidad, la red, el almacenamiento, la disponibilidad de la aplicación o la capacidad.
Ante una excepción o un resultado ambiguo, detén la actualización, conserva los volúmenes actuales y el resumen de la imagen, y restaura únicamente en un clon aislado hasta conocer la causa. Escala el problema solo después de que el discriminador de bajo riesgo sea repetible y las pruebas demuestren que es necesario un cambio más profundo en la plataforma o el hardware.
Verifica la persistencia con la carga original del servidor doméstico
Repite la misma ruta de cliente, el tamaño de archivo, la concurrencia, el evento de suspensión o reinicio y la carga de trabajo concurrente utilizados en la línea base. Ejecuta al menos dos ciclos para no confundir un éxito con la caché calentada, una reconexión afortunada o un único inicio limpio con persistencia.
Confirma tanto el éxito como la contención: el volcado se restaura en una base de datos aislada y coincidente, y la actualización solo continúa después de que el indicador esté actualizado, mientras que los usuarios, servicios, recursos compartidos y rutas administrativas no relacionados mantienen su comportamiento original. Consulta el flujo de trabajo relacionado de ZimaSpace cuando el cambio afecte a un límite cercano de almacenamiento, red o recuperación.
Cierra el cambio solo cuando la señal de aceptación persista y la reversión siga siendo utilizable. Si el volcado está vacío, es incoherente, es demasiado antiguo o no puede abrirse con la versión probada para la restauración, detén la automatización, conserva los registros y la configuración guardada, y vuelve al último estado verificado en lugar de acumular más cambios.
Preguntas frecuentes sobre la distribución de consultas, decisión de cierre y prueba final
Estas preguntas sobre la distribución de consultas cubren las siguientes decisiones que los usuarios suelen buscar después de que la configuración principal funciona. Amplían el límite sin introducir una ruta de reparación no probada.
Aplica cada respuesta solo cuando su condición coincida con el entorno medido. Las diferencias de versión, protocolo, sistema de archivos, cliente y límite de confianza pueden cambiar la rama correcta.
Conserva las respuestas junto con el procedimiento operativo y actualízalas después de las actualizaciones o los cambios de topología. Cualquier excepción que amplíe el acceso de escritura, la accesibilidad de red o la autoridad de eliminación requiere una nueva prueba de reversión y recuperación.
¿Es suficiente una instantánea del sistema de archivos para PostgreSQL o MariaDB?
Solo cuando la base de datos y el método de instantáneas proporcionan explícitamente un límite de recuperación coherente. Un volcado lógico es más fácil de inspeccionar y trasladar.
¿Debe ejecutarse el volcado dentro del contenedor de la base de datos?
Puede hacerse, pero escribe el resultado en un almacenamiento protegido y fija la versión del cliente para que el reemplazo del contenedor no elimine la única copia.
¿Qué debe bloquear la actualización?
Cualquier validación fallida, reducción inesperada del tamaño, registro de versión ausente o simulacro de restauración más antiguo que el intervalo aprobado.
Conclusión: La configuración está completa cuando el volcado se restaura en una base de datos aislada y coincidente, la actualización solo continúa después de que el indicador esté actualizado, la rama de error se comprende y la reversión documentada no depende del componente que se está cambiando.
Protocolo de prueba final: restaura la línea base guardada, aplica una vez el cambio aprobado, repite la carga original similar a producción, verifica la señal de éxito y el límite de contención, y después prueba la reversión con datos desechables. Conserva el cambio solo cuando las cinco observaciones coincidan.
Soporte y Consejos
Más para leer

¿Puede una galería autoalojada conservar el emparejamiento de las Live Photos de Apple?
Una decisión condicional sobre un servidor doméstico para emparejar Apple Live Photo, con pruebas controladas, interpretación de resultados, reversión y preguntas frecuentes específicas.

¿Puedes importar Google Takeout y las copias de seguridad del teléfono en una sola biblioteca de fotos?
Una decisión condicional sobre un servidor doméstico para la importación combinada de fotos, con pruebas controladas, interpretación de resultados, reversión y preguntas frecuentes específicas.

¿Puede Immich usar una biblioteca externa sin hacerse cargo de los archivos?
Una decisión condicional sobre el servidor doméstico para la propiedad de bibliotecas externas de Immich, con pruebas controladas, interpretación de resultados, reversión y preguntas...

