T43.3: Manages Backups and Restores

Knowledge Review - InterSystems IRIS System Administration Specialist

1. Estrategias de Backup (Online, External, Concurrent)

Puntos Clave

  • Backup online: completo o incremental mientras el sistema está ejecutándose
  • Backup external: herramientas de backup a nivel de sistema operativo
  • Backup concurrent: backup mientras ocurren cambios de base de datos
  • Write Image Journal (WIJ) protege contra corrupción física
  • Journaling habilita recuperación point-in-time

Notas Detalladas

InterSystems IRIS proporciona múltiples estrategias de backup para adaptarse a diferentes requisitos de disponibilidad, objetivos de tiempo de recuperación (RTO) y objetivos de punto de recuperación (RPO).

Backup Online: El backup online se realiza mientras InterSystems IRIS está ejecutándose y los usuarios están activos. Este es el tipo de backup más común para sistemas de producción que requieren disponibilidad 24/7.

Backup Online Completo:

  • Respalda todas las bases de datos completamente
  • Crea copia completa adecuada para restauración
  • Proporciona línea base para backups incrementales
  • Mayor duración y requisito de almacenamiento mayor
  • Debe realizarse regularmente (e.g., semanalmente)

Backup Online Incremental:

  • Respalda solo bloques de base de datos cambiados desde el último backup
  • Mucho más rápido que backup completo
  • Requisito de almacenamiento menor
  • Requiere último backup completo más todos los backups incrementales para restauración
  • Puede realizarse más frecuentemente (e.g., diario o por hora)

Backup External: El backup external usa herramientas de sistema operativo o nivel SAN para respaldar archivos de base de datos en lugar de utilidades de backup de InterSystems IRIS.

Requisitos para backup external:

  • El sistema debe estar en modo backup o apagado
  • Use `BACKUP^DBACK` para congelar write daemon
  • Los archivos de base de datos permanecen consistentes durante el backup
  • Herramientas externas (tar, rsync, snapshot SAN, etc.) copian archivos
  • Reanudar operación normal después de completar backup

Ventajas:

  • Aprovechar infraestructura de backup de OS existente
  • Puede ser más rápido para bases de datos muy grandes
  • Puede usar snapshots SAN para backups instantáneos
  • Integración con sistemas de backup empresarial

Desventajas:

  • Más complejo de configurar correctamente
  • Requiere coordinación cuidadosa con IRIS
  • Debe asegurar que todos los archivos relacionados estén respaldados
  • Puede no respaldar archivos de journal sincronizados con bases de datos

Backup Concurrent: El backup concurrent permite que actualizaciones de base de datos continúen durante el backup con impacto mínimo en rendimiento. Este es el modo por defecto para backups online de InterSystems IRIS.

Cómo funciona:

  • El backup comienza marcando bloques de base de datos
  • Los bloques de base de datos se copian al backup
  • Si el bloque se modifica durante el backup, se guardan versiones antiguas y nuevas
  • Garantiza backup consistente incluso con cambios en curso
  • Journal WIJ asegura integridad física

Protección Write Image Journal (WIJ): El WIJ es crítico para integridad de backup. Previene corrupción si el sistema se cuelga durante backup:

  • Actualizaciones escritas al WIJ antes de base de datos
  • Si ocurre caída durante backup, recuperación WIJ restaura consistencia
  • Asegura que el backup sea estructuralmente sólido
  • Protege contra escrituras de bloques incompletas

Journaling para Integridad Lógica: Mientras WIJ protege estructura física, journaling protege integridad lógica de base de datos:

  • Registra todas las modificaciones de base de datos
  • Habilita recuperación más allá del último backup
  • Soporta recuperación point-in-time
  • Requerido para recuperación roll-forward después de restauración

Consideraciones de Estrategia de Backup:

  • Frecuencia: Balance entre sobrecarga de backup y pérdida de datos aceptable
  • Retención: Cuántos backups mantener y por cuánto tiempo
  • Almacenamiento: Disco local, almacenamiento de red, cinta o nube
  • Verificación: Pruebas de restauración regulares para verificar integridad de backup
  • Documentación: Procedimientos claros para operaciones de backup y restauración

