Azure SQL Yönetilen Örneği için yüksek kullanılabilirlik

Şunlar için geçerlidir:Azure SQL Yönetilen Örneği

Bu makalede Azure SQL Yönetilen Örneği'da yüksek kullanılabilirlik açıklanmaktadır.

Önemli

Alanlar arası yedekli yapılandırma, Genel Amaçlı hizmet katmanı için genel önizleme aşamasındadır ve genel olarak İş Açısından Kritik hizmet katmanı için kullanılabilir.

Genel bakış

Azure SQL Yönetilen Örneği yüksek kullanılabilirlik mimarisinin amacı, kısa bir kapalı kalma süresi, hizmet bakım işlemleri ve planlanmamış kesintilerle sonuçlanan müşteri tarafından başlatılan yönetim işlemlerinden müşteri iş yükleri üzerindeki etkiyi en aza indirmektir. Farklı hizmet katmanları için belirli SLA'lar hakkında daha fazla bilgi için Azure SQL Yönetilen Örneği gözden geçirin.

Yüksek kullanılabilirlik sizi aşağıdakiler üzerindeki etkilerden korur:

  • Veri merkezini oluşturan kullanılabilirlik alanı (çok bölgeli bölge olması durumunda)
  • Hizmetinizi çalıştıran düğümlerin çalıştığı raf
  • Düğümün kendisi
  • Uygulama katmanı

Bölgesel veya daha büyük kesintilerde etkiyi en aza indirmek için, iş sürekliliğine genel bakış ile ele alınan mevcut tekniklerden birini kullanabilirsiniz.

SQL Yönetilen Örneği, windows işletim sistemindeki SQL Server Veritabanı Altyapısı'nın en son kararlı sürümünde ve tüm geçerli düzeltme ekleriyle çalışır. SQL Yönetilen Örneği düzeltme eki uygulama, yedeklemeler, Windows ve SQL altyapısı yükseltmeleri gibi kritik hizmet görevlerini ve temel alınan donanım, yazılım veya ağ hataları gibi planlanmamış olayları otomatik olarak işler. Bir örneğe düzeltme eki eklendiğinde veya yük devredildiğinde, uygulamanızda yeniden deneme mantığı kullandığınızda kapalı kalma süresi etkili olmaz. SQL Yönetilen Örneği, verilerinizin her zaman kullanılabilir olmasını sağlayarak en kritik durumlarda bile hızla kurtarılabilir. Kullanıcıların çoğu yükseltmelerin sürekli olarak gerçekleştirildiğini fark etmez.

Yüksek kullanılabilirlik çözümü, işlenen verilerin hatalar nedeniyle hiçbir zaman kaybolmamasını, bakım işlemlerinin iş yükünüzü etkilememesini ve örneğin yazılım mimarinizde tek bir hata noktası olmamasını sağlamak için tasarlanmıştır.

Hizmet katmanını temel alan iki farklı yüksek kullanılabilirlik mimari modeli vardır:

  • Uzak depolama modeli, Uzak depolamanın yüksek kullanılabilirlik ve güvenilirliği ile Azure Service Fabric tarafından yönetilen işlem kümelerinin yüksek kullanılabilirliğine dayanan Genel Amaçlı ve Sonraki Nesil Genel Amaçlı hizmet katmanlarında işlem ve depolama ayrımını temel alır. Bu yüksek kullanılabilirlik modeli, bakım etkinlikleri sırasında bazı performans düşüşlerine dayanabilen bütçe odaklı iş uygulamalarını hedefler.
  • Yerel depolama modeli, yerel depolamaya sahip İş Açısından Kritik hizmet katmanındaki kullanılabilir veritabanı altyapısı düğümlerinin bir çekirdeğini kullanan bir veritabanı altyapısı işlemleri kümesini temel alır. Bu yerel depolama modeli, yüksek işlem hızına sahip ve yüksek GÇ performansı gerektiren görev açısından kritik uygulamaları hedefler. Yüksek kullanılabilirlik mimarisi, bakım etkinlikleri sırasında iş yükünüz üzerinde minimum performans etkisi sağlar.

Yerel olarak yedekli kullanılabilirlik

Yerel olarak yedekli kullanılabilirlik, işlem düğümlerinizi ve verilerinizi birincil bölgedeki tek bir veri merkezinde depolamayı temel alır ve küçük ölçekli ağ veya güç kesintisi gibi yerel bir hata durumunda verilerinizi korur. Bir bölgede yangın veya sel gibi büyük ölçekli bir olağanüstü durum oluşursa, bir depolama hesabının veya işlem düğümlerindeki verilerin tüm çoğaltmaları kaybolabilir veya kurtarılamaz. Bu nedenle, yerel olarak yedekli kullanılabilirlik seçeneğini kullanırken verilerinizi daha fazla korumak için veritabanı yedeklemeleriniz için daha dayanıklı bir depolama seçeneği kullanmayı göz önünde bulundurun.

