Aracılığıyla paylaş


Azure Veritabanı için PostgreSQL'de okuma replikalarını terfi ettirme

Yükseltme, çoğaltma modunu sonlandırmak ve tam okuma-yazma işlemlerine geçmek için bir çoğaltmanın komutlandırıldığı işlemi ifade eder.

Önemli

Yükseltme işlemi otomatik değildir. Birincil sunucuda bir hata oluşursa, sistem okuma amaçlı çoğaltmaya bağımsız olarak geçiş yapmaz. Yükseltme işlemi için her zaman bir kullanıcı eylemi gerekir.

Çoğaltmaların yükseltilmesi iki farklı şekilde yapılabilir:

Birincil sunucuya yükseltme

Bu eylem, bir çoğaltmayı birincil sunucunun rolüne yükseltir. İşlemde, geçerli birincil sunucu bir çoğaltma rolüne indirgenerek rollerini değiştirir. Başarılı bir yükseltme için hem yazar uç noktası olarak geçerli birincil hem de okuyucu uç noktası olarak yükseltme amaçlı çoğaltma için yapılandırılmış bir sanal uç nokta olması gerekir. Yükseltme yalnızca hedeflenen çoğaltma okuyucu uç noktası yapılandırmasına dahil edilirse başarılı olur.

Diyagramda, yükseltmeden önce sunucuların yapılandırması ve yükseltme işlemi başarıyla tamamlandıktan sonra elde edilen durum gösterilir.

Birincil sunucu işlemine yükseltmeyi gösteren diyagram.

Bağımsız sunucuya yükseltme ve çoğaltmadan kaldırma

Bu seçeneği belirlediğinizde, çoğaltma bağımsız bir sunucu olacak şekilde yükseltilir ve çoğaltma işleminden kaldırılır. Sonuç olarak, hem birincil hem de yükseltilen sunucu iki bağımsız okuma-yazma sunucusu olarak çalışır. Sanal uç noktaların yapılandırılabilmesine rağmen, bu işlem için gerekli olmadığı belirtilmelidir. Yeni yükseltilen sunucu, okuyucu uç noktası daha önce ona işaret ediyor olsa bile artık mevcut sanal uç noktaların bir parçası değildir. Bu nedenle, uygulamanın bağlanması gerekiyorsa yeni yükseltilen çoğaltmaya yönlendirmek için uygulamanızın bağlantı dizesi güncelleştirmek önemlidir.

Diyagram, sunucuların yükseltilmeden önce nasıl ayarlandığını ve başarıyla bağımsız sunucular olduktan sonra yapılandırmalarını gösterir.

Bağımsız sunucuya yükseltmeyi ve çoğaltma işleminden kaldırmayı gösteren diyagram.

Önemli

Bağımsız sunucuya yükselt ve çoğaltmadan kaldır eylemi önceki yükseltme işleviyle geriye dönük olarak uyumludur.

Önemli

Sunucu Simetrisi: Birincil sunucuya yükseltme işlemini kullanarak başarılı bir yükseltme için hem birincil hem de çoğaltma sunucularının aynı katmanlara ve depolama boyutlarına sahip olması gerekir. Örneğin, birincilde 2vCore ve çoğaltmada 4vCore varsa, tek uygun seçenek "bağımsız sunucuya yükselt ve çoğaltmadan kaldır" eylemini kullanmaktır. Ayrıca, paylaşılan belleği ayıran sunucu parametreleri için aynı değerleri paylaşmaları gerekir.

Her iki yükseltme yöntemi için de göz önünde bulundurulacak daha fazla seçenek vardır:

  • Planlı: Bu seçenek, yükseltmeden önce verilerin eşitlenmesini sağlar. İstemci bağlantılarını kabul etmeden önce veri tutarlılığını sağlamak için bekleyen tüm günlükleri uygular.

  • Zorunlu: Bu seçenek, bölgesel kesintiler gibi senaryolarda hızlı kurtarma için tasarlanmıştır. Sunucu, birincil verilerden tüm verileri eşitlemeyi beklemek yerine, en yakın tutarlı duruma ulaşmak için gereken WAL dosyalarını işlediğinde çalışır duruma gelir. Bu seçeneği kullanarak çoğaltmayı yükseltiyorsanız, çoğaltmanın birincilden bağlantısını kaldırdığınız zamandaki gecikme ne kadar verinin kaybolduğunu gösterir.

