MySQL için Azure veritabanı 'nda yüksek kullanılabilirlik-esnek sunucu önizlemesi

Uygulama hedefi: MySQL için Azure veritabanı-esnek sunucu

Önemli

MySQL için Azure veritabanı-esnek sunucu şu anda genel önizlemededir.

MySQL için Azure veritabanı-esnek sunucu önizlemesi, otomatik yük devretme ile yüksek kullanılabilirlik (HA) yapılandırmanıza olanak tanır. Yüksek kullanılabilirlik çözümü, yürütülen verilerin hatalar nedeniyle hiçbir şekilde kaybolmamasını ve veritabanının yazılım mimarinizdeki tek hata noktası olmamasını sağlamak üzere tasarlanmıştır. Yüksek kullanılabilirlik yapılandırıldığında, esnek sunucu bir bekleme çoğaltmasını otomatik olarak sağlar ve yönetir. Yüksek kullanılabilirlik için iki mimari modeli vardır:

  • Bölgesel olarak YEDEKLI ha. Bu seçenek, birden çok kullanılabilirlik bölgesindeki altyapının tamamen yalıtımı ve artıklığı için tercih edilir. En yüksek kullanılabilirlik düzeyini sağlar, ancak bölgeler arasında uygulama yedekliliği yapılandırmanızı gerektirir. Bölgesel olarak kullanılabilirlik alanındaki herhangi bir altyapı hatasına karşı en yüksek kullanılabilirlik düzeyine ulaşmak istediğinizde ve kullanılabilirlik alanı genelinde gecikme kabul edilebilir olduğunda bölge yedekli HA tercih edilir. Yalnızca sunucu oluşturulduğunda etkinleştirilebilir. bölgesel olarak yedekli HA, bölgenin birden çok kullanılabilirlik alanını desteklediği ve bölgesel olarak yedekli Premium dosya paylaşımlarının kullanılabildiği Azure bölgelerinin bir alt kümesinde bulunur.

  • Aynı bölge ha. Birincil ve hazır bekleyen sunucular aynı Kullanılabilirlik alanında olacağı için, bu seçenek daha düşük ağ gecikimiyle altyapı yedekliliği için tercih edilir. Bölgeler arasında uygulama yedekliliği yapılandırmaya gerek olmadan yüksek kullanılabilirlik sağlar. En düşük ağ gecikme süresi ile tek bir kullanılabilirlik alanında en yüksek kullanılabilirlik düzeyine ulaşmak istediğinizde aynı bölge HA tercih edilir. Aynı bölge HA, MySQL için Azure veritabanı-esnek sunucu kullanabileceğiniz tüm Azure bölgelerinde kullanılabilir.

Bölgesel olarak yedekli HA mimarisi

Bölgesel olarak yedekli HA ile bir sunucu dağıttığınızda iki sunucu oluşturulur:

  • Tek bir kullanılabilirlik bölgesindeki birincil sunucu
  • Aynı Azure bölgesindeki başka bir kullanılabilirlik alanında birincil sunucuyla aynı yapılandırmaya sahip olan bir yedek çoğaltma sunucusu (işlem katmanı, işlem boyutu, depolama boyutu ve ağ yapılandırması)

Birincil ve bekleme çoğaltması için kullanılabilirlik alanını seçebilirsiniz. Bekleme veritabanı sunucularının ve bekleme uygulamalarının aynı bölgeye yerleştirilmesi gecikmeyi azaltır. Ayrıca olağanüstü durum kurtarma durumları ve "bölge azaltma" senaryolarında daha iyi hazırlanmanıza de olanak tanır.

Bölgesel olarak yedekli yüksek kullanılabilirlik mimarisini gösteren diyagram.

Veri ve günlük dosyaları, bölgesel olarak yedekli depolama (ZRS)içinde barındırılır. Bu dosyalar, ZRS ile kullanılabilen depolama düzeyi çoğaltma aracılığıyla bekleme sunucusuna çoğaltılır. Yük devretme işlemi varsa:

  • Bekleme çoğaltması etkinleştirilir.
  • Birincil sunucunun ikili günlük dosyaları, bu uygulamayı, birincil üzerindeki son kaydedilen işleme çevrimiçi duruma getirmek için, bekleme sunucusuna uygulanmaya devam eder.

