Çoğaltma başarısız oldu; nasıl devam edilir?


10

Ben Ubuntu üzerinde Postgres 9.1.6 çalıştırıyorum ve bir master ve slave arasında akış çoğaltma kurulumu var. Veritabanı çökünceye kadar her şey sorunsuz çalışıyor ve her iki kutuyu da yeniden başlatmamız gerekiyordu.

Şimdi, çoğaltma durdu ve her iki kutudaki günlükleri denetlerken, şu iletiyi görüyorum:

CDT FATAL: istenen WAL segmenti 0000000100000224000000FA zaten kaldırılmış

Aynı segment tekrar tekrar. Google'ımdan, çoğaltma sunucusunun bu segmenti master'den almaya çalışıyor gibi görünüyor, ancak artık orada değil. Tamam, ama bunu nasıl halledebilirim? Köle yeni bir yedekleme ve rsync yapmak gerekir? Köleyi tekrar senkronize etmenin kolay bir yolu var mı?

Yanıtlar:


7

Evet, slave'e master'ın yeni bir temel yedeğini vermelisiniz (çoğaltma sadece 1-4.

Wal_keep_segments'ın değeri düşük olduğu için muhtemelen sorununuz oluştu. Değer, köle bir süre kapalı kaldığında kaptanın henüz işlemediği bölümleri geri dönüştürmeye başlamayacak kadar yüksek olmalıdır.


1

Slave'i akış modunda birincil ana bilgisayara bağlamadan önce lütfen gerekli WAL'lerin ilk geri yükleme için geri yüklediğiniz konumda olduğunu doğrulayın.

Sorun, ilk kurtarma için geri yüklediğiniz konumda bir WAL segment doe sümük var olduğunda oluşabilir.

Bu durumda her şey yolundaysa, restore_komutunu kontrol etmelisiniz recovery.conf.


0

başka bir iş birincil wal backup_push yapmak ve hemen bekleme köle bir backip_fetch yapmak ve bekleme başlatmaktır.


2
Lütfen bu işlemin neden işe yaradığını genişletin
RolandoMySQLDBA
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.