Genel Amaçlı hizmet katmanı

Genel Amaçlı hizmet katmanı, uzak depolama kullanılabilirlik mimarisini kullanır. Aşağıdaki şekil, ayrılmış işlem ve depolama katmanlarıyla dört farklı düğümü gösterir.

İşlem ve depolama ayrımını gösteren diyagram.

Uzak depolama kullanılabilirlik modeli iki katman içerir:

  • Veritabanı altyapısı işlemini çalıştıran ve yalnızca ekli SSD'deki ve model veritabanları gibi tempdb geçici ve önbelleğe alınmış verileri içeren ve bellekte önbellek, arabellek havuzu ve columnstore havuzu planlayan durum bilgisi olmayan bir işlem katmanı. Bu durum bilgisi olmayan düğüm, veritabanı altyapısını başlatan, düğümün sistem durumunu denetleen ve gerekirse başka bir düğüme yük devretme gerçekleştiren Azure Service Fabric tarafından çalıştırılır.
  • veritabanı dosyalarının (.mdf ve .ldf) Azure Blob Depolama depolandığı durum bilgisi olan bir veri katmanı. Azure Blob Depolama yerleşik veri kullanılabilirliği ve yedeklilik özelliklerine sahiptir. Yerel olarak yedekli kullanılabilirlik, verilerinizi birincil bölgedeki tek bir veri merkezinde üç kez kopyalayan yerel olarak yedekli depolamada (LRS) depolamayı temel alır. Veritabanı altyapısı işlemi kilitlense bile günlük dosyasındaki veya veri dosyasındaki sayfadaki her kaydın korunacağını garanti eder.

Veritabanı altyapısı veya işletim sistemi yükseltildiğinde veya bir hata algılandığında, Azure Service Fabric durum bilgisi olmayan veritabanı altyapısı işlemini yeterli boş kapasiteye sahip başka bir durum bilgisi olmayan işlem düğümüne taşır. Azure Blob depolamadaki veriler taşıma işleminden etkilenmez ve veri/günlük dosyaları yeni başlatılan veritabanı altyapısı işlemine eklenir. Bu işlem yüksek kullanılabilirliği garanti eder, ancak yeni veritabanı altyapısı işlemi soğuk önbellekle başladığından geçiş sırasında ağır bir iş yükü biraz performans düşüşü yaşayabilir.

Yeni nesil Genel Amaçlı hizmet katmanı

Not

Yeni nesil Genel Amaçlı hizmet katmanı yükseltmesi şu anda önizleme aşamasındadır.

Yeni nesil Genel Amaçlı, örnek verilerini ve günlük dosyalarını sayfa blobları yerine yönetilen disklerde depolayan yükseltilmiş bir uzak depolama katmanı kullanan mevcut Genel Amaçlı hizmet katmanına mimari bir yükseltmedir.

İş Açısından Kritik hizmet katmanı

İş Açısından Kritik hizmet katmanı, işlem kaynaklarını (veritabanı altyapısı işlemi) ve depolamayı (yerel olarak bağlı SSD) tek bir düğümde tümleştiren yerel depolama kullanılabilirlik modelini kullanır. Hem işlem hem de depolama alanı ek düğümlere çoğaltılarak yüksek kullanılabilirlik elde edilir.

Veritabanı altyapısı düğümleri kümesinin diyagramı.

temel alınan veritabanı dosyaları (.mdf/.ldf), iş yükünüz için çok düşük gecikme süresine sahip GÇ sağlamak üzere bağlı SSD depolama alanına yerleştirilir. Yüksek kullanılabilirlik, SQL Server AlwaysOn kullanılabilirlik gruplarına benzer bir teknoloji kullanılarak uygulanır. Küme, okuma-yazma müşteri iş yükleri için erişilebilen tek bir birincil çoğaltma ve veri kopyaları içeren en fazla üç ikincil çoğaltma (işlem ve depolama) içerir. Birincil çoğaltma, her işlemi işlemeden önce verilerin yeterli sayıda ikincil çoğaltmada kalıcı olmasını sağlamak için değişiklikleri sürekli olarak ikincil çoğaltmalara gönderir. Bu işlem, birincil çoğaltmanın veya okunabilir bir ikincil çoğaltmanın herhangi bir nedenle kullanılamaz duruma gelmesi durumunda, yük devretme için her zaman tam olarak eşitlenmiş bir çoğaltmanın kullanılabilir olmasını garanti eder. Yük devretme, Azure Service Fabric tarafından başlatılır. İkincil çoğaltma yeni birincil çoğaltmaya dönüştüğünde, kümenin çekirdeği korumak için yeterli sayıda çoğaltmaya sahip olduğundan emin olmak için başka bir ikincil çoğaltma oluşturulur. Yük devretme tamamlandıktan sonra Azure SQL bağlantıları otomatik olarak yeni birincil çoğaltmaya (veya bağlantı dizesi temelinde okunabilir ikincil çoğaltmaya) yönlendirilir.