Birincil sunucu kullanılamadığında bile ZRS 'deki Günlükler erişilebilir. Bu kullanılabilirlik, veri kaybı olmamasını sağlamaya yardımcı olur. Bekleme çoğaltması etkinleştirildikten ve ikili Günlükler uygulandıktan sonra, geçerli yedek çoğaltma sunucusu birincil sunucunun rolünü alır. İstemci bağlantıları yeniden bağlandığında istemci bağlantılarının yeni birincil ağa yönlendirilmesi için DNS güncellenir. Yük devretme, istemci uygulamasından tamamen saydamdır ve sizin için herhangi bir eylem gerektirmez. Daha sonra HA çözümü, mümkün olduğunda eski birincil sunucuyu geri getirir ve bunu bekleme olarak koyar.

Veritabanı sunucusu adı, uygulamaları birincil sunucuya bağlamak için kullanılır. Bekleme çoğaltma bilgileri doğrudan erişim için gösterilmez. İşlemeler ve yazma işlemleri, günlük dosyaları birincil sunucunun ZRS 'de boşaltıldıktan sonra onaylanır. ZRS depolamada kullanılan eşitleme çoğaltma teknolojisi nedeniyle, uygulama yazmaları ve işlemeler için yüzde 5-10 artan gecikme süresini tahmin edebilirsiniz.

Otomatik yedeklemeler, hem anlık görüntüler hem de günlük yedeklemeleri, birincil veritabanı sunucusundan bölge yedekli depolama üzerinde gerçekleştirilir.

Aynı bölge HA mimarisi

Aynı bölge HA ile bir sunucu dağıttığınızda, aynı bölgede iki sunucu oluşturulur:

  • Birincil sunucu
  • Birincil sunucuyla aynı yapılandırmaya sahip bir yedek çoğaltma sunucusu (işlem katmanı, işlem boyutu, depolama boyutu ve ağ yapılandırması)

Bekleme sunucusu, ayrı bir sanal makine (işlem) ile altyapı artıklığı sağlar. Bu artıklık, birlikte bulundurma nedeniyle uygulama ile veritabanı sunucusu arasındaki yük devretme süresini ve ağ gecikmesini azaltır.

Aynı bölge yüksek kullanılabilirlik mimarisini gösteren diyagram.

Veri ve günlük dosyaları yerel olarak yedekli depolama (LRS)içinde barındırılır. Bu dosyalar, LRS ile kullanılabilen depolama düzeyi çoğaltma aracılığıyla bekleme sunucusuna çoğaltılır.

Yük devretme işlemi varsa:

  • Bekleme çoğaltması etkinleştirilir.
  • Birincil sunucunun ikili günlük dosyaları, bu uygulamayı, birincil üzerindeki son kaydedilen işleme çevrimiçi duruma getirmek için, bekleme sunucusuna uygulanmaya devam eder.

LRS 'deki günlüklere birincil sunucu kullanılamadığında bile erişilebilir. Bu kullanılabilirlik, veri kaybı olmamasını sağlamaya yardımcı olur. Bekleme çoğaltması etkinleştirildikten ve ikili Günlükler uygulandıktan sonra, geçerli bekleme çoğaltması birincil sunucu rolünü alır. DNS, istemci yeniden bağlandığında bağlantıları yeni birincil ağa yönlendirmek üzere güncelleştirilir. Yük devretme, istemci uygulamasından tamamen saydamdır ve sizin için herhangi bir eylem gerektirmez. Daha sonra HA çözümü, mümkün olduğunda eski birincil sunucuyu geri getirir ve bunu bekleme olarak koyar.

Veritabanı sunucusu adı, uygulamaları birincil sunucuya bağlamak için kullanılır. Bekleme çoğaltma bilgileri doğrudan erişim için gösterilmez. İşlemeler ve yazma işlemleri, günlük dosyaları birincil sunucunun LRS ' de boşaltıldıktan sonra onaylanır. Birincil ve yedek çoğaltma aynı bölgede olduğundan, uygulama sunucusu ve veritabanı sunucusu arasındaki çoğaltma gecikmesi ve daha düşük gecikme vardır. Aynı bölge kurulumu, bağımlı altyapılar belirli kullanılabilirlik alanı için kapalıysa yüksek kullanılabilirlik sağlamaz. Tüm bağımlı hizmetler söz konusu kullanılabilirlik alanı için yeniden çevrimiçi olana kadar kapalı kalma süresi olacaktır.

Otomatik yedeklemeler, hem anlık görüntüler hem de günlük yedeklemeleri, birincil veritabanı sunucusundan yerel olarak yedekli depolama üzerinde gerçekleştirilir.

Not

