SQL Server sanal makineleri için Azure depolamayı iyileştirmeyi açıklama
Depolama performansı, veritabanı altyapısı gibi yoğun G/Ç uygulamalarının kritik bir bileşenidir. Azure çok çeşitli depolama seçenekleri sunar ve iş yükü gereksinimlerinizi karşılamak için depolama çözümünüzü bile oluşturabilir.
Azure Depolama, çeşitli uygulamaların çeşitli gereksinimlerini karşılamak için tasarlanmış sağlam ve güvenli bir platformdur. Tüm depolama türlerinin bekleyen şifrelemeyi desteklediğinden emin olmak için çok çeşitli ölçeklenebilir çözümler sunar. Kullanıcılar, ek güvenlik için Microsoft tarafından yönetilen bir şifreleme anahtarı veya kullanıcı tanımlı şifreleme anahtarı arasında seçim yapabilir.
Blob Depolama - Blob depolama nesne tabanlı depolama olarak bilinir ve soğuk, sık erişimli ve arşiv depolama katmanlarını içerir. SQL Server ortamında blob depolama genellikle SQL Server'ın URL'ye yedekleme işlevi kullanılarak veritabanı yedeklemeleri için kullanılır.
Dosya Depolama - Dosya depolama, donanım ayarlamaya gerek kalmadan bir sanal makineye bağlanabilen bir dosya paylaşımıdır. SQL Server, yük devretme kümesi örneği için depolama hedefi olarak Dosya depolamayı kullanabilir.
Disk Depolama - Azure yönetilen diskleri, bir sanal makineye sunulan blok depolama alanı sunar. Bu diskler, sanallaştırılmaları dışında şirket içi sunucudaki fiziksel diskler gibi yönetilir. İş yükünüze bağlı olarak yönetilen disklerin içinde birkaç performans katmanı vardır. Bu depolama türü, SQL Server veri ve işlem günlüğü dosyaları için en yaygın kullanılan türdür.
Azure yönetilen diskleri
Azure yönetilen diskleri, Azure Sanal Makineler'a sunulan blok düzeyinde depolama birimleridir. Blok düzeyinde depolama, oluşturulan ve tek bir sabit sürücü olarak kabul edilebilen ham depolama birimlerini ifade eder. Bu blok cihazları işletim sistemi içinde yönetilebilir ve depolama katmanı diskin içeriğinin farkında değildir. Depolamayı engellemenin alternatifi, dosyaların ve meta verilerinin temel alınan depolama sisteminde depolandığı nesne depolamadır. Azure Blob Depolama bir nesne depolama modeli örneğidir. Nesne depolama birçok modern geliştirme çözümü için iyi çalışsa da, sanal makinelerde çalışan iş yüklerinin çoğu blok depolama kullanır.
Yönetilen disklerinizin yapılandırması, SQL Server iş yüklerinizin performansı için önemlidir. Şirket içi bir ortamdan taşınıyorsanız, daha önce ayrıntılı olarak açıklandığı gibi Performans İzleyicisi'nden ortalama disk saniye/okuma ve ortalama disk saniye/yazma gibi ölçümleri yakalamak önemlidir. Yakalamanız gereken bir diğer ölçüm de, SQL Server kullanılarak yakalanabilen Saniyede G/Ç İşlemleridir: Sql Server'ın en yoğun hizmet verdiği IOP sayısını gösteren Kaynak Havuzu İstatistikleri Disk Okuma ve Yazma GÇ/sn sayaçları. İş yüklerinizi anlamanız önemlidir. Depolama alanınızı ve sanal makinenizi, önemli gecikme süresine neden olmadan bu iş yükü zirvelerinin gereksinimlerini karşılayacak şekilde tasarlamak istiyorsunuz. Her Azure Sanal Makine türünün IOP'ler için bir sınırı vardır.
Azure yönetilen diskleri dört tür olarak gelir:
Ultra disk - Ultra diskler, düşük gecikme süresine sahip görev açısından kritik veritabanları için yüksek GÇ iş yüklerini destekler.
Premium SSD - Premium SSD diskleri yüksek aktarım hızına ve düşük gecikme süresine sahiptir ve bulutta çalışan çoğu veritabanı iş yükünün gereksinimlerini karşılayabilir.
Standart SSD - Standart SSD'ler az miktarda GÇ kullanan ve öngörülebilir gecikme süresi gerektiren az kullanılan geliştirme/test iş yükleri veya web sunucuları için tasarlanmıştır.
Standart HDD - Standart HDD'ler, nadiren erişilen yedeklemeler ve dosya depolama için uygundur.
Genellikle üretim SQL Server iş yükleri Ultra disk veya Premium SSD ya da ikisinin bir bileşimini kullanır. Ultra diskler genellikle yanıt süresinde milisaniyenin altında gecikme süresi aradığınız yerde kullanılır. Premium SSD'ler genellikle tek basamaklı milisaniye yanıt süresine sahiptir, ancak daha düşük maliyetlere ve tasarımda daha fazla esnekliğe sahiptir. Premium SSD'ler ayrıca okuma önbelleğini de destekler ve bu da diske yapılan yolculuk sayısını azaltarak yoğun okuma içeren veritabanı iş yüklerinden yararlanabilir. Okuma önbelleği, gerçek diske gidiş dönüş sayısını azaltmaya yardımcı olabilecek yerel SSD'de (Windows'ta D:\ sürücüsü veya Linux'ta /dev/sdb1/ sürücüsü) depolanır.
Maksimum aktarım hızı için diskleri şeritleme
Azure disklerinden daha fazla performans ve birim elde etmenin yollarından biri, verilerinizi birden çok disk arasında şeritle silmektir. IoP'leri, aktarım hızını ve maksimum boyutu tek bir diskte bağımsız olarak ölçeklendirebildiğiniz için bu teknik Ultra disk için geçerli değildir. Ancak Premium SSD'lerle hem IOP'leri hem de depolama hacmini ölçeklendirmek yararlı olabilir. Windows'ta diskleri şeritle açmak için, VM'ye istediğiniz disk sayısını ekler ve ardından Windows'ta Depolama Alanları'nı kullanarak bir havuz oluşturursunuz. Yedeklilik Azure çerçevesi tarafından sağlandığından, disk hatasına karşı koruma sağlamak için zaman uyumlu çoğaltmada tüm disklerin üç kopyasını tutan havuzunuz için yedeklilik (performansınızı sınırlayabilir) yapılandırmayın. Havuz oluşturduğunuzda, havuzunuzda IOP'lerin toplamı ve havuzunuzdaki tüm disklerin biriminin toplamı bulunur. Örneğin, her 1 TB'lık 10 P30 disk kullandıysanız ve disk başına 5000 IOP'niz varsa, 50.000 IOP'ye sahip 10 TB'lık bir biriminiz olur.
SQL Server depolama yapılandırması en iyi yöntemleri
Azure VM'lerinde SQL Server için en iyi yöntemlere ve bunların depolama yapılandırmasına yönelik birkaç öneri vardır:
- Veri ve işlem günlüğü dosyaları için ayrı bir birim oluşturma
- Veri dosyası biriminde okuma önbelleğini etkinleştirme
- Günlük dosyası biriminde önbelleğe almayı etkinleştirme
- İş yükü artışlarını işlemek üzere VM'niz için depolama alanınızı oluştururken fazladan 20% IOP ve aktarım hızı planlayın
- Sunucu yeniden başlatıldığında TempDB yeniden oluşturulur, bu nedenle veri kaybı riski olmadığından TempDB dosyaları için D: sürücüsünü (yerel olarak bağlı SSD) kullanın
- Dosya büyütme etkinliklerinin etkisini azaltmak için anında dosya başlatmayı etkinleştirin.
- İzleme dosyası ve hata günlüğü dizinlerini veri disklerine taşıma
- 1 milisaniyenin altında depolama gecikmesi gerektiren iş yükleri için Premium SSD üzerinden Ultra disk kullanmayı göz önünde bulundurun.
Azure Sanal Makine kaynak sağlayıcısı
Azure Sanal Makinesinde SQL Server'ınız için depolama oluşturmanın karmaşıklığını azaltmanın bir yolu, Azure Market'teki SQL Server şablonlarını kullanmaktır. Bu şablonlar, depolama alanınızı dağıtımınızın bir parçası olarak yapılandırmanıza olanak sağlar. IOP'leri gerektiği gibi yapılandırabilirsiniz ve şablon, Windows içinde depolama alanları havuzlarınızı oluşturma işlemini gerçekleştirir.
Bu kaynak sağlayıcısı yerel SSD sürücüsüne TempDB eklemeyi de destekler ve başlangıçta klasörü oluşturmak için zamanlanmış bir görev oluşturur.