Esta página fue traducida automáticamente. Lee el original en inglés. English

Replicación nativa maestro-esclavo en HQbird Enterprise: DML y DDL, sin disparadores, claves únicas o primarias en tablas replicadas. 100% compatible con Firebird 2.5-5.0 - cambie los binarios sin copia de seguridad/restauración. Una licencia cubre un maestro y una réplica; las réplicas adicionales se venden por separado.

Asíncrono vs síncrono

El modo asíncrono suele ser la elección correcta para producción.

Asíncrono (recomendado)

El maestro registra los cambios confirmados en archivos de segmento; las réplicas los extraen y aplican en segundo plano. El vaciado predeterminado es de 90 segundos (a menudo se establece en 15-30). La réplica se puede recrear en línea; no es necesario detener el maestro para comenzar. Adecuado para la nube o enlaces de alta latencia. El retraso puede aumentar bajo carga pesada.

Síncrono

El maestro escribe los cambios confirmados directamente en la(s) réplica(s). Retraso de ~1-2 segundos; necesita una ruta estable de ~1 Gbps. La réplica es de solo lectura (con salvedades). Recrear una réplica requiere detener el maestro. Úselo para conmutación por error personalizada (3+ nodos), descarga de lecturas o combinado con asíncrono.

Replicación asíncrona de Firebird: segmentos de diario del maestro a la réplica
Asíncrono: segmentos en disco, aplicados en segundo plano.
Replicación síncrona de Firebird: el maestro escribe directamente en la réplica
Síncrono: lotes al confirmar a través de una conexión en vivo.

Instalación

Instale HQbird Server con Firebird en el maestro y la réplica. Windows: HQbirdServer2024.exe (2.5-5.0). Las herramientas de administración son opcionales para la replicación. Linux: guía de instalación. Regístrese con una licencia de prueba o completa. La Guía del usuario §2 cubre la configuración del servidor.

Firebird 2.5: HQbird instala SuperClassic. Si el encabezado de la base de datos tiene un recuento grande de búfer de páginas, el rendimiento puede verse afectado. Establezca los búferes en 0 para que firebird.conf tenga prioridad:

gfix -buff 0 -user SYSDBA -pass masterkey disk:\path\database.fdb

Pasos - replicación asíncrona

  1. Configure la base de datos como maestro.
  2. Cree un archivo de réplica (nbackup o "Reinicializar base de datos de réplica").
  3. Configure el servidor de réplica.

Paso 1 - Maestro

Abra http://127.0.0.1:8082 (el puerto es configurable). Inicie sesión con admin / contraseña segura. Confirme que el widget Servidor activo muestra Firebird 2.5/3.0/4.0/5.0 HQbird.

Consola de HQbird lista para agregar una base de datos para replicación

Agregue la base de datos: apodo más ruta de archivo, no un alias - los alias no se replican.

Diálogo para agregar base de datos con ruta de archivo explícita

Abra la replicación desde el icono del encabezado de la base de datos. Elija MaestroAsíncrono → Guardar. Reinicie Firebird (o todas las conexiones Classic) para que los parámetros se carguen en la primera conexión.

Configuración básica de replicación asíncrona maestra
Configuración básica del maestro.
Parámetros completos de replicación asíncrona maestra
Más >> - los valores predeterminados son adecuados en una instalación limpia.
  • Directorio de registro - segmentos operativos, predeterminado ${db.default-directory}\ReplicationLog. Gestionado por el motor; déjelo.
  • Directorio de archivo de registro - segmentos archivados, predeterminado ${db.path}.LogArch junto a la base de datos.
  • Anular comando de archivo de registro - déjelo vacío.
  • Forzar vaciado de datos confirmados - predeterminado 90 segundos.

Debería ver archivos rotativos en el directorio de registro inmediatamente después de las escrituras, y luego segmentos archivados después de la confirmación/tiempo de espera. No toque los segmentos operativos. Copiar archivos a la réplica: recurso compartido de red o FTP/SSH.

Archivos de segmento de replicación en disco

Paso 2 - Archivo de réplica inicial

Desde HQbird 2018 R2, Reinicializar base de datos de réplica crea una copia junto al maestro, con nombre como employee30.fdb.17-Apr-2018_142507.4replica. O use nbackup sin detener el maestro.

Paso 3 - Servidor de réplica

Registre la réplica en FBDataGuard después de que tenga un GUID de réplica. El ajuste requerido es la carpeta de segmentos archivados. Guarde y reinicie Firebird. Los valores predeterminados se importan de una carpeta junto a la réplica; los segmentos procesados se eliminan. No mezcle archivos de diferentes bases de datos en una carpeta.

Configuración básica de réplica asíncrona
Configuración detallada de réplica asíncrona

Pasos - replicación síncrona

  1. Detenga Firebird.
  2. Copie el archivo maestro, cámbielo a modo réplica, cópielo en el(los) servidor(es) de réplica.
  3. Configure el(los) servidor(es) de réplica en FBDataGuard.
  4. Inicie la(s) réplica(s) antes que el maestro.
  5. Configure el maestro y luego inícielo.

Más tiempo de inactividad que asíncrono: la réplica debe estar en línea antes de que el maestro se inicie. Ejemplo de réplica remota: servidor replicaserver, ruta /data/test2.fdb. En la réplica, gfix -replica {master-guid} es suficiente además de esa copia.

Configuración de replicación síncrona

Pruebas en un sistema de producción

Establezca disable_on_error en true para que un error de replicación desactive la replicación y el maestro siga sirviendo. Reinicialice desde un registro limpio después de corregir el error. Habilite el trabajo Registro de replicación en FBDataGuard para errores y advertencias.

disable_on_error true para pruebas de replicación
Trabajo de monitoreo de registro de replicación en HQbird

Crear una copia de réplica con nbackup

Funciona en línea para asíncrono (y réplicas adicionales) sin detener el maestro. O detenga Firebird y copie el archivo.

nbackup -l database_path_name -user SYSDBA -pass masterkey
copy database_path_name replica_path_name
nbackup -n database_path_name -user SYSDBA -pass masterkey
nbackup -f replica_path_name
gfix replica_path_name -replica {DATABASEGUID} -user SYSDBA -pass masterkey

DATABASEGUID es el identificador único del maestro de gstat -h. Si falta, conéctese una vez con los binarios de Firebird de HQbird y ejecute gstat -h nuevamente.

gstat -h mostrando el GUID de la base de datos
gfix disk:\path\mydatabase.fdb -replica {guid} -user SYSDBA -pass masterkey
gfix disk:\path\mydatabase.fdb -replica {} -user SYSDBA -pass masterkey

Un {} vacío devuelve el archivo al modo normal (lectura-escritura). En una réplica puede realizar trabajo de solo lectura (SELECT); no cambie datos ni metadatos.