Önemli

Zorlamalı yükseltme seçeneği bölgesel kesintileri gidermek için tasarlanmıştır ve bu gibi durumlarda sunucu simetri gereksinimi de dahil olmak üzere tüm denetimleri atlar ve yükseltmeye devam eder. Bunun nedeni olağanüstü durum senaryolarını işlemek için sunucu kullanılabilirliğinin önceliğini belirlemesidir. Ancak belgelerde belirtilen okuma amaçlı çoğaltmaların gereksinimleri, özellikle de sunucu simetri gereksinimi karşılanmadıysa, bölge dışında zorlamalı seçeneğinin kullanılmasına izin verilmez, çünkü bozuk çoğaltma gibi sorunlara yol açabilir.

Okuma amaçlı çoğaltmayı birincil çoğaltmaya geçiripbağımsız sunucuya yükseltmeyi ve çoğaltmadan kaldırmayı öğrenin.

Yapılandırma yönetimi

Okuma amaçlı çoğaltmalar, denetim düzlemi yapılandırmaları açısından ayrı sunucular olarak kabul edilir. Bu yaklaşım okuma ölçek senaryoları için esneklik sağlar. Ancak, olağanüstü durum kurtarma amacıyla çoğaltmaları kullanırken kullanıcıların yapılandırmanın istenen şekilde yapıldığından emin olması gerekir.

Yükseltme işlemi belirli yapılandırmaları ve parametreleri taşımaz. Dikkat çekenlerden bazıları şunlardır:

  • PgBouncer: Yerleşik PgBouncer bağlantı havuzu oluşturucunun ayarları ve durumu yükseltme işlemi sırasında çoğaltılamaz. PgBouncer birincil sunucuda etkinleştirildiyse ancak çoğaltmada etkinleştirilmediyse, yükseltmeden sonra çoğaltmada devre dışı kalır. PgBouncer'ı yeni yükseltilen sunucuda istiyorsanız yükseltme eyleminden önce veya sonra etkinleştirmeniz gerekir.
  • Coğrafi olarak yedekli yedekleme depolama alanı: Coğrafi yedekleme ayarları aktarılamaz. Çoğaltmalarda coğrafi yedekleme etkinleştirilenebileceğinden, yükseltilen birincil (eski adıyla çoğaltma) yükseltmeden sonra sahip olmaz. Özellik yalnızca standart sunucunun oluşturma zamanında etkinleştirilebilir (çoğaltma değil).
  • Sunucu Parametreleri: Değerleri birincil ve okuma amaçlı çoğaltmada farklıysa yükseltme sırasında değişmez. Paylaşılan bellek boyutunu etkileyen parametrelerin hem birincil hem de çoğaltmalarda aynı değerlere sahip olması gerektiğini unutmayın. Bu gereksinim Sunucu parametreleri bölümünde ayrıntılı olarak anlatılır.
  • Microsoft Entra kimlik doğrulaması: Birincilde Microsoft Entra kimlik doğrulaması yapılandırılmışsa, ancak çoğaltma PostgreSQL kimlik doğrulaması ile ayarlandıysa, yükseltmeden sonra çoğaltma otomatik olarak Microsoft Entra kimlik doğrulamasına geçiş yapmaz. PostgreSQL kimlik doğrulamasını korur. Kullanıcıların yükseltme işleminden önce veya sonra yükseltilen çoğaltmada Microsoft Entra kimlik doğrulamasını el ile yapılandırmaları gerekir.
  • Yüksek Kullanılabilirlik (HA): Yükseltmeden sonra [HA]/azure/reliability/reliability-postgresql-flexible-server gerekirse, rolün ters çevrilmesi sonrasında yeni yükseltilen birincil sunucuda yapılandırılmalıdır.