Hem bölgesel olarak yedekli hem de aynı bölge HA için:

  • Bir hata oluşursa, bekleme çoğaltmasının birincil rolünü ele geçirmesine yönelik süre, bekleme durumunda ikili günlük uygulamasına bağlıdır. Bu nedenle, yük devretme süresini azaltmak için tüm tablolarda birincil anahtarlar kullanmanızı öneririz. Yük devretme süreleri genellikle 60 ve 120 saniye arasındadır.
  • Bekleme sunucusu okuma veya yazma işlemleri için kullanılamaz. Hızlı yük devretmeyi etkinleştirmek için pasif bir bekleme.
  • Birincil sunucunuza bağlanmak için her zaman tam bir etki alanı adı (FQDN) kullanın. Bağlanmak için bir IP adresi kullanmaktan kaçının. Bir yük devretme işlemi varsa, birincil ve hazır sunucu rolleri değiştirildikten sonra bir DNS A kaydı değişebilir. Bu değişiklik, bağlantı dizesinde bir IP adresi kullanılıyorsa uygulamanın yeni birincil sunucuya bağlanmasını engeller.

Yük devretme işlemi

Planlanmış: zorlamalı yük devretme

MySQL için Azure veritabanı-esnek sunucu zorlamalı yük devretme, bir yük devretmeyi el ile zorlamanıza olanak sağlar. Bu özellik, işlevleri uygulama senaryolarınız ile test etmenize olanak sağlar ve kesintiler için hazırlık yapmanıza yardımcı olur.

Zorlamalı yük devretme, DNS kaydını güncelleştirerek, bekleme çoğaltmasını aynı veritabanı sunucusu adına sahip birincil sunucu olacak şekilde etkinleştiren bir yük devretmeyi tetikler. Özgün birincil sunucu yeniden başlatılır ve bekleme çoğaltmaya geçiş yapılır. İstemci bağlantılarının bağlantısı kesilir ve işlemleri sürdürülmek için yeniden bağlanması gerekir.

Genel yük devretme süresi geçerli iş yüküne ve son denetim noktasına bağlıdır. Genel olarak, 60 ve 120 saniye arasında bir işlem olması beklenir.

Planlanmamış: otomatik yük devretme

Planlanmamış hizmet kapalı kalma süresi, yazılım hatalarından veya işlem, ağ ya da depolama hataları gibi altyapı hatalarından veya veritabanının kullanılabilirliğini etkileyen güç kesintilerine neden olabilir. Veritabanı kullanılamaz hale gelirse, bekleyen çoğaltmaya çoğaltma bozulur ve bekleme çoğaltması birincil veritabanı olarak etkinleştirilir. DNS güncellenir ve istemciler veritabanı sunucusuna yeniden bağlanır ve işlemlerini sürdürür.

Genel yük devretme süresinin 60 ve 120 saniye arasında olması beklenir. Ancak, yük devretme sırasında (büyük işlemler ve kurtarma süresi gibi) birincil veritabanı sunucusundaki etkinliğe bağlı olarak, yük devretme daha uzun sürebilir.

Yüksek kullanılabilirlik için izleme

HA 'nizin sistem durumu sürekli olarak izlenir ve genel bakış sayfasında raporlanır. Çoğaltma durumları şunlardır:

Durum Açıklama
NotEnabled Bölgesel olarak yedekli HA etkin değil.
ReplicatingData Bekleme modu, oluşturulduktan sonra birincil sunucuyla birlikte bulunur.
Yük devretme Veritabanı sunucusu birincil bilgisayardan bekleme moduna yük devretme sürecinde.
Sağlam Bölgesel olarak yedekli HA kararlı bir durumda ve sağlıklı.
RemovingStandby Bir kullanıcı bekleme çoğaltmasını sildi ve silme işlemi sürüyor.

Sınırlamalar

Yüksek kullanılabilirlik kullandığınızda göz önünde bulundurmanız gereken bazı noktalar şunlardır:

  • Bölgesel olarak yedekli yüksek kullanılabilirlik yalnızca esnek sunucu oluşturulduğunda ayarlanabilir.
  • Yüksek kullanılabilirlik, Burstable işlem katmanında desteklenmez.
  • Statik parametre değişikliklerini almak üzere birincil veritabanı sunucusu yeniden başlatıldığında bekleyen çoğaltma da yeniden başlatılır.
  • Okuma çoğaltmaları, HA sunucuları için desteklenmez.
  • Gelen Verileri Çoğaltma, HA sunucuları için desteklenmez.
  • HA çözümü GTıD kullandığından, GTıD modu açılır. İş yükünüzün, Gtıds ile çoğaltma için kısıtlamalar veya sınırlamalariçerip içermediğini denetleyin.