Ek bir avantaj olarak, yerel depolama kullanılabilirlik modeli salt okunur Azure SQL bağlantılarını ikincil çoğaltmalardan birine yeniden yönlendirme özelliğini içerir. Bu özelliğe Okuma Ölçeği Genişletme adı verilir. Birincil çoğaltmadan analitik iş yükleri gibi salt okunur yük dışı işlemlere ek ücret ödemeden %100 ek işlem kapasitesi sağlar.

Alanlar arası yedekli kullanılabilirlik

Alanlar arası yedekli kullanılabilirlik, işlem düğümünü ve depolama çoğaltmalarını birincil bölgedeki üç Azure kullanılabilirlik alanına yerleştirmeyi temel alır. Her kullanılabilirlik alanı bağımsız enerji, soğutma ve ağ altyapısına sahip olan ayrı bir fiziksel konumu ifade eder.

Varsayılan olarak, yerel depolama kullanılabilirlik modeli için düğüm kümesi aynı veri merkezinde oluşturulur. Azure Kullanılabilirlik Alanları'nin kullanıma sunulmasıyla SQL Yönetilen Örneği, İş Açısından Kritik örneğin farklı çoğaltmalarını aynı bölgedeki farklı kullanılabilirlik alanlarına yerleştirebilir. Aynı şekilde, Genel Amaçlı hizmet katmanının durum bilgisi olmayan işlem düğümleri farklı bir kullanılabilirlik alanına yerleştirilirken, durum bilgisi olan depolama alanlar arası yedekli depolama (ZRS) yapılandırması kullanır.

Tek bir hata noktasını ortadan kaldırmak için denetim halkası da birden çok bölgede üç ağ geçidi halkası (GW) olarak çoğaltılır. Belirli bir ağ geçidi halkasına yönlendirme, Azure Traffic Manager (ATM) tarafından denetlenmektedir. Alanlar arası yedekli yapılandırmayı seçerek, İş Açısından Kritik veya Genel Amaçlı örneklerinizi uygulama mantığında herhangi bir değişiklik yapmadan çok daha büyük bir hata kümesine dayanıklı hale getirebilirsiniz. Ayrıca mevcut İş Açısından Kritik veya Genel Amaçlı örnekleri alanlar arası yedekli yapılandırmaya dönüştürebilirsiniz.

Alanlar arası yedekli örneklerin farklı veri merkezlerinde aralarında biraz mesafe olan çoğaltmalar olduğundan, artan ağ gecikme süresi işlem işleme süresini artırabilir ve bu nedenle bazı OLTP iş yüklerinin performansını etkileyebilir. Alanlar arası yedeklilik ayarını devre dışı bırakarak her zaman tek bölgeli yapılandırmaya dönebilirsiniz. Bu işlem, normal hizmet katmanı hedef yükseltmesine benzer çevrimiçi bir işlemdir. İşlemin sonunda, örnek alanlar arası yedekli halkadan tek bölgeli halkaya (veya tam tersi) geçirilir.

Yüksek kullanılabilirlik mimarisinin alanlar arası yedekli sürümü aşağıdaki diyagramda gösterilmiştir:

Alanlar arası yedekli yüksek kullanılabilirlik mimarisinin diyagramı.

Alanlar arası yedeklilik kullanırken aşağıdakileri göz önünde bulundurun:

  • Alanlar arası yedeklilik, Yeni Nesil Genel Amaçlı hizmet katmanı için kullanılamaz.
  • Alanlar arası yedekli yapılandırmaları destekleyen bölgeler hakkında güncel bilgiler için bkz . Bölgeye göre hizmetler desteği.
  • Alanlar arası yedekli kullanılabilirlik için, varsayılandan farklı bir bakım penceresi seçmek şu anda belirli bölgelerde kullanılabilir.

İş Açısından Kritik örnekleri için desteklenen bölgeler

