Yerel ve alanlar arası yedeklilik aracılığıyla kullanılabilirlik - Azure SQL Yönetilen Örneği

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

Bu makalede, yerel yedeklilik aracılığıyla kullanılabilirlik ve alanlar arası yedeklilik aracılığıyla yüksek kullanılabilirlik elde eden Azure SQL Yönetilen Örneği mimarisi 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ış

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 veritabanı 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.

Varsayılan olarak, Azure SQL Yönetilen Örneği yerel yedeklilik aracılığıyla kullanılabilirlik elde ederek örneğinizin şu süre boyunca kullanılabilir olmasını sağlar:

  • Kısa bir kapalı kalma süresiyle sonuçlanan müşteri tarafından başlatılan yönetim işlemleri
  • Hizmet bakım işlemleri
  • Aşağıdakilerle ilgili sorunlar ve veri merkezi kesintileri:
    • Hizmetinizi destekleyen makinelerin çalıştığı raf.
    • SQL veritabanı altyapısını çalıştıran VM'yi barındıran fiziksel makine.
    • SQL veritabanı altyapısını çalıştıran sanal makine
  • SQL veritabanı altyapısıyla ilgili diğer sorunlar
  • Diğer olası planlanmamış yerel kesintiler

Varsayılan 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.

Ancak, bir bölgenin tamamında kesinti olması durumunda verileriniz üzerindeki etkiyi en aza indirmek için, alanlar arası yedekliliği etkinleştirerek yüksek kullanılabilirlik elde edebilirsiniz. Alanlar arası yedeklilik olmadan, yük devretmeler aynı veri merkezinde yerel olarak gerçekleşir ve bu da kesinti çözülene kadar örneğinizin kullanılamamasına neden olabilir. Kurtarmanın tek yolu yük devretme grubu veya coğrafi olarak yedekli yedeklemenin coğrafi geri yüklemesi gibi bir olağanüstü durum kurtarma çözümünden geçer. Daha fazla bilgi edinmek için iş sürekliliğine genel bakışı gözden geçirin.

Yüksek kullanılabilirlik, aşağıdakiler üzerindeki etkilerden sizi koruyarak hizmetinizin güvenilirliğini artırır:

  • Veri merkezini oluşturan kullanılabilirlik alanı

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

  • Uzak depolama modeli, Uzak depolamanın kullanılabilirliğine ve güvenilirliğine ve Azure Service Fabric tarafından yönetilen işlem kümelerinin 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 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.

Farklı hizmet katmanları için belirli SLA'lar hakkında daha fazla bilgi için Azure SQL Yönetilen Örneği için SLA'yı gözden geçirin.

Yerel yedeklilik aracılığıyla 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 ve yerel olarak tutan yükseltilmiş bir uzak depolama katmanı kullanan mevcut Genel Amaçlı hizmet katmanına yönelik 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ı yedeklilik aracılığıyla yüksek kullanılabilirlik

Alanlar arası yedekli kullanılabilirlik, çoğaltmaları birincil bölgedeki üç Azure kullanılabilirlik alanına yerleştirmeye dayanı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 farklı çoğaltmaları aynı bölgedeki farklı kullanılabilirlik alanlarına yerleştirir. Tek bir hata noktasını ortadan kaldırmak için denetim halkası da birden çok bölgede çoğaltılır. Denetim düzlemi trafiği daha sonra kullanılabilirlik alanları arasında da dağıtılan bir yük dengeleyiciye yönlendirilir. Denetim düzleminden yük dengeleyiciye trafik yönlendirme, Azure Traffic Manager (ATM) tarafından denetlenilir.

Alanlar arası yedekli bir yapılandırma kullanarak, İş 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. 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.

SQL yönetilen örneğiniz için alanlar arası yedekliliği kullanmaya başlamak için Alanlar arası yedekliliği yapılandırma'yı gözden geçirin.

Genel Amaçlı hizmet katmanı

Genel Amaçlı hizmet katmanında, durum bilgisi olmayan işlem düğümleri farklı kullanılabilirlik alanlarına yerleştirilerek bölge yedekliliği elde edilir ve ardından etkin SQL Veritabanı Altyapısı işlemini içeren düğüme bağlı olan durum bilgisi olan bir alanlar arası yedekli depolamaya (ZRS) dayanır. Kesinti durumunda, durum bilgisi olmayan düğümlerden birinde SQL Veritabanı Altyapısı işlemi etkin hale gelir ve ardından durum bilgisi olan depolamadaki verilere erişir.

Aşağıdaki diyagramda, Genel Amaçlı hizmet katmanı için alanlar arası yedeklilik mimarisi gösterilmektedir:

Genel Amaçlı hizmet katmanındaki alanlar arası yedeklilik mimarisinin diyagramı.

Not

Bölge yedekliliği şu anda Genel Amaçlı hizmet katmanı için önizleme aşamasındadır.

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

İş Açısından Kritik hizmet katmanında, işlem ve depolama çoğaltmaları farklı kullanılabilirlik alanlarına yerleştirilerek ve ardından birincil örnekteki veri değişikliklerini diğer kullanılabilirlik alanlarındaki bekleme çoğaltmalarına çoğaltmak için temel Always On kullanılabilirlik grubu teknolojisi kullanılarak alanlar arası yedeklilik elde edilir. Kesinti durumunda, bekleyen çoğaltmalardan birini birincil çoğaltmaya sorunsuz bir şekilde geçiren otomatik bir yük devretme vardır.

Aşağıdaki diyagramda, İş Açısından Kritik hizmet katmanı için alanlar arası yedeklilik mimarisi gösterilmektedir:

İş Açısından Kritik hizmet katmanındaki alanlar arası yedeklilik mimarisinin diyagramı.

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

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. Yönetilen örneği yeniden başlatmak için özel bir API çağırarak yük devretmeyi el ile tetikleyebilirsiniz. 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.

Gerçek bir yük devretme sırasında, SQL hizmeti farklı bir düğümde birincil hale gelirken örneğe yönelik bağlantılar başarısız olur. Yük devretme benzetimi yapmak için, sql işlemini yeniden başlatan komutu çağırarak hizmeti başlatma benzetimini yük devretme varmış gibi yapın. Ancak, gerçek yük devretme sırasında gerçek yük devretme sırasında bağlantılar, sanal yük devretmeye kıyasla daha uzun süre başarısız olabilir, çünkü gerçek bir yük devretme sırasında SQL işlemi küme içindeki başka bir sanal makinede birincil hale gelir (yerel olarak veya alanlar arası yedeklilik etkinse başka bir bölgede) ve sanal yük devretme sırasında SQL işlemi mevcut sanal makinede yeniden başlatılır.

Bu bölümdeki el ile yük devretme komutu genellikle hem yerel olarak yedekli hem de alanlar arası yedekli yapılandırmalarda aynı şekilde davranır. Yalnızca SQL işlemini yerel olarak yeniden başlatır ve birkaç özel durum geçerli olsa da başka bir düğüme yük devretme başlatmaz. Bu yerel yük devretme, bir yük devretme grubu için gerçekleşen bir yük devretme işleminden farklıdır.

PowerShell, REST API veya Azure CLI kullanılarak yerel 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