Mejores Prácticas: 1. Realizar backups completos regulares (semanal o mensualmente) 2. Suplementar con backups incrementales frecuentes (diario o por hora) 3. Mantener múltiples generaciones de backup 4. Almacenar backups en almacenamiento físico separado de bases de datos 5. Probar procedimientos de restauración regularmente 6. Monitorear finalización de backup y verificar éxito 7. Mantener archivos de journal sincronizados con backups 8. Documentar horario de backup y política de retención

2. Configurar y Ejecutar Backups

Puntos Clave

  • Configurar ajustes de backup vía Management Portal o programáticamente
  • Especificar tipo de backup, ubicación y opciones
  • Programar backups automatizados usando task manager
  • Monitorear progreso y finalización de backup
  • Verificar éxito de backup y mantener log de backup

Notas Detalladas

InterSystems IRIS proporciona herramientas para configurar, programar y ejecutar backups a través del Management Portal, utilidades de línea de comandos e interfaces programáticas.

Configuración de Backup vía Management Portal: Navegue a: System Operation > Backup

Configure ajustes:

  • Tipo de Backup: Completo o incremental
  • Dispositivo de Backup: Directorio local, ruta de red o dispositivo de cinta
  • Bases de Datos a Respaldar: Seleccionar bases de datos específicas o todas las bases de datos
  • Opciones: Incluir cambio de journal, verificar backup, comprimir backup
  • Programación: Horario único o recurrente

Configuración de Backup Completo: Ajustes de backup completo:

  • Seleccionar todas las bases de datos o subconjunto específico
  • Especificar directorio de backup con espacio suficiente
  • Elegir si cambiar archivo de journal después de backup
  • Habilitar verificación para verificar integridad de backup
  • Considerar compresión para reducir requisitos de almacenamiento

Configuración de Backup Incremental: El backup incremental requiere:

  • Backup completo previo como línea base
  • Mismo directorio de backup que backup completo
  • Lista de bases de datos consistente entre completo e incremental
  • Backups completos regulares para resetear cadena incremental

Ubicación de Backup: Elija destino de backup cuidadosamente:

  • Disco Local: Rápido pero comparte riesgo con almacenamiento de base de datos
  • Almacenamiento de Red: Separa backup del servidor de base de datos
  • Almacenamiento SAN: Alto rendimiento, características empresariales
  • Cinta: Archivado a largo plazo, restauración más lenta
  • Almacenamiento en Nube: Protección fuera de sitio, dependiente de red

Ejecución de Backup Manual: Para ejecutar backup inmediato: 1. Abra Management Portal 2. Navegue a System Operation > Backup 3. Seleccione tipo de backup y opciones 4. Haga clic en "Backup Now" 5. Monitoree progreso en Backup Status 6. Verifique finalización en log de backup

Backup Programático: Ejecute backup usando ObjectScript: ```objectscript Set status = ##class(Backup.General).ExternalFullBackup("/backup/location/") ```

O usando comando Terminal: ``` Do BACKUP^DBACK ```

Programación de Backups Automatizados: Use Task Manager para backups automatizados regulares: 1. Navegue a System Operation > Task Manager 2. Cree nueva tarea 3. Seleccione tipo de tarea: "Backup" 4. Configure parámetros de backup 5. Establezca horario (diario, semanal, horarios específicos) 6. Guarde y habilite tarea

Ejemplo de Horario de Backup:

  • Backup Completo: Domingo 2:00 AM semanalmente
  • Backup Incremental: Lunes-Sábado 2:00 AM diariamente
  • Archivo de Journal: Cada 4 horas
  • Verificación de Backup: Después de cada backup

Opciones de Backup:

Switch Journal:

  • Crea nuevo archivo de journal después de backup
  • Recomendado para cada backup
  • Sincroniza estado de journal con backup
  • Simplifica procedimientos de recuperación

Verify Backup:

  • Prueba integridad de archivo de backup después de creación
  • Intenta leer todos los datos respaldados
  • Identifica corrupción tempranamente
  • Agrega tiempo al proceso de backup pero es altamente recomendado

Compress Backup:

  • Reduce tamaño de archivo de backup
  • Ahorra espacio de almacenamiento
  • Aumenta tiempo de backup ligeramente
  • Aumenta tiempo de restauración ligeramente
  • Usualmente vale la pena el compromiso