Değerlendirmeler

Yükseltme sırasında sunucu durumları

Hem Planlı hem de Zorunlu yükseltme senaryolarında sunucuların (hem birincil hem de çoğaltma) "Hazır" durumda olması gerekir. Sunucunun durumu "Hazır"dan başka bir durumsa (örneğin "Güncelleştirme" veya "Yeniden Başlatma"), promosyon genellikle sorunsuz ilerleyemez. Ancak bölgesel kesintiler söz konusu olduğunda bir istisna yapılır.

Bu tür bölgesel kesintiler sırasında, birincil sunucunun geçerli durumundan bağımsız olarak Zorlamalı yükseltme yöntemi uygulanabilir. Bu yaklaşım, olası bölgesel olağanüstü durumlara yanıt olarak sunucu kullanılabilirliğiyle ilgili normal denetimleri atlayarak hızlı eyleme olanak tanır.

Eski birincil sunucu, çoğaltmasının yükseltilmesi sırasında kurtarmanın ötesinde başarısız olursa, tek seçenek eski birincil sunucuyu silmek ve çoğaltma sunucusunu yeniden oluşturmaktır.

Istenmeyen bölgelerde yükseltme sırasında birden çok çoğaltma görünürlüğü

Birden çok çoğaltmayla ilgilenirken ve birincil bölgede eşleştirilmiş bölge yoksa, dikkate alınması gereken özel bir nokta vardır. Birincili etkileyen bölgesel bir kesinti oluşursa, diğer çoğaltmalar yeni yükseltilen çoğaltma tarafından otomatik olarak tanınmaz. Uygulamalar devam eden işlem için yükseltilen çoğaltmaya yönlendirilse de, kesinti sırasında tanınmayan çoğaltmaların bağlantısı kesilir. Bu ek çoğaltmalar yalnızca özgün birincil bölge geri yüklendikten sonra rollerini yeniden ilişkilendirip sürdürür.

Yükseltme sırasında Belirli Bir Noktaya Geri Yükleme

Hem Planlı hem de Zorlamalı yükseltme senaryolarında, PITR işlemlerinin başarılı olmasını sağlamak için en son otomatik yedeklemelerin kullanılabilir olması gerekir. PITR işleminin yük devretme ve yeniden çalışma işlemlerinden sonra aşağıdaki hatayla karşılaşması sorununun farkındayız. Bu sorun, gelecek bir sürümde çözülecek şekilde zamanlanmıştır. PITR işlemlerinin en son zamana kadar başarılı olmasını sağlamak için yükseltme işleminden sonra otomatik yedeklemenin tamamlanmasını bekleyebilirsiniz.

Error : Point-in-time-restore of server to the period when the siteswap operation for this server was in-progress or when the server was replica is not allowed.

Sıkça sorulan sorular

  • Birincil sunucumda yüksek kullanılabilirlik (HA) etkinleştirilmişse çoğaltmayı yükseltebilir miyim?

    Evet, birincil sunucunuz HA etkin olsa da olmasa da okuma amaçlı çoğaltmasını yükseltebilirsiniz. Okuma amaçlı çoğaltmayı birincil sunucuya yükseltme özelliği, birincil sunucunun HA yapılandırmasından bağımsızdır.

  • HA özellikli birincil ve okuma amaçlı bir çoğaltmam varsa ve çoğaltmayı yükseltirsem, özgün birincile geri dönersem, sunucu hala HA'da olacak mı?

    Hayır, HA özellikli okuma amaçlı çoğaltmaları desteklemediğimiz için ilk yükseltme sırasında HA'yı devre dışı bırakırız. Okuma amaçlı çoğaltmayı birincil çoğaltmaya yükseltme, özgün birincilin rolünü bir çoğaltma olarak değiştirdiğini gösterir. Geri dönüyorsanız, özgün birincil sunucunuzda HA'yı etkinleştirmeniz gerekir.