Sık sorulan sorular (SSS)

Bekleme çoğaltmasını okuma veya yazma işlemleri için kullanabilir miyim?
Bekleme sunucusu okuma veya yazma işlemleri için kullanılamaz. Hızlı yük devretmeyi etkinleştirmek için pasif bir bekleme.
Yük devretme işlemi gerçekleştiğinde veri kaybına neden olacak mı?
Birincil sunucu kullanılamadığında bile ZRS 'deki Günlükler erişilebilir. Bu kullanılabilirlik, veri kaybı olmamasını sağlamaya yardımcı olur. Bekleme çoğaltması etkinleştirildikten ve ikili Günlükler uygulandıktan sonra birincil sunucu rolünü alır.
Yük devretmeden sonra herhangi bir eylemde olması gerekir mi?
Yük devretme işlemleri istemci uygulamasından tamamen şeffaftır. Herhangi bir işlem yapmanız gerekmez. Uygulamalar, bağlantıları için yalnızca yeniden deneme mantığını kullanmalıdır.
Bekleme çoğaltmam için belirli bir bölgeyi seçdiğimde ne olur? Bölgeyi daha sonra değiştirebilir miyim?
Bölge seçmediyseniz, bir tane rastgele seçilir. Bu, birincil sunucu için kullanılan bir olmayacaktır. Bölgeyi daha sonra değiştirmek için yüksek kullanılabilirlik bölmesinde devre dışı olarak izin verebilir ' i ayarlayabilir ve ardından bölge yedekli olarak geri ayarlayabilir ve bir bölge seçebilirsiniz.
Birincil ve hazır bekleyen çoğaltmalar arasında çoğaltma zaman uyumlu mı?
Birincil ve bekleme arasındaki çoğaltma, MySQL 'deki yarı zaman uyumlu moda benzerdir. Bir işlem tamamlandığında, bekleme konumuna işleme gerekmez. Ancak birincil kullanılabilir olmadığında, bekleme, veri kaybı olmadığından emin olmak için tüm veri değişikliklerini birincili çoğaltarak çoğaltır.
Tüm plansız hatalarda bekleyen çoğaltmaya yük devretme var mı?
Bir veritabanı kilitlenmesi veya düğüm arızası varsa, esnek sunucu sanal makinesi aynı düğümde yeniden başlatılır. Aynı zamanda otomatik yük devretme tetiklenir. Yük devretme tamamlanmadan önce esnek sunucu VM yeniden başlatması başarılı olursa, yük devretme işlemi iptal edilir. Birincil çoğaltma olarak hangi sunucunun kullanılacağını belirleme, ilk olarak sona erme işlemine bağlıdır.
HA 'yi kullandığım sırada bir performans etkisi var mı?
Bölgesel olarak yedekli HA için, uygulama, ağ gecikmesi görece daha yüksek (2-4 ms) olduğu kullanılabilirlik bölgelerinde veritabanı sunucusuna bağlanıyorsa gecikme süresi boyunca yüzde 5-10 olabilir. Aynı bölge HA için, birincil ve hazır bekleyen çoğaltma aynı bölgede olduğundan çoğaltma gecikmesi düşüktür. Aynı Azure kullanılabilirlik bölgesinde olduklarında, uygulama sunucusu ve veritabanı sunucusu arasında daha az gecikme vardır.
HA sunucum bakımı nasıl gerçekleşir?
İşlem ve alt sürüm yükseltmelerinin ölçeklendirilmesi gibi planlı olaylar, birincil ve bekleme durumunda aynı anda gerçekleşir. HA sunucuları için zamanlanmış bakım penceresini , esnek sunucular için yaptığınız gibi ayarlayabilirsiniz. HA devre dışı bırakıldığında, kapalı kalma süresi, MySQL için Azure veritabanı esnek sunucusu için kapalı kalma süresiyle aynı olacaktır. HA sunucuları için kapalı kalma süresini azaltmak için yük devretme mekanizmasını kullanmak Yol haritamız üzerinde ve yakında kullanıma sunulacaktır.
HA sunucum için bir noktadan noktaya geri yükleme (ıNR) yapabilir miyim?
Bir MySQL için Azure veritabanı esnek sunucu için bir INR 'YI, ha devre dışı olan MySQL için yeni bir Azure veritabanı esnek sunucusuna ekleyebilirsiniz. Kaynak sunucu, bölgesel olarak yedekli HA ile oluşturulduysa, daha sonra geri yüklenen sunucuda, bölgesel olarak yedekli HA veya aynı bölge HA 'yi etkinleştirebilirsiniz. Kaynak sunucu aynı bölge HA ile oluşturulduysa, geri yüklenen sunucuda yalnızca aynı bölge HA 'yi etkinleştirebilirsiniz.
Sunucuyu oluşturduktan sonra bir sunucuda HA 'yi etkinleştirebilir miyim?
Sunucu oluşturulduğunda bölge yedekli HA 'nin etkinleştirilmesi gerekir. Sunucuyu oluşturduktan sonra aynı bölge HA 'yi etkinleştirebilirsiniz. Aynı bölge HA 'yi etkinleştirmeden önce, enforce_gtid_consistency "ve " gtid_mode " sunucu parametrelerinin açık olarak ayarlandığından emin olun
Bunu oluşturduktan sonra bir sunucu için HA 'yi devre dışı bırakabilir miyim?
Bir sunucu oluşturduktan sonra bir sunucuda HA 'yi devre dışı bırakabilirsiniz. Faturalandırma hemen sona erer.
Kapalı kalma süresini nasıl azaltabilirim?
HA kullanmadığınız durumlarda bile uygulamanız için kapalı kalma süresini azaltmanız gerekir. Zamanlanan düzeltme ekleri, ikincil sürüm yükseltmeleri veya işlem ölçekleme gibi müşteri tarafından başlatılan işlemler gibi hizmet kapalı kalma süresi, zamanlanmış bakım pencereleri sırasında gerçekleştirilebilir. Azure tarafından başlatılan bakım görevlerinde uygulama etkisini azaltmak için bunları, uygulama üzerindeki etkiyi en aza indiren bir gün ve zaman zamanlayabilirsiniz.
HA özellikli bir sunucu için okuma çoğaltması kullanabilir miyim?
Okuma çoğaltmaları, HA sunucuları için desteklenmez. Bu özellik yol haritasında bulunur ve yakında kullanıma hazır hale getirmek için çalışıyoruz.
HA sunucuları için Gelen Verileri Çoğaltma kullanabilir miyim?
Gelen Verileri Çoğaltma, HA sunucuları için desteklenmez. Ancak HA sunucuları için Gelen Verileri Çoğaltma yol haritasında bulunur ve yakında kullanıma sunulacaktır. Şimdilik, geçiş için Gelen Verileri Çoğaltma kullanmak istiyorsanız, aşağıdaki adımları izleyebilirsiniz:

  1. Bölgesel olarak yedekli HA etkin sunucu oluşturun.
  2. HA 'yi devre dışı bırakın.
  3. Gelen verileri çoğaltma ayarlamaadımlarını doldurun. ( gtid_mode Kaynak ve hedef sunucularda aynı ayara sahip olduğunuzdan emin olun.)
  4. Cucılar sonrası Gelen Verileri Çoğaltma yapılandırmayı kaldırır.
  5. HA 'yi etkinleştirin.