Include Non-Database Files:

  • Backup de archivo de configuración .cpf
  • Backup de archivos de journal
  • Backup de archivos de rutina
  • Asegura capacidad completa de recuperación

Monitoreo de Progreso de Backup: Durante ejecución de backup:

  • Management Portal muestra progreso en tiempo real
  • Consola muestra mensajes de estado
  • Log de backup registra cada paso
  • Tiempo estimado de finalización mostrado
  • Base de datos actual siendo respaldada mostrada

Indicadores de Estado de Backup:

  • Running: Backup en progreso
  • Completed: Finalización exitosa
  • Failed: Ocurrió error, revisar messages log
  • Incomplete: Backup interrumpido o parcial

Verificación de Backup: Después de completar backup: 1. Revisar log de backup para mensaje de finalización 2. Verificar que archivos de backup existen en ubicación especificada 3. Verificar que tamaños de archivo sean razonables 4. Revisar cualquier mensaje de advertencia o error 5. Probar proceso de restauración periódicamente

Log de Backup: El log de backup (backup.log) contiene:

  • Horas de inicio y fin de backup
  • Bases de datos incluidas en backup
  • Nombres y tamaños de archivos de backup
  • Cualquier advertencia o error encontrado
  • Estado de éxito o fallo

Mejores Prácticas para Ejecutar Backups: 1. Programar backups durante períodos de bajo uso 2. Monitorear primeros backups programados para verificar éxito 3. Mantener historial de log de backup 4. Alertar sobre fallos de backup 5. Verificar espacio de almacenamiento suficiente antes de backup 6. Documentar procedimientos y horarios de backup 7. Probar proceso de restauración regularmente 8. Mantener archivos de journal alineados con backups

Solución de Problemas de Backup: Problemas comunes:

  • Espacio en disco insuficiente: Monitorear capacidad de almacenamiento
  • Errores de permisos: Verificar acceso de escritura a ubicación de backup
  • Interrupciones de red: Usar almacenamiento local o red confiable
  • Base de datos bloqueada: Asegurar que no haya operaciones exclusivas ejecutándose
  • Backup interrumpido: Verificar recursos del sistema y estabilidad

3. Realizar Recuperación de Base de Datos

Puntos Clave

  • Restaurar base de datos desde backup más reciente
  • Recuperación WIJ asegura integridad estructural después de restauración
  • Roll forward desde archivos de journal para recuperar transacciones recientes
  • Verificar integridad de base de datos después de recuperación
  • Documentar procedimientos de recuperación y probar regularmente

Notas Detalladas

La recuperación de base de datos restaura bases de datos desde backup y aplica registros de journal para recuperar transacciones hechas después del backup. El proceso de recuperación asegura integridad de base de datos tanto estructural como lógica.

Escenarios de Recuperación:

  • Fallo de hardware: Caída de disco, fallo de servidor
  • Corrupción de datos: Estructura de base de datos corrupta
  • Errores lógicos: Bug de aplicación corrompió datos
  • Eliminación accidental: Error de usuario o administrador
  • Recuperación ante desastres: Fallo de sitio completo

Prerrequisitos de Recuperación: Antes de comenzar recuperación:

  • Identificar backup válido más reciente
  • Ubicar todos los archivos de journal desde backup
  • Asegurar espacio en disco suficiente para restauración
  • Documentar estado actual de base de datos si es posible
  • Notificar a usuarios sobre tiempo de inactividad del sistema

Proceso Básico de Recuperación: 1. Detener InterSystems IRIS (si está ejecutándose) 2. Restaurar archivos de base de datos desde backup 3. Iniciar InterSystems IRIS 4. Sistema ejecuta automáticamente recuperación WIJ 5. Aplicar archivos de journal para roll forward 6. Verificar integridad de base de datos 7. Reanudar operaciones normales

Pasos Detallados de Recuperación:

Paso 1: Evaluar Daño:

  • Determinar qué bases de datos están afectadas
  • Identificar causa del fallo
  • Determinar objetivo de punto de recuperación (cuánta pérdida de datos es aceptable)
  • Ubicar archivos de backup y journal requeridos