İş Açısından Kritik SQL Yönetilen Örneği için alanlar arası yedeklilik aşağıdaki bölgelerde desteklenir:

Kuzey ve Güney Amerika Avrupa Orta Doğu Afrika Asya Pasifik
Güney Brezilya Orta Fransa Katar Merkezi Güney Afrika Kuzey Doğu Avustralya
Orta Kanada Kuzey İtalya Orta İsrail Orta Hindistan
Central US Orta Batı Almanya Doğu Japonya
Doğu ABD Norveç Doğu Güney Kore - Orta
Doğu ABD 2 Kuzey Avrupa Güneydoğu Asya
Orta Güney ABD Güney Birleşik Krallık Doğu Asya
Batı ABD 2 Orta İsveç
Batı ABD 3 Kuzey İsviçre
Polonya Merkezi

Genel Amaçlı örnekler için desteklenen bölgeler

Not

Alanlar arası yedekli yapılandırma, Genel Amaçlı hizmet katmanı için genel önizleme aşamasındadır.

Kuzey ve Güney Amerika Avrupa Orta Doğu Afrika Asya Pasifik
Güney Brezilya Orta Fransa Katar Merkezi Güney Afrika Kuzey Doğu Avustralya
Doğu ABD Kuzey İtalya Orta İsrail Orta Hindistan
Doğu ABD 2 Orta Batı Almanya Doğu Japonya
Orta Güney ABD Norveç Doğu Güney Kore - Orta
Batı ABD 2 Kuzey Avrupa Güneydoğu Asya
Batı ABD 3 Güney Birleşik Krallık Doğu Asya
Orta İsveç
Kuzey İsviçre
Polonya Merkezi

Uygulama hata dayanıklılığını test edin

Yüksek kullanılabilirlik, veritabanı uygulamanız için saydam bir şekilde çalışan SQL Yönetilen Örneği platformunun temel bir parçasıdır. Ancak, planlanmış veya planlanmamış olaylar sırasında başlatılan otomatik yük devretme işlemlerinin uygulamayı üretime dağıtmadan önce nasıl etki edeceğini test etmek isteyebileceğinizi biliyoruz. Özel bir API çağırıp yönetilen örneği yeniden başlatarak yük devretmeyi el ile tetikleyebilirsiniz. Alanlar arası yedekli bir örnek söz konusu olduğunda, API çağrısı istemci bağlantılarının eski birincilin Kullanılabilirlik Alanı'ndan farklı bir Kullanılabilirlik Alanı'nda yeni birincile yeniden yönlendirilmesiyle sonuçlanır. Bu nedenle, yük devretmenin mevcut veritabanı oturumlarını nasıl etkilediğini test etmeye ek olarak, ağ gecikme süresindeki değişiklikler nedeniyle uçtan uca performansı değiştirip değiştirmediğini de doğrulayabilirsiniz. Yeniden başlatma işlemi müdahaleci olduğundan ve bunların çok büyük bir kısmı platformu strese atabileceğinden, her yönetilen örnek için her 15 dakikada bir yalnızca bir yük devretme çağrısına izin verilir.

PowerShell, REST API veya Azure CLI kullanılarak yük devretme başlatılabilir:

PowerShell REST API Azure CLI
Invoke-AzSqlInstanceFailover SQL Yönetilen Örneği - Yük Devretme az sql mi failover , Azure CLI'dan REST API çağrısı çağırmak için kullanılabilir

Sonuç

Azure SQL Yönetilen Örneği, Azure platformuyla tümleşik yerleşik bir yüksek kullanılabilirlik çözümüne sahiptir. Hizmet, hataları algılamak ve kurtarmak için Service Fabric'e, verileri korumak için Azure Blob depolamaya ve daha yüksek hataya dayanıklılık için Kullanılabilirlik Alanları bağlıdır. İş Açısından Kritik hizmet katmanı için SQL Yönetilen Örneği veritabanı çoğaltma ve yük devretme için SQL Server Always On kullanılabilirlik grubu teknolojisini kullanır. Bu teknolojilerin birleşimi, uygulamaların karma depolama modelinin avantajlarını tam olarak gerçekleştirmesini sağlar ve en zorlu SLA'ları destekler.

Sonraki adımlar

  • Azure Kullanılabilirlik Alanları hakkında bilgi edinin
  • Service Fabric hakkında bilgi edinin
  • Azure Traffic Manager hakkında bilgi edinin
  • SQL Yönetilen Örneği üzerinde el ile yük devretme başlatmayı öğrenin
  • Yüksek kullanılabilirlik ve olağanüstü durum kurtarma seçenekleri için bkz. İş Sürekliliği