Kapalı kalma süresini azaltmak için sunucu yeniden başlatıldığında veya ölçeği büyütme veya küçültme sırasında bekleme sunucusuna yük devreder miyim?
Şu anda, bir ölçek artırma veya azaltma işlemi gerçekleştirdiğinizde, bekleme ve birincil bir kez aynı anda ölçeklendirilir. Yük devretmek yardımcı olmaz. Önce bekleme durumuna göre ölçeklendirmeye, ardından yük devretmeye ve sonra birincil öğesinin ölçeğini yol haritasında, ancak henüz desteklenmiyor.

Sunucunun kullanılabilirlik modunu (bölgesel olarak yedekli HA/aynı bölge) değiştirebilir
Sunucuyu bölgesel olarak yedekli HA modu etkin olarak oluşturursanız, bölgesel olarak yedekli HA 'dan aynı bölgeye ve tam tersi yönde geçiş yapabilirsiniz. Kullanılabilirlik modunu değiştirmek için yüksek kullanılabilirlik bölmesinde devre dışı olarak yüksek kullanılabilirlik ayarlayabilir ve ardından bunu bölgeye yedekli veya aynı bölgeye geri ayarlayabilir ve yüksek kullanılabilirlik modunu seçebilirsiniz.

Sonraki adımlar