Paso 2: Detener Sistema: Apagar InterSystems IRIS limpiamente si es posible: ``` iris stop IRIS ```

Si el sistema no se detiene limpiamente, puede necesitar forzar apagado o usar comandos kill del OS.

Paso 3: Restaurar desde Backup: Vía Management Portal (después de reinicio): 1. Navegue a System Operation > Backup 2. Seleccione "Restore" 3. Elija backup del cual restaurar 4. Seleccione bases de datos a restaurar 5. Confirme y ejecute restauración

Vía Línea de Comandos: ``` Do DBREST^DBACK ```

Paso 4: Recuperación WIJ: Cuando InterSystems IRIS inicia después de restauración, automáticamente:

  • Detecta que bases de datos fueron restauradas
  • Ejecuta recuperación WIJ para asegurar integridad estructural
  • Completa cualquier actualización de base de datos interrumpida
  • Asegura que bloques de base de datos sean consistentes
  • Registra acciones de recuperación en consola

La recuperación WIJ garantiza que la base de datos restaurada tenga:

  • Estructura de bloque consistente
  • Sin escrituras parciales
  • Punteros internos válidos
  • Integridad física sólida

Paso 5: Journal Roll Forward (cubierto en siguiente sección): Aplicar archivos de journal para recuperar transacciones después del punto de backup.

Paso 6: Verificar Integridad: Después de recuperación:

  • Ejecutar verificador de integridad de base de datos
  • Verificar datos de aplicación críticos
  • Probar funcionalidad de aplicación
  • Verificar estadísticas de base de datos
  • Revisar logs de error para problemas

Comandos de Verificación de Integridad: ```objectscript Do ^INTEGRIT // Verificar estructura de base de datos ```

Paso 7: Reanudar Operaciones: Una vez verificado:

  • Habilitar acceso de usuario
  • Reanudar operaciones normales
  • Monitorear sistema de cerca inicialmente
  • Documentar acciones de recuperación tomadas

Recuperación en Entorno en Mirror: Si recuperando miembro de mirror:

  • Puede necesitar remover temporalmente del mirror
  • Restaurar base de datos desde backup
  • Ponerse al día con primary actual vía journaling
  • Reunirse al mirror cuando esté sincronizado
  • O restaurar desde partner de mirror en lugar de backup

Recuperación Paralela: InterSystems IRIS soporta recuperación paralela:

  • Múltiples bases de datos restauradas simultáneamente
  • Acelera recuperación de sistemas grandes
  • Configure vía ajustes de backup/restauración
  • Requiere capacidad de E/S suficiente

Consideraciones de Tiempo de Recuperación: Factores que afectan duración de recuperación:

  • Tamaño de base de datos: Bases de datos más grandes tardan más en restaurar
  • Ubicación de backup: Local más rápido que red o cinta
  • Velocidad de E/S de disco: SSD más rápido que disco giratorio
  • Volumen de journal: Más journals = roll forward más largo
  • Recursos del sistema: Más CPU/RAM acelera recuperación

Minimización de Tiempo de Recuperación:

  • Realizar backups incrementales regulares (menos journal para aplicar)
  • Mantener backups en almacenamiento local rápido
  • Usar almacenamiento de alto rendimiento para bases de datos
  • Practicar procedimientos de recuperación para optimizar proceso
  • Considerar recuperación paralela para sistemas grandes
  • Mantener archivos de journal organizados y accesibles

Prueba de Procedimientos de Recuperación: Probar regularmente proceso de recuperación:

  • Programar ejercicios de recuperación periódicos
  • Restaurar a sistema de prueba, no producción
  • Verificar todos los pasos en procedimiento de recuperación
  • Cronometrar el proceso de recuperación
  • Actualizar documentación basándose en pruebas
  • Entrenar personal en procedimientos de recuperación

Problemas Comunes de Recuperación:

  • Archivos de journal faltantes: Recuperación incompleta, pérdida de datos
  • Backup demasiado antiguo: Gran volumen de journals para aplicar
  • Espacio en disco insuficiente: No se puede completar restauración
  • Errores de permisos: No se pueden escribir archivos restaurados
  • Fallo de recuperación WIJ: Puede indicar corrupción más profunda

