Questa pagina è stata tradotta automaticamente. Leggi l'originale in inglese. English

Replica nativa master-slave in HQbird Enterprise: DML e DDL, senza trigger, chiavi uniche o primarie sulle tabelle replicate. 100% compatibile con Firebird 2.5-5.0 - cambia i binari senza backup/restore. Una licenza copre un master e una replica; repliche aggiuntive sono vendute separatamente.

Asincrona vs sincrona

L'asincrona è di solito la scelta giusta per la produzione.

Asincrona (consigliata)

Il master registra le modifiche committate in file di segmento; le repliche li scaricano e li applicano in background. Il flush predefinito è di 90 secondi (spesso impostato a 15-30). La replica può essere ricreata online; nessuna interruzione del master per avviare. Adatta per cloud o collegamenti ad alta latenza. Il ritardo può crescere sotto carico elevato.

Sincrona

Il master scrive le modifiche committate direttamente alle repliche. Ritardo ~1-2 secondi; richiede un percorso stabile di ~1 Gbps. La replica è in sola lettura (con avvertenze). Ricreare una replica richiede l'arresto del master. Usala per failover personalizzato (3+ nodi), scarico delle letture o in combinazione con l'asincrona.

Replica Firebird asincrona: segmenti di journal dal master alla replica
Asincrona: segmenti su disco, applicati in background.
Replica Firebird sincrona: il master scrive direttamente alla replica
Sincrona: batch al commit su una connessione live.

Installazione

Installa HQbird Server con Firebird su master e replica. Windows: HQbirdServer2024.exe (2.5-5.0). Gli strumenti di amministrazione sono opzionali per la replica. Linux: guida all'installazione. Registrati con una licenza di prova o completa. La Guida Utente §2 copre la configurazione del server.

Firebird 2.5: HQbird installa SuperClassic. Se l'header del database ha un conteggio elevato di page buffer, le prestazioni possono risentirne. Imposta i buffer a 0 così firebird.conf vince:

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

Passaggi - replica asincrona

  1. Configura il database come master.
  2. Crea un file di replica (nbackup o "Reinizializza database replica").
  3. Configura il server replica.

Passaggio 1 - Master

Apri http://127.0.0.1:8082 (la porta è configurabile). Accedi con admin / password forte. Conferma che il widget Active server mostri Firebird 2.5/3.0/4.0/5.0 HQbird.

Console HQbird pronta per aggiungere un database per la replica

Aggiungi database: nickname più percorso file, non un alias - gli alias non vengono replicati.

Dialogo di aggiunta database con percorso file esplicito

Apri la replica dall'icona dell'header del database. Scegli MasterAsincrona → Salva. Riavvia Firebird (o tutte le connessioni Classic) così i parametri vengono caricati alla prima connessione.

Impostazioni di base replica master asincrona
Configurazione master di base.
Parametri completi replica master asincrona
More >> - i valori predefiniti vanno bene su un'installazione pulita.
  • Directory log - segmenti operativi, predefinita ${db.default-directory}\ReplicationLog. Gestita dal motore; lasciala.
  • Directory archivio log - segmenti archiviati, predefinita ${db.path}.LogArch accanto al database.
  • Override comando archivio log - lascia vuoto.
  • Forza flush dei dati committati - predefinito 90 secondi.

Dovresti vedere file rotanti nella directory log subito dopo le scritture, poi segmenti archiviati dopo il commit/timeout. Non toccare i segmenti operativi. Copiare gli archivi sulla replica: condivisione di rete o FTP/SSH.

File di segmento di replica su disco

Passaggio 2 - File di replica iniziale

Da HQbird 2018 R2, Reinizializza database replica crea una copia accanto al master, denominata come employee30.fdb.17-Apr-2018_142507.4replica. Oppure usa nbackup senza fermare il master.

Passaggio 3 - Server replica

Registra la replica in FBDataGuard dopo che ha un GUID di replica. L'impostazione richiesta è la cartella dei segmenti archiviati. Salva e riavvia Firebird. I valori predefiniti vengono importati da una cartella accanto alla replica; i segmenti elaborati vengono eliminati. Non mescolare archivi di database diversi in una cartella.

Impostazioni di base replica asincrona
Impostazioni dettagliate replica asincrona

Passaggi - replica sincrona

  1. Ferma Firebird.
  2. Copia il file master, passalo in modalità replica, copialo sul/i server replica.
  3. Configura il/i server replica in FBDataGuard.
  4. Avvia le repliche prima del master.
  5. Configura il master, poi avvia il master.

Più downtime rispetto all'asincrona: la replica deve essere online prima che il master si avvii. Esempio di replica remota: server replicaserver, percorso /data/test2.fdb. Sulla replica, gfix -replica {master-guid} è sufficiente oltre a quella copia.

Configurazione replica sincrona

Test su un sistema di produzione

Imposta disable_on_error su true così un errore di replica disattiva la replica e il master continua a servire. Re-inizializza da un log pulito dopo aver corretto l'errore. Abilita il job Log di replica in FBDataGuard per errori e avvisi.

disable_on_error true per test di replica
Job di monitoraggio log di replica in HQbird

Crea una copia di replica con nbackup

Funziona online per l'asincrona (e repliche extra) senza fermare il master. Oppure ferma Firebird e copia il file.

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 è l'id univoco del master da gstat -h. Se manca, connettiti una volta con i binari Firebird di HQbird ed esegui di nuovo gstat -h.

gstat -h che mostra il GUID del database
gfix disk:\path\mydatabase.fdb -replica {guid} -user SYSDBA -pass masterkey
gfix disk:\path\mydatabase.fdb -replica {} -user SYSDBA -pass masterkey

Le parentesi vuote {} riportano il file alla modalità normale (lettura-scrittura). Su una replica puoi eseguire lavoro in sola lettura (SELECT); non modificare dati o metadati.