Bu sayfa makine çevirisidir. İngilizce orijinalini okuyun. English

Yerel master-slave çoğaltma HQbird Enterprise içinde: DML ve DDL, tetikleyicisiz, çoğaltılan tablolarda benzersiz veya birincil anahtarlar. %100 Firebird 2.5-5.0 uyumlu - yedekleme/geri yükleme olmadan ikili dosyaları değiştirin. Bir lisans bir master ve bir replika kapsar; ek replikalar ayrıca satılır.

Asenkron vs senkron

Async genellikle üretim için doğru seçimdir.

Asenkron (önerilen)

Master, işlenen değişiklikleri segment dosyalarına kaydeder; replikalar bunları arka planda çeker ve uygular. Varsayılan flush süresi 90 saniyedir (genellikle 15-30 olarak ayarlanır). Replika çevrimiçi olarak yeniden oluşturulabilir; başlamak için master durdurulmaz. Bulut veya yüksek gecikmeli bağlantılar için uygundur. Ağır yük altında gecikme artabilir.

Senkron

Master, işlenen değişiklikleri doğrudan replika(lar)a yazar. Gecikme ~1-2 saniye; istikrarlı ~1 Gbps yol gerektirir. Replika salt okunurdur (bazı uyarılarla). Bir replikayı yeniden oluşturmak master'ın durdurulmasını gerektirir. Özel failover (3+ düğüm), okuma yükünü dengeleme veya async ile karışık kullanım için uygundur.

Asenkron Firebird çoğaltma: master'dan replikaya günlük segmentleri
Async: diskteki segmentler, arka planda uygulanır.
Senkron Firebird çoğaltma: master doğrudan replikaya yazar
Sync: canlı bağlantı üzerinden commit'te gruplar.

Kurulum

Master ve replikaya Firebird ile HQbird Server kurun. Windows: HQbirdServer2024.exe (2.5-5.0). Yönetim araçları çoğaltma için isteğe bağlıdır. Linux: kurulum rehberi. Deneme veya tam lisansla kaydolun. Kullanıcı Rehberi §2 sunucu kurulumunu kapsar.

Firebird 2.5: HQbird SuperClassic kurar. Veritabanı başlığında büyük bir sayfa arabelleği sayısı varsa performans düşebilir. firebird.conf'un kazanması için arabellekleri 0 olarak ayarlayın:

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

Adımlar - asenkron çoğaltma

  1. Veritabanını master olarak yapılandırın.
  2. Bir replika dosyası oluşturun (nbackup veya "Replika veritabanını yeniden başlat").
  3. Replika sunucusunu yapılandırın.

Adım 1 - Master

http://127.0.0.1:8082 adresini açın (port yapılandırılabilir). admin / güçlü şifre ile giriş yapın. Aktif sunucu widget'ının Firebird 2.5/3.0/4.0/5.0 HQbird gösterdiğini doğrulayın.

HQbird konsolu çoğaltma için veritabanı eklemeye hazır

Veritabanı ekleyin: takma ad artı dosya yolu, takma ad değil - takma adlar çoğaltılmaz.

Açık dosya yolu ile veritabanı ekleme iletişim kutusu

Veritabanı başlık simgesinden çoğaltmayı açın. MasterAsenkron → Kaydet'i seçin. Parametrelerin ilk bağlantıda yüklenmesi için Firebird'ü (veya tüm Classic bağlantılarını) yeniden başlatın.

Temel async master çoğaltma ayarları
Temel master kurulumu.
Tam async master çoğaltma parametreleri
Daha Fazla >> - temiz kurulumda varsayılanlar yeterlidir.
  • Günlük dizini - operasyonel segmentler, varsayılan ${db.default-directory}\ReplicationLog. Motor tarafından yönetilir; olduğu gibi bırakın.
  • Günlük arşiv dizini - arşivlenmiş segmentler, varsayılan veritabanının yanında ${db.path}.LogArch.
  • Günlük arşiv komutunu geçersiz kıl - boş bırakın.
  • İşlenen verileri zorla flush et - varsayılan 90 saniye.

Yazma işlemlerinden hemen sonra günlük dizininde dönen dosyalar görmelisiniz, ardından commit/zaman aşımından sonra arşivlenmiş segmentler. Operasyonel segmentlere dokunmayın. Arşivleri replikaya kopyalama: ağ paylaşımı veya FTP/SSH.

Diskteki çoğaltma segment dosyaları

Adım 2 - İlk replika dosyası

HQbird 2018 R2'den itibaren, Replika veritabanını yeniden başlat master'ın yanında employee30.fdb.17-Apr-2018_142507.4replica gibi adlandırılmış bir kopya oluşturur. Veya master'ı durdurmadan nbackup kullanın.

Adım 3 - Replika sunucusu

Replikayı FBDataGuard'a replika GUID'i olduktan sonra kaydedin. Gerekli ayar, arşivlenmiş segmentlerin klasörüdür. Kaydedin ve Firebird'ü yeniden başlatın. Varsayılanlar replikanın yanındaki bir klasörden içe aktarılır; işlenen segmentler silinir. Farklı veritabanlarından arşivleri aynı klasörde karıştırmayın.

Temel async replika ayarları
Ayrıntılı async replika ayarları

Adımlar - senkron çoğaltma

  1. Firebird'ü durdurun.
  2. Master dosyasını kopyalayın, replika moduna geçirin, replika sunucusuna/sunucularına kopyalayın.
  3. Replika sunucusunu/sunucularını FBDataGuard'da yapılandırın.
  4. Master'dan önce replika(lar)ı başlatın.
  5. Master'ı yapılandırın, ardından master'ı başlatın.

Async'den daha fazla kesinti süresi: replika, master başlamadan önce çevrimiçi olmalıdır. Örnek uzak replika: sunucu replicaserver, yol /data/test2.fdb. Replikada, bu kopyanın yanında gfix -replica {master-guid} yeterlidir.

Senkron çoğaltma yapılandırması

Üretim sisteminde test etme

Bir çoğaltma hatasının çoğaltmayı kapatması ve master'ın hizmet vermeye devam etmesi için disable_on_error değerini true olarak ayarlayın. Hatayı düzelttikten sonra temiz bir günlükten yeniden başlatın. Hatalar ve uyarılar için FBDataGuard'da Çoğaltma günlüğü işini etkinleştirin.

Çoğaltma testi için disable_on_error true
HQbird'de çoğaltma günlüğü izleme işi

nbackup ile replika kopyası oluşturma

Async (ve ek replikalar) için master'ı durdurmadan çevrimiçi çalışır. Veya Firebird'ü durdurup dosyayı kopyalayın.

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 çıktısındaki master'ın benzersiz kimliğidir. Eksikse, HQbird'ün Firebird ikili dosyalarıyla bir kez bağlanın ve gstat -h komutunu tekrar çalıştırın.

Veritabanı GUID'ini gösteren gstat -h
gfix disk:\path\mydatabase.fdb -replica {guid} -user SYSDBA -pass masterkey
gfix disk:\path\mydatabase.fdb -replica {} -user SYSDBA -pass masterkey

Boş {} dosyayı normal (okuma-yazma) moduna döndürür. Bir replikada salt okunur işler (SELECT) yapabilirsiniz; verileri veya meta verileri değiştirmeyin.