4. Usar Journal Restore para Recuperación Point-in-Time

Puntos Clave

  • Journals registran todas las modificaciones de base de datos para recuperación
  • Roll forward aplica entradas de journal después de restauración de backup
  • Recuperación point-in-time a fecha/hora específica
  • Recuperación selectiva de bases de datos o globales específicos
  • Esencial para minimizar pérdida de datos después de fallos

Notas Detalladas

La restauración de journal (roll forward) aplica registros de journal a bases de datos restauradas desde backup, recuperando transacciones que ocurrieron después de que se tomó el backup. Esto minimiza pérdida de datos y habilita recuperación point-in-time.

Comprensión de Journaling: Journaling es una característica habilitada por base de datos que registra todas las modificaciones:

  • Cada SET, KILL y transacción
  • Registro completo de cambios de base de datos
  • Log secuencial de todas las modificaciones
  • Entradas con marca de tiempo para recuperación point-in-time
  • Crítico para integridad de datos y recuperación

Estructura de Archivo de Journal:

  • Los archivos de journal se numeran secuencialmente (e.g., journal1.log, journal2.log)
  • Nuevo archivo de journal creado cuando el actual se llena o se cambia manualmente
  • Directorio de journal debe estar en disco separado de bases de datos
  • Archivado regular de archivos de journal recomendado
  • Mantener journals sincronizados con backups

Proceso de Recuperación Roll Forward:

Paso 1: Restaurar desde Backup: Como se describe en sección previa, restaure bases de datos desde backup más reciente.

Paso 2: Identificar Journals Requeridos: Determine qué archivos de journal se necesitan:

  • Inicio: Archivo de journal activo en tiempo de backup
  • Fin: Archivo de journal más reciente (para recuperación completa) o punto específico en el tiempo
  • Asegure que todos los journals en secuencia estén disponibles
  • Journals faltantes crean brecha en recuperación

Paso 3: Ejecutar Journal Restore:

Vía Management Portal: 1. Navegue a System Operation > Journal 2. Seleccione "Restore Journals" 3. Especifique directorio de journal 4. Seleccione archivos de journal inicio y fin o marcas de tiempo 5. Elija bases de datos a recuperar 6. Inicie proceso de restauración

Vía Comando Terminal: ```objectscript Do ^JRNRESTO // Utilidad de restauración de journal ```

Vía Método Programático: ```objectscript Set status = ##class(SYS.Journal.System).Restore(parameters) ```

Parámetros de Journal Restore:

  • Directorio de journal: Ubicación de archivos de journal
  • Tiempo/archivo inicio: Comienzo de período de restauración
  • Tiempo/archivo fin: Fin de período de restauración (o último)
  • Bases de datos: Qué bases de datos recuperar (o todas)
  • Filtro: Filtrado opcional por globales o rutinas
  • Opciones: Logging verboso, modo prueba, manejo de errores

Recuperación Point-in-Time: Recuperar a fecha y hora específicas:

  • Especificar marca de tiempo exacta para punto final de recuperación
  • Útil para recuperarse de errores lógicos (datos malos ingresados)
  • Excluye transacciones después de tiempo especificado
  • Puede recuperar a justo antes de que ocurriera problema conocido

Escenario ejemplo:

  • Backup tomado a medianoche
  • Datos malos ingresados a 2:30 PM
  • Restaurar desde backup de medianoche
  • Roll forward journals hasta 2:29 PM
  • Base de datos recuperada a estado justo antes de error

Recuperación Selectiva: Recuperar bases de datos o globales específicos:

  • No tiene que recuperar sistema completo
  • Especificar bases de datos individuales en journal restore
  • Filtrar por nombres de globales para recuperar datos específicos
  • Útil cuando solo subconjunto de datos está afectado

Monitoreo de Recuperación: Durante journal restore:

  • Progreso mostrado mostrando archivo de journal siendo procesado
  • Marca de tiempo de entrada de journal actual
  • Número de registros procesados
  • Tiempo estimado de finalización
  • Cualquier error o advertencia

Mejores Prácticas de Journaling:

Habilitar Journaling: Todas las bases de datos de producción deben tener journaling habilitado: ```objectscript Set status = ##class(Config.Databases).Get(dbname, .properties) Set properties("JournalON") = 1 Set status = ##class(Config.Databases).Modify(dbname, .properties) ```

