Depolama havuzu önbelleğini anlama
Şunlar için geçerlidir: Azure Stack HCI, sürüm 22H2 ve 21H2; Windows Server 2022, Windows Server 2019
Önemli
Azure Stack HCI artık Azure Yerel'in bir parçasıdır. Ürün belgelerini yeniden adlandırma işlemi devam ediyor. Ancak Azure Stack HCI'nin eski sürümleri, örneğin 22H2, Azure Stack HCI'ye başvurmaya devam eder ve ad değişikliğini yansıtmaz. Daha fazla bilgi edinin.
Azure Stack HCI ve Windows Server'ın arkasındaki temel depolama sanallaştırma teknolojisi olan Depolama Alanları Doğrudan, depolama performansını en üst düzeye çıkarırken maliyetleri de en üst düzeye çıkarmak için yerleşik bir sunucu tarafı önbelleğine sahiptir. Dağıtım sonrasında otomatik olarak yapılandırılan büyük, kalıcı, gerçek zamanlı bir okuma ve yazma önbelleğidir. Çoğu durumda, el ile yönetim gerekmez. Önbelleğin nasıl çalıştığı, mevcut sürücü türlerine bağlıdır.
Depolama Alanları Doğrudan şu anda dört sürücü türüyle çalışıyor:
Sürücü türü | Açıklama |
---|---|
PMem kalıcı belleğe, yeni bir düşük gecikme süresi türüne ve yüksek performanslı depolamaya başvurur. | |
NVMe (Geçici Olmayan Bellek Express), doğrudan PCIe veri yolu üzerinde bulunan katı hal sürücülerini ifade eder. Yaygın form faktörleri 2,5 inç U.2, PCIe Eklenti Kart (AIC) ve M.2'dir. NVMe, PMem dışında bugün desteklediğimiz diğer sürücü türlerinden daha düşük gecikme süresiyle daha yüksek IOPS ve G/Ç aktarım hızı sunar. | |
SSD , geleneksel SATA veya SAS aracılığıyla bağlanan katı hal sürücülerini ifade eder. | |
HDD , düşük maliyetle geniş depolama kapasitesi sunan döner, manyetik sabit disk sürücülerini ifade eder. |
Bunlar, "all-flash" ve "hybrid" olmak üzere iki kategoride gruplandırdığımız çeşitli şekillerde birleştirilebilir. Tüm HDD'lere sahip dağıtımlar desteklenmez.
Not
Bu makale NVMe, SSD ve HDD ile önbellek yapılandırmalarını kapsar. Kalıcı belleği önbellek olarak kullanma hakkında bilgi için bkz . Kalıcı belleği anlama ve dağıtma.
Tüm flash dağıtımlar, depolama performansını en üst düzeye çıkarmayı hedefler ve HDD içermez.
Karma dağıtımlar, performansı ve kapasiteyi dengelemeyi veya kapasiteyi en üst düzeye çıkarmayı hedefler ve HDD içerir.
Not
Karma dağıtım tek sunucu yapılandırmasında desteklenmez. Tüm düz tek depolama türü yapılandırmaları (örneğin, all-NVMe veya all-SSD), tek sunucu için desteklenen tek depolama türüdür.
Birden çok sürücü türüne sahip dağıtımlarda, Depolama Alanları Doğrudan otomatik olarak önbelleğe almak için en hızlı türde tüm sürücüleri kullanır. Kalan sürücüler kapasite için kullanılır.
"En hızlı" türü aşağıdaki hiyerarşiye göre belirlenir.
Örneğin, NVMe ve SSD'leriniz varsa NVMe, SSD'ler için önbelleğe alır.
SSD'leriniz ve HDD'leriniz varsa SSD'ler HDD'ler için önbelleğe alınır.
Not
Önbellek sürücüleri, kümeye kullanılabilir depolama kapasitesi sağlamaz. Önbellekte depolanan tüm veriler başka bir yerde de depolanır veya aşamaları kaldırıldıktan sonra depolanır. Bu, kümenizin toplam ham depolama kapasitesinin yalnızca kapasite sürücülerinizin toplamı olduğu anlamına gelir.
Tüm sürücüler aynı türde olduğunda, hiçbir önbellek otomatik olarak yapılandırılmaz. Aynı türdeki düşük dayanıklı sürücüler için önbelleğe almak üzere daha yüksek dayanıklı sürücüleri el ile yapılandırma seçeneğiniz vardır. Nasıl yapılacağını öğrenmek için El ile yapılandırma bölümüne bakın.
İpucu
Bazı durumlarda, depolama havuzu önbelleğini kullanmak mantıklı değildir. Örneğin, özellikle çok küçük ölçekli all-NVMe veya all-SSD dağıtımlarında önbellekte "harcanan" sürücü olmaması depolama verimliliğini artırabilir ve performansı en üst düzeye çıkarabilir. Benzer şekilde, küçük uzak veya şube ofis dağıtımları önbellek sürücüleri için sınırlı alana sahip olabilir.
Önbelleğin davranışı, önbelleğe alınan sürücülerin türlerine göre otomatik olarak belirlenir. Flash sürücüleri önbelleğe alırken (SSD'ler için NVMe önbelleğe alma gibi), yalnızca yazma işlemleri önbelleğe alınır. Disk sürücülerini döndürmek için önbelleğe alma (HDD'ler için SSD önbelleğe alma gibi), hem okuma hem de yazma işlemleri önbelleğe alınır.
Önbelleğe alma, ssd'lerin performansını hızlandırmak için önbellek olarak NVMe kullanma gibi tüm flash senaryolarda kullanılabilir. Tüm hızlı dağıtımlar için önbelleğe alınırken yalnızca yazma işlemleri önbelleğe alınır. Bu, kapasite sürücülerinde aşınmayı azaltır çünkü birçok yazma ve yeniden yazma işlemi önbellekte birleştirebilir ve sonra yalnızca gerektiğinde aşamayı kaldırarak kapasite sürücülerine yönelik kümülatif trafiği azaltır ve kullanım ömrünü uzatır. Bu nedenle önbellek için daha yüksek dayanıklı, yazma için iyileştirilmiş sürücüler seçmenizi öneririz. Kapasite sürücüleri makul düzeyde daha düşük yazma dayanıklılığına sahip olabilir.
Okumalar flash'ın kullanım ömrünü önemli ölçüde etkilemediğinden ve SSD'ler evrensel olarak düşük okuma gecikme süresi sunduğundan, okumalar önbelleğe alınmaz: doğrudan kapasite sürücülerinden sunulur (verilerin henüz hazırlanmamış olduğu kadar yakın zamanda yazıldığı durumlar dışında). Bu, önbelleğin tamamen yazma işlemlerine ayrılmış olmasını sağlar ve etkinliğini en üst düzeye çıkarır.
Bu, yazma gecikmesi gibi yazma özelliklerinin önbellek sürücüleri tarafından dikte edilmesine, okuma özellikleri ise kapasite sürücüleri tarafından dikte edilmesine neden olur. Her ikisi de tutarlı, öngörülebilir ve tekdüzendir.
HDD için önbelleğe alma sırasında, her ikisi için de flash benzeri gecikme süresi (genellikle ~10 kat daha iyi) sağlamak için hem okuma hem de yazma işlemleri önbelleğe alınır. Okuma önbelleği, hızlı erişim ve HDD'lere rastgele trafiği en aza indirmek için son ve sık okunan verileri depolar. (Arama ve dönüş gecikmeleri nedeniyle, HDD'ye rastgele erişim nedeniyle oluşan gecikme ve kayıp süre önemlidir.) Yazma işlemleri, daha önce olduğu gibi ani artışları emmek ve yazma işlemlerini birleştirip yeniden yazmak ve kapasite sürücülerine yönelik kümülatif trafiği en aza indirmek için önbelleğe alınır.
Depolama Alanları Doğrudan, iş yükünden gelen gerçek G/Ç (sanal makineler gibi) rastgele olduğunda bile sıralı görünen bir GÇ desenini diske öykünmek için yazma işlemlerini hazırlamadan önce rastgele kaldıran bir algoritma uygular. Bu, HDD'lere yönelik IOPS ve aktarım hızını en üst düzeye çıkarır.
Her üç türden sürücüler mevcut olduğunda NVMe sürücüleri hem SSD'ler hem de HDD'ler için önbelleğe alma sağlar. Davranış yukarıda açıklandığı gibidir: SSD'ler için yalnızca yazma işlemleri önbelleğe alınır ve HDD'ler için hem okuma hem de yazma işlemleri önbelleğe alınır. HDD'ler için önbelleğe alma yükü, önbellek sürücüleri arasında eşit olarak dağıtılır.
Bu tabloda önbelleğe alma için hangi sürücülerin kullanıldığı, kapasite için kullanılan sürücüler ve her dağıtım olasılığı için önbelleğe alma davranışının ne olduğu özetlenir.
Dağıtım | Önbellek sürücüleri | Kapasite sürücüleri | Önbellek davranışı (varsayılan) |
---|---|---|---|
Tüm NVMe'ler | Hiçbiri (İsteğe bağlı: el ile yapılandırma) | NVMe | Salt yazma (yapılandırılmışsa) |
Tüm SSD'ler | Hiçbiri (İsteğe bağlı: el ile yapılandırma) | SSD | Salt yazma (yapılandırılmışsa) |
NVMe + SSD | NVMe | SSD | Salt yazma |
NVMe + HDD | NVMe | HDD | Okuma ve Yazma |
SSD + HDD | SSD | HDD | Okuma ve Yazma |
NVMe + SSD + HDD | NVMe | SSD + HDD | HDD için Okuma + Yazma, SSD için salt yazma |
Önbellek sürücü düzeyinde uygulanır: Bir sunucudaki tek tek önbellek sürücüleri aynı sunucu içindeki bir veya birden çok kapasite sürücüsüne bağlıdır.
Önbellek, Windows yazılım tanımlı depolama yığınının geri kalanının altında olduğundan, Depolama Alanları veya hataya dayanıklılık gibi kavramlar hakkında herhangi bir farkındalığı yoktur veya gerekli değildir. Bunu daha sonra işletim sistemine sunulan "karma" (parça flash, parça disk) sürücüleri oluşturmak olarak düşünebilirsiniz. Gerçek bir hibrit sürücüde olduğu gibi, fiziksel medyanın daha hızlı ve yavaş bölümleri arasında sıcak ve soğuk verilerin gerçek zamanlı hareketi dışarıdan neredeyse görünmez.
Depolama Alanları Doğrudan'daki dayanıklılığın en az sunucu düzeyinde olduğu düşünüldüğünde (veri kopyaları her zaman farklı sunuculara yazılır; sunucu başına en fazla bir kopya), önbellekteki veriler önbellekte olmayan verilerle aynı dayanıklılıktan yararlanır.
Örneğin, üç yönlü yansıtma kullanılırken, verilerin üç kopyası farklı sunuculara yazılır ve bunlar önbelleğe alınır. Daha sonra hazır olup olmadıklarına bakılmaksızın, her zaman üç kopya olacaktır.
Önbellek ve kapasite sürücüleri arasındaki bağlama, 1:1 ile 1:12 ve sonrası arasında herhangi bir orana sahip olabilir. Sürücüler eklendiğinde veya kaldırıldığında, örneğin ölçeği artırma sırasında veya hatalardan sonra dinamik olarak ayarlanır. Bu, önbellek sürücülerini veya kapasite sürücülerini istediğiniz zaman bağımsız olarak ekleyebileceğiniz anlamına gelir.
Simetri için kapasite sürücülerinin sayısının önbellek sürücüsü sayısının katını oluşturmanızı öneririz. Örneğin, 4 önbellek sürücüleriniz varsa, 8 kapasite sürücüsü (1:2 oran) ile 7 veya 9'a göre daha eşit performans elde edebilirsiniz.
Önbellek sürücüsü başarısız olduğunda, henüz hazırlanmamış tüm yazma işlemleri yerel sunucuda kaybolur, yani bunlar yalnızca diğer kopyalarda (diğer sunucularda) bulunur. Diğer sürücü arızalarından sonra olduğu gibi, Depolama Alanları kalan kopyalara danışarak otomatik olarak kurtarılabilir ve kurtarılır.
Kısa bir süre için kayıp önbellek sürücüsüne bağlı olan kapasite sürücüleri iyi durumda görünmeyecektir. Önbellek yeniden bağlama işlemi gerçekleştikten (otomatik) ve veri onarımı tamamlandıktan (otomatik) sonra iyi durumda olarak gösterilmeye devam eder.
Bu senaryo, performansı korumak için sunucu başına en az iki önbellek sürücüsüne ihtiyaç duyulmasını sağlar.
Daha sonra önbellek sürücüsünü, diğer sürücü değişimleri gibi değiştirebilirsiniz.
Not
Eklenti Kartı (AIC) veya M.2 form faktörü olan NVMe'yi güvenli bir şekilde değiştirmek için kapatmanız gerekebilir.
Windows yazılım tanımlı depolama yığınında başka birçok ilgisiz önbellek vardır. Örnek olarak Depolama Alanları geri yazma önbelleği ve Küme Paylaşılan Birimi (CSV) bellek içi okuma önbelleği verilebilir.
Azure Stack HCI ile Depolama Alanları geri yazma önbelleği varsayılan davranışından değiştirilmemelidir. Örneğin, New-Volume cmdlet'indeki -WriteCacheSize gibi parametreler kullanılmamalıdır.
CSV önbelleğini kullanmayı seçebilirsiniz veya kullanamazsınız; bu size bağlı. Azure Stack HCI'de varsayılan olarak açıktır, ancak bu konuda açıklanan önbellekle hiçbir şekilde çakışmaz. Bazı senaryolarda değerli performans kazançları sağlayabilir. Daha fazla bilgi için bkz . Azure Stack HCI ile CSV bellek içi okuma önbelleğini kullanma.
Çoğu dağıtım için el ile yapılandırma gerekli değildir. İhtiyacınız olması durumunda aşağıdaki bölümlere bakın.
Kurulumdan sonra önbellek cihazı modelinde değişiklik yapmanız gerekiyorsa, Sistem Sağlığı Hizmeti genel bakış bölümünde açıklandığı gibi Sistem Sağlığı Hizmeti Destek Bileşenleri Belgesini düzenleyin.
All-NVMe veya all-SSD dağıtımları gibi tüm sürücülerin aynı türde olduğu dağıtımlarda, Windows aynı türdeki sürücüler arasında yazma dayanıklılığı gibi özellikleri otomatik olarak ayırt edemeyeceğinden önbellek yapılandırılmaz.
Aynı türdeki düşük dayanıklı sürücüler için önbelleğe almak üzere daha yüksek dayanıklı sürücüler kullanmak için Enable-ClusterS2D cmdlet'inin -CacheDeviceModel parametresiyle hangi sürücü modelinin kullanılacağını belirtebilirsiniz. Bu modelin tüm sürücüleri önbelleğe alma için kullanılır.
İpucu
Model dizesini Get-PhysicalDisk çıkışında göründüğü şekilde tam olarak eşleştirdiğinden emin olun.
İlk olarak, fiziksel disklerin listesini alın:
Get-PhysicalDisk | Group Model -NoElement
Aşağıda bazı örnek çıkışlar verilmişti:
Count Name
----- ----
8 FABRIKAM NVME-1710
16 CONTOSO NVME-1520
Ardından önbellek cihazı modelini belirterek aşağıdaki komutu girin:
Enable-ClusterS2D -CacheDeviceModel "FABRIKAM NVME-1710"
PowerShell'de Get-PhysicalDisk'i çalıştırarak ve Usage özelliğinin "Günlük" olduğunu doğrulayarak, hedeflediğiniz sürücülerin önbelleğe almak için kullanıldığını doğrulayabilirsiniz.
El ile yapılandırma aşağıdaki dağıtım olanaklarını etkinleştirir:
Önbelleğin varsayılan davranışını geçersiz kılmak mümkündür. Örneğin, tüm flash dağıtımlarda bile okumaları önbelleğe almak için ayarlayabilirsiniz. Varsayılan değerin iş yükünüz için uygun olmadığından emin olmadığınız sürece davranışın değiştirilmesini önerilmez.
Davranışı geçersiz kılmak için Set-ClusterStorageSpacesDirect cmdlet'ini ve onun -CacheModeSSD ve -CacheModeHDD parametrelerini kullanın. CacheModeSSD parametresi, SSD için önbelleğe alma sırasında önbellek davranışını ayarlar. CacheModeHDD parametresi, HDD için önbelleğe alma sırasında önbellek davranışını ayarlar.
Davranışın ayarlandığını doğrulamak için Get-ClusterStorageSpacesDirect kullanabilirsiniz.
İlk olarak Depolama Alanları Doğrudan ayarlarını alın:
Get-ClusterStorageSpacesDirect
Aşağıda bazı örnek çıkışlar verilmişti:
CacheModeHDD : ReadWrite
CacheModeSSD : WriteOnly
Ardından aşağıdakileri yapın:
Set-ClusterStorageSpacesDirect -CacheModeSSD ReadWrite
Get-ClusterS2D
Aşağıda bazı örnek çıkışlar verilmişti:
CacheModeHDD : ReadWrite
CacheModeSSD : ReadWrite
Önbellek, uygulamalarınızın ve iş yüklerinizin çalışma kümesini (herhangi bir zamanda etkin olarak okunan veya yazılan veriler) barındıracak şekilde boyutlandırılmalıdır.
Bu, özellikle sabit disk sürücülerine sahip karma dağıtımlarda önemlidir. Etkin çalışma kümesi önbelleğin boyutunu aşarsa veya etkin çalışma kümesi çok hızlı kayıyorsa okuma önbelleği eksikleri artar ve yazma işlemleri daha agresif bir şekilde kaldırılarak genel performansa zarar verebilirsiniz.
Önbellek kaçırma oranını incelemek için Windows'taki yerleşik Performans İzleyicisi (PerfMon.exe) yardımcı programını kullanabilirsiniz. Özellikle, Küme Depolama Karma Disk sayacındaki Okuma/sn Önbelleğini dağıtımınızın genel okuma IOPS'sine karşılaştırabilirsiniz. Her "Karma Disk" bir kapasite sürücüsüne karşılık gelir.
Örneğin, 4 kapasite sürücüsüne bağlı 2 önbellek sürücüsü, sunucu başına 4 "Karma Disk" nesne örneğine neden olur.
Evrensel bir kural yoktur, ancak önbellekte çok fazla okuma eksikse, bu yetersiz olabilir ve önbelleğinizi genişletmek için önbellek sürücüleri eklemeyi göz önünde bulundurmanız gerekir. önbellek sürücülerini veya kapasite sürücülerini istediğiniz zaman bağımsız olarak ekleyebilirsiniz.
Ek depolama bilgisi için ayrıca bkz: