Ова страница је машински преведена. Прочитајте енглески оригинал. English

Изворна master-slave репликација у HQbird Enterprise: DML и DDL, без тригера, јединствени или примарни кључеви на реплицираним табелама. 100% компатибилно са Firebird 2.5-5.0 - промените бинарне датотеке без backup/restore. Једна лиценца покрива један master и једну реплику; додатне реплике се продају посебно.

Асинхроно наспрам синхроног

Асинхроно је обично прави избор за продукцију.

Асинхроно (препоручено)

Master бележи потврђене измене у сегментне датотеке; реплике их повлаче и примењују у позадини. Подразумевано испирање је 90 секунди (често се поставља на 15-30). Реплика се може поново креирати на мрежи; није потребно заустављање master-а за почетак. Погодно за облак или линкове са високим кашњењем. Кашњење може да расте под великим оптерећењем.

Синхроно

Master уписује потврђене измене директно на реплику(е). Кашњење ~1-2 секунде; потребна је стабилна ~1 Gbps путања. Реплика је само за читање (са напоменама). Поновно креирање реплике захтева заустављање master-а. Користите за прилагођени failover (3+ чвора), преусмеравање читања или у комбинацији са асинхроним.

Асинхрона Firebird репликација: сегменти журнала од master-а до реплике
Асинхроно: сегменти на диску, примењују се у позадини.
Синхрона Firebird репликација: master уписује директно на реплику
Синхроно: групе при потврди преко живе везе.

Инсталација

Инсталирајте HQbird Server са Firebird-ом на master-у и реплици. Windows: HQbirdServer2024.exe (2.5-5.0). Административни алати су опциони за репликацију. Linux: водич за инсталацију. Региструјте се са пробном или пуном лиценцом. Кориснички водич §2 покрива подешавање сервера.

Firebird 2.5: HQbird инсталира SuperClassic. Ако заглавље базе података има велики број page-buffer-а, перформансе могу да пате. Поставите buffere на 0 тако да firebird.conf има предност:

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

Кораци - асинхрона репликација

  1. Конфигуришите базу података као master.
  2. Креирајте датотеку реплике (nbackup или „Reinitialize replica database“).
  3. Конфигуришите сервер реплике.

Корак 1 - Master

Отворите http://127.0.0.1:8082 (порт је подесив). Пријавите се са admin / јаком лозинком. Потврдите да Active server widget приказује Firebird 2.5/3.0/4.0/5.0 HQbird.

HQbird конзола спремна да дода базу података за репликацију

Додајте базу података: надимак плус путања до датотеке, не алијас - алијаси се не реплицирају.

Дијалог за додавање базе података са експлицитном путањом до датотеке

Отворите репликацију преко иконе заглавља базе података. Изаберите MasterАсинхроно → Сачувај. Поново покрените Firebird (или све Classic везе) да би се параметри учитали при првом повезивању.

Основна асинхрона master репликациона подешавања
Основно master подешавање.
Пуни асинхрони master репликациони параметри
Више >> - подразумеване вредности су добре на чистој инсталацији.
  • Log directory - оперативни сегменти, подразумевано ${db.default-directory}\ReplicationLog. Управља га мотор; оставите га.
  • Log archive directory - архивирани сегменти, подразумевано ${db.path}.LogArch поред базе података.
  • Override log archive command - оставите празно.
  • Force flush committed data - подразумевано 90 секунди.

Требало би да видите ротирајуће датотеке у директоријуму за евиденцију одмах након уписа, а затим архивиране сегменте након потврде/истека времена. Не дирајте оперативне сегменте. Копирање архива на реплику: мрежна дељена фасцикла или FTP/SSH.

Датотеке репликационих сегмената на диску

Корак 2 - Почетна датотека реплике

Од HQbird 2018 R2, Reinitialize replica database гради копију поред master-а, названу као employee30.fdb.17-Apr-2018_142507.4replica. Или користите nbackup без заустављања master-а.

Корак 3 - Сервер реплике

Региструјте реплику у FBDataGuard-у након што добије replica GUID. Потребно подешавање је фасцикла архивираних сегмената. Сачувајте и поново покрените Firebird. Подразумеване вредности се увозе из фасцикле поред реплике; обрађени сегменти се бришу. Немојте мешати архиве из различитих база података у једној фасцикли.

Основна асинхрона репликациона подешавања
Детаљна подешавања асинхроне реплике

Кораци - синхрона репликација

  1. Зауставите Firebird.
  2. Копирајте главну датотеку, пребаците је у режим реплике, копирајте на сервер(е) реплике.
  3. Подесите сервер(е) реплике у FBDataGuard-у.
  4. Покрените реплике пре главног сервера.
  5. Подесите главни сервер, затим покрените главни сервер.

Више застоја него код асинхроне: реплика мора бити онлајн пре него што главни сервер почне. Пример удаљене реплике: сервер replicaserver, путања /data/test2.fdb. На реплици је gfix -replica {master-guid} довољно осим те копије.

Конфигурација синхроне репликације

Тестирање на продукционом систему

Подесите disable_on_error на true тако да грешка репликације искључи репликацију, а главни сервер настави да ради. Поново иницијализујте из чистог дневника након што поправите грешку. Омогућите задатак Replication log у FBDataGuard-у за грешке и упозорења.

disable_on_error true за тестирање репликације
Задатак праћења дневника репликације у HQbird-у

Направите копију реплике помоћу nbackup-а

Ради онлајн за асинхрону (и додатне реплике) без заустављања главног сервера. Или зауставите Firebird и копирајте датотеку.

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 је јединствени идентификатор главног сервера из gstat -h. Ако недостаје, повежите се једном помоћу HQbird-ових Firebird бинарних датотека и поново покрените gstat -h.

gstat -h приказује Database GUID
gfix disk:\path\mydatabase.fdb -replica {guid} -user SYSDBA -pass masterkey
gfix disk:\path\mydatabase.fdb -replica {} -user SYSDBA -pass masterkey

Празно {} враћа датотеку у нормалан (читај-пиши) режим. На реплици можете обављати само операције читања (SELECT); немојте мењати податке или метаподатке.