Gestión de Archivos de Journal:

  • Colocar archivos de journal en disco físico separado de bases de datos
  • Configurar tamaño de directorio de journal adecuado
  • Configurar purga de archivos de journal para prevenir disco lleno
  • Archivar archivos de journal antiguos a almacenamiento de backup
  • Sincronizar archivado de journal con horario de backup

Cambio de Journal: Cambiar a nuevo archivo de journal:

  • Después de cada backup
  • A intervalos definidos (e.g., cada 4 horas)
  • Antes de operaciones mayores
  • Manualmente cuando se necesite

Cambiar journal vía: ```objectscript Do SWITJ^JOURNAL ```

Verificación de Journal Restore: Después de completar journal restore: 1. Revisar log de restauración para mensaje de finalización 2. Verificar número esperado de entradas de journal procesadas 3. Probar funcionalidad de aplicación crítica 4. Comparar estadísticas de base de datos con valores esperados 5. Ejecutar verificación de integridad 6. Verificar datos específicos que deberían haberse recuperado

Restauración Incremental: Journal restore soporta recuperación incremental:

  • Restaurar desde backup completo
  • Aplicar backup incremental
  • Aplicar journals desde backup incremental
  • Más rápido que aplicar todos los journals desde backup completo

Journal Restore Paralelo: Para sistemas grandes:

  • Múltiples bases de datos pueden recuperarse en paralelo
  • Acelera proceso de recuperación
  • Configure basándose en recursos del sistema
  • Monitoree carga del sistema durante restauración paralela

Objetivo de Tiempo de Recuperación (RTO): Factores que afectan duración de journal restore:

  • Volumen de archivos de journal a procesar
  • Tamaño de base de datos
  • Rendimiento de E/S de disco
  • CPU y memoria del sistema
  • Complejidad de filtrado

Minimización de Tiempo de Recuperación:

  • Backups incrementales más frecuentes reducen volumen de journal
  • Mantener archivos de journal en almacenamiento rápido
  • Usar compresión de archivos de journal
  • Mantener archivo de journal organizado
  • Practicar recuperación para optimizar procedimiento

Consistencia de Transacción: Journal restore mantiene integridad de transacción:

  • Transacciones completas se restauran completamente
  • Transacciones incompletas se revierten
  • Propiedades ACID preservadas
  • Base de datos permanece consistente a través de recuperación

Características Avanzadas de Journal:

Filtros de Journal:

  • Recuperar solo globales específicos: `^Patient*, ^Order*`
  • Excluir globales específicos de recuperación
  • Filtrado basado en tiempo
  • Filtrado basado en usuario (quién hizo cambios)

Modo Prueba:

  • Ejecutar journal restore en modo prueba
  • Valida archivos de journal sin modificar bases de datos
  • Reporta qué se recuperaría
  • Útil para planear estrategia de recuperación

Manejo de Errores:

  • Configurar comportamiento en errores de journal
  • Detener en error vs. continuar con advertencias
  • Registrar todos los errores para revisión
  • Preservar recuperación parcial si ocurre error

Problemas Comunes:

Archivos de Journal Faltantes:

  • Brecha en secuencia de journal previene recuperación completa
  • Puede necesitar aceptar pérdida de datos para período de brecha
  • Enfatiza importancia de backup/archivado de journal

Corrupción de Journal:

  • Rara pero posible
  • Puede requerir recuperación desde punto anterior
  • Recuperación WIJ protege contra la mayoría de corrupción
  • Verificación regular de archivos de journal recomendada

Espacio en Disco Insuficiente:

  • Journal restore necesita espacio para procesamiento
  • Asegure espacio libre adecuado antes de iniciar
  • Monitoree espacio durante restauraciones de larga ejecución

5. Usar APIs FREEZE y THAW para Snapshots Externos

Puntos Clave

  • Freeze() pausa escrituras de base de datos mientras permite actividad de usuario
  • Thaw() reanuda operaciones normales de escritura de base de datos
  • Habilita snapshots consistentes con herramientas SAN o VM
  • La clase Backup.General proporciona métodos ExternalFreeze() y ExternalThaw()
  • Crítico para integración de backup empresarial

Notas Detalladas

Las APIs FREEZE y THAW habilitan integración con herramientas de backup externas (snapshots SAN, snapshots VM, software de backup empresarial) pausando escrituras físicas de base de datos mientras permiten que procesos de usuario continúen operando. Esto crea un punto en el tiempo consistente para creación de snapshot.

Comprensión de Backup External con FREEZE/THAW: El backup external usa herramientas de nivel de sistema operativo o almacenamiento en lugar de utilidades de backup de InterSystems IRIS. Para que los backups externos sean consistentes, las escrituras de base de datos deben congelarse durante la operación de snapshot. Las APIs FREEZE/THAW proporcionan esta capacidad.

Métodos de Clase Backup.General: La clase `Backup.General` proporciona los métodos primarios para integración de backup externo:

ExternalFreeze(): ```objectscript Set status = ##class(Backup.General).ExternalFreeze(timeout, logfile, journal, updwij) ```

  • Pausa escrituras físicas a bases de datos
  • Procesos de usuario continúan actualizando datos en memoria (escrituras en caché)
  • Timeout por defecto: 600 segundos (10 minutos)
  • Automáticamente cambia archivo de journal si se especifica
  • Devuelve status indicando éxito o fallo
  • Sistema encola actualizaciones de base de datos durante congelamiento

ExternalThaw(): ```objectscript Set status = ##class(Backup.General).ExternalThaw() ```

  • Reanuda operaciones de escritura de base de datos
  • Actualizaciones encoladas escritas a disco
  • Operación normal de write daemon restaurada
  • Debe llamarse después de completar snapshot
  • Crítico llamar prontamente para prevenir agotamiento de memoria

ExternalSetHistory(): ```objectscript Set status = ##class(Backup.General).ExternalSetHistory(description) ```

  • Registra finalización de backup en historial
  • Puede disparar purga de archivos de journal
  • Documenta cuándo se completó backup externo
  • Mantiene pista de auditoría de backup

Wrappers de Línea de Comandos: Para conveniencia, existen métodos wrapper de línea de comandos:

  • `CommandLineFreeze()` - Maneja detección de membresía de cluster antes de congelar
  • `CommandLineThaw()` - Maneja detección de membresía de cluster antes de descongelar

Estos wrappers son útiles al programar backups externos mediante scripts.

Flujo de Trabajo Freeze/Thaw: 1. Llamar `ExternalFreeze()` con timeout apropiado 2. Verificar que congelamiento fue exitoso (verificar status devuelto) 3. Disparar snapshot externo (SAN, VM o nivel OS) 4. Esperar a que snapshot se complete 5. Llamar `ExternalThaw()` inmediatamente después de snapshot 6. Llamar `ExternalSetHistory()` para registrar backup 7. Verificar integridad de snapshot si es posible

Script Ejemplo: ```objectscript ; Script de backup externo Set timeout = 600 ; Timeout de 10 minutos Set logfile = "/backup/freeze.log" Set journal = 1 ; Cambiar journal durante congelamiento Set updwij = 1 ; Actualizar WIJ durante congelamiento

; Congelar escrituras de base de datos Set status = ##class(Backup.General).ExternalFreeze(timeout, logfile, journal, updwij) If $$$ISERR(status) { Write "Freeze failed: ", $System.Status.GetErrorText(status), ! Quit }

; En este punto, herramienta de snapshot externa debe ejecutarse Write "Databases frozen - run snapshot now", ! ; ... snapshot ocurre ...

; Descongelar escrituras de base de datos Set status = ##class(Backup.General).ExternalThaw() If $$$ISERR(status) { Write "Thaw failed: ", $System.Status.GetErrorText(status), ! }

; Registrar historial de backup Set status = ##class(Backup.General).ExternalSetHistory("External snapshot backup") ```

Alternativa de Comando Terminal: Para backup externo sin programación: ``` Do BACKUP^DBACK ``` Esta utilidad proporciona menú interactivo para operaciones de backup externo incluyendo freeze y thaw.

Integración de Snapshot SAN: Al usar snapshots a nivel SAN:

  • Coordinar con administrador de almacenamiento
  • Asegurar que todos los volúmenes conteniendo bases de datos sean capturados simultáneamente en snapshot
  • Incluir volúmenes de archivos de journal en snapshot
  • Verificar consistencia de snapshot después de creación
  • Probar restauración desde snapshot periódicamente

Integración de Snapshot VM: Para snapshots de máquina virtual:

  • Congelar bases de datos antes de snapshot VM
  • Descongelar después de completar snapshot
  • Considerar quiescencia de SO invitado también
  • Ser consciente de cadenas de snapshot y gestión
  • Probar restauraciones de snapshot VM regularmente

Consideraciones de Timeout: El timeout de congelamiento debe ser lo suficientemente largo para que snapshot se complete:

  • Por defecto 600 segundos (10 minutos)
  • Aumentar para sistemas de almacenamiento grandes o lentos
  • Monitorear para advertencias de timeout
  • Si congelamiento expira, escrituras se reanudan automáticamente
  • Congelamiento fallido puede resultar en snapshot inconsistente

Implicaciones de Memoria Durante Congelamiento: Mientras está congelado:

  • Actualizaciones de base de datos se acumulan en memoria
  • Buffers globales se llenan con escrituras pendientes
  • Congelamiento extendido puede agotar espacio de buffer
  • Sistema puede ralentizarse o pararse si buffers se llenan
  • Mantener duración de congelamiento lo más corta posible

Backup External Concurrent: Para sistemas que no pueden tolerar ningún congelamiento:

  • Modo de backup external concurrent disponible
  • Usa WIJ para rastrear cambios durante backup
  • Más complejo pero permite operación continua
  • Ver documentación `GCDI_backup_methods_ext_concurrent`

Mejores Prácticas: 1. Probar procedimientos freeze/thaw antes de uso en producción 2. Monitorear duración de congelamiento y utilización de buffer 3. Establecer timeout apropiado para su entorno 4. Siempre llamar Thaw() después de freeze, incluso si snapshot falla 5. Documentar procedimientos freeze/thaw para personal de operaciones 6. Incluir freeze/thaw en documentación de recuperación ante desastres 7. Validar snapshots a través de pruebas de restauración periódicas 8. Considerar backup concurrent para sistemas que requieren operación 24/7

Solución de Problemas:

  • Timeout de freeze: Aumentar timeout o investigar snapshot lento
  • Fallo de freeze: Verificar recursos del sistema, espacio en disco, permisos
  • Fallo de thaw: Raro pero crítico - puede necesitar reinicio
  • Snapshot inconsistente: Verificar que todos los volúmenes fueron capturados simultáneamente
  • Presión de memoria durante congelamiento: Reducir duración de congelamiento o agregar buffers

Resumen de Preparación para el Examen

Conceptos Críticos a Dominar:

  1. Backup Online: Completo o incremental mientras sistema está ejecutándose; más común para sistemas 24/7
  2. Backup External: Herramientas nivel OS/SAN; requiere modo backup o apagado
  3. Backup Concurrent: Cambios de base de datos continúan durante backup
  4. WIJ (Write Image Journal): Protege contra corrupción física durante escrituras
  5. Journaling: Habilita recuperación point-in-time; crítico para recuperación ante desastres
  6. Completo vs Incremental: Completo proporciona línea base; incremental respalda solo bloques cambiados
  7. Modo Backup: Congela write daemon para backup externo consistente

Escenarios Comunes de Examen:

  • Elegir estrategia de backup apropiada para requisitos dados
  • Comprender compromisos de backup completo vs incremental
  • Configurar backup externo con BACKUP^DBACK
  • Realizar recuperación point-in-time usando journals
  • Comprender rol de WIJ en integridad de base de datos
  • Planear horarios de backup para requisitos RTO/RPO
  • Solucionar fallos de backup y recuperación

Recomendaciones de Práctica Práctica:

  • Realizar backups online completos e incrementales
  • Configurar backup externo usando herramientas OS
  • Practicar restauración de base de datos desde backup
  • Realizar recuperación point-in-time usando journals
  • Monitorear progreso de backup y verificar finalización
  • Probar procedimientos de recuperación en entorno no productivo
  • Configurar Task Manager para horarios de backup automatizados

Report an Issue