Depolama Alanları Doğrudan'da önbelleği anlama
Şunlar için geçerlidir: Windows Server 2016
Depolama Alanları Doğrudan'da depolama performansını en üst seviyeye çıkarmak için yerleşik sunucu tarafı önbelleği bulunur. Bu; büyük, dayanıklı, gerçek zamanlı okuma ve yazma önbelleğidir. Önbellek, Depolama Alanları Doğrudan etkinleştirildiğinde otomatik olarak yapılandırılır. Çoğu durumda hiçbir manüel yönetim gerekli değildir. Önbelleğin nasıl çalıştığı, mevcut sürücü türlerine bağlıdır.
Sürücü türleri ve dağıtım seçenekleri
Depolama Alanları Doğrudan şimdilik üç tür depolama cihazı ile çalışmaktadır:
|NVMe (Geçici Olmayan Hızlı Bellek)|
|SATA/SAS SSD (Katı Hal Sürücüsü)|
|HDD (Sabit Disk Sürücüsü)|
Bunlar, altı şekilde kombine edilebilir. Biz bunları "tümü flash" ve "hibrid" olmak üzere iki kategoriye ayırdık.
Tümü flash dağıtım olasılıkları
Tümü flash dağıtımlar, depolama performansını en üst seviyeye çıkarmayı amaçlar ve döner sabit disk sürücülerini (HDD) içermez.
Hibrid dağıtım olasılıkları
Hibrid dağıtımlar, performans ile kapasiteyi dengelemeyi veya kapasiteyi en üst seviyeye çıkarmayı amaçlar ve döner sabit disk sürücülerini (HDD) içermez.
Önbellek sürücüleri otomatik olarak seçilir
Birden fazla sürücü türünün bulunduğu dağıtımlarda Depolama Alanları Doğrudan, önbellekleme işlemi için "en hızlı" türdeki tüm sürücüleri otomatik olarak kullanır. Kapasite için kalan sürücüler kullanılır.
Hangi türün "en hızlı" olduğu, aşağıdaki hiyerarşiye göre belirlenir.
Örneğin, NVMe ve SSD sürücüleriniz varsa SSD'ler için NVMe önbelleklenir.
SSD ve HDD sürücüleriniz varsa HDD'ler için SSD'ler önbelleklenir.
Not
Önbellek sürücüleri, kullanılabilir depolama kapasitesine katkı sağlamazlar. Önbelleğe depolanan tüm veriler, aynı zamanda başka bir yere de depolanır veya bir kez kalıcı depolama alanına taşınır. Bu, dağıtımınızın toplam ham kapasitesinin sadece kapasite miktarınız 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 daha düşük dayanıklılığa sahip sürücüleri önbelleklemek için daha yüksek dayanıklılığa sahip sürücüleri manüel olarak yapılandırma seçeneğine sahipsiniz. Bu konuda daha fazla bilgi edinmek için Manüel yapılandırma başlıklı bölüme bakın.
İpucu
Tümü NVMe veya tümü SSD olan dağıtımlarda özellikle oldukça küçük bir ölçekte önbellekte "kullanılan" hiç sürücü olmaması, depolama verimliliğini önemli ölçüde arttırabilir.
Önbellek davranışı, otomatik olarak ayarlanır.
Önbellek davranışı, önbelleklenen sürücü türlerine göre otomatik olarak belirlenir. Katı hal sürücülerini önbelleklerken (örn. SSD'ler için NVMe önbelleklemesi) sadece yazma işlemi önbelleklenir. Sabit disk sürücülerini önbelleklerken (HDD'ler için SSD önbellekleme) hem okuma hem de yazma işlemleri önbelleklenir.
Tümü flash dağıtımlar için salt okunur önbellekleme
Katı hal sürücülerini (NVMe veya SSD) önbelleklerken sadece yazma işlemi önbelleklenir. Bu işlem, kapasitedeki gerilemeyi azaltılır çünkü pek çok yazma ve yeniden yazma işlemi önbellekte bir araya gelir ve daha sonra sadece gerektiği şekilde kalıcı belleğe aktarılarak kapasite sürücülerine giden kümülatif trafiği azaltır ve sürücülerin kullanım ömrünü uzatır. Bu nedenle, önbellek için daya yüksek dayanıklılığa sahip, yazma optimizasyonlu sürücüleri seçmenizi tavsiye ederiz. Kapasite sürücüleri, makul ölçüde daha düşük yazma dayanıklılığına sahip olabilir.
Çünkü okuma işlemi, flash'ın kullanım ömrünü önemli ölçüde etkilemez, katı hal sürücüleri düşük okuma gecikmesi sunar ve okuma işlemi önbelleklenmez; bunlar, doğrudan kapasite sürücülerinden sağlanır (henüz kalıcı belleğe aktarılmayacak kadar yeni verilerin yazılması dışında). Bu, önbelleğin tamamen yazma işlemine ayrılmasını sağlayarak önbelleğin verimliliğini en üst seviyeye çıkarır.
Bu durum; yazma gecikmesi ve okuma özellikleri kapasite sürücüleri tarafından yönlendirilirken önbellek sürücülerinden yönlendirilme gibi yazma özellikleri sağlar. Her ikisi de tutarlı, tahmin edilebilir ve tek bir bütündür.
Hibrid dağıtımlar için okuma/yazma önbelleklemesi
Sabit sürücüler (HDD'ler) önbelleklenirken her iki sürücü için de flash benzeri gecikme (yaklaşık 10 kat daha iyi) sağlamak üzere hem okuma hem de yazma işlemleri önbelleklenir. Okuma önbelleği, hızlı erişim için ve HDD'lere giden rastgele trafiği minimuma indirmek üzere en son ve en sık okunan verileri depolar. (Arama ve dönme gecikmeleri nedeniyle bir HDD'ye rastgele erişimden kaynaklanan gecikme ve kayıp zaman belirgindir). Yazma işlemleri, yoğun akışı kontrol altında tutmak, daha önce olduğu gibi yazma ve yeniden yazma işlemlerini bir araya getirmek ve kapasite sürücülerine giden kümülatif trafiği minimuma indirmek için önbelleklenir.
Depolama Alanları Doğrudan, iş yükünden (örn. sanal makineler) gelen gerçek G/Ç rastgele olduğunda bile sıralı görünen diske bir G/Ç örüntüsü sağlamak için yazma işlemlerini kalıcı belleğe aktarmadan önce sıralayan bir algoritma uygular. Bu durum, IOPS'yi ve HDD verimini en üst seviyeye çıkarır.
Üç türün hepsini içeren sürücülerin bulunduğu dağıtımlarda önbellekleme
Tüm üç türde sürücülerin olduğu durumlarda NVMe sürücüleri, hem SSD'ler hem de HDD'ler için önbellekleme sağlar. Yukarıda açıklanan davranış: Sadece yazma işlemleri SSD için önbelleklenir ve hem okuma hem de yazma işlemleri HDD'ler için önbelleklenir. HDD'ler için önbellekleme yükü, önbellek sürücüleri arasında eşit olarak dağıtılır.
Özet
Bu tabloda hangi sürücülerin önbellekleme için kullanıldığı, hangi sürücülerin kapasite için kullanıldığı ve her bir dağıtım olasılığı için hangi önbellekleme davranışının sergilendiği özetlenmektedir.
|Dağıtım||Önbellek sürücüleri||Kapasite sürücüleri||Önbellek davranışı (varsayılan)|
|Tüm NVMe'ler||Hiçbiri (isteğe bağlı: manüel olarak yapılandırın)||NVMe||Salt yazılır (yapılandırılmışsa)|
|Tüm SSD'ler||Hiçbiri (isteğe bağlı: manüel olarak yapılandırın)||SSD||Salt yazılır (yapılandırılmışsa)|
|NVMe + SSD||NVMe||SSD||Salt yazılır|
|NVMe + HDD||NVMe||HDD||Okuma ve Yazma|
|SSD + HDD||SSD||HDD||Okuma ve Yazma|
|NVMe + SSD + HDD||NVMe||SSD + HDD||HDD için Okuma ve Yazma, SSD için salt yazılır|
Sunucu tarafı mimarisi
Önbellek, sürücü seviyesinde uygulanır: Bir sunucu bünyesindeki bağımsız önbellek sürücüleri, aynı sunucudaki bir veya pek çok kapasite sürücüsüne bağlanır.
Önbellek Windows yazılımı tanımlı depolama yığınının geri kalanının altında olduğundan, Depolama Alanları veya arızaya dayanıklılık gibi kavram farkındalıklarına sahip değildir veya bunlara ihtiyaç duymaz. Bunu o an Windows'a sunulan "hibrid" (kısmen flash, kısmen disk) sürücü oluşturmak gibi düşünebilirsiniz. Gerçek hibrid bir sürücü gibi fiziksel ortamın daha hızlı ve daha yavaş bölümleri arasındaki gerçek zamanlı sıcak ve soğuk veri hareketi, dışarıdan neredeyse hiç görülmez.
Depolama Alanları Doğrudan'daki dayanıklılığın en azından sunucu seviyesinde olduğu (yani, veri kopyaları çoğunlukla sunucu başına bir kopya olmak üzere her zaman farklı sunuculara yazılır) göz önünde bulundurulduğunda önbellekteki veriler, önbellekte olmayan verilerle aynı dayanıklılıktan yararlanır.
Örneğin, üç yönlü yansıtma kullanılırken verilerin üç kopyası, önbelleğe alındıkları farklı sunuculara yazılır. Bu üç kopya, daha sonra kalıcı belleğe aktarılıp aktarılmamasına bakılmaksızın her zaman varlığını sürdürür.
Sürücü bağlamaları dinamiktir
Önbellek ile kapasite sürücüleri arasındaki bağlama işleminde 1:1'den 1:12 ve daha fazlasına kadar bir oran bulunabilir. Sürücü eklendiğinde veya kaldırıldığında (örn. yukarı ölçeklendirme yapılırken veya arızalardan sonra) dinamik olarak ayarlama yapar. Bu, önbellek sürücülerini veya kapasite sürücülerini istediğiniz zaman birbirinden 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ülerinin sayısının katı olarak belirlenmesini öneririz. Örneğin, 4 adet önbellek sürücünüz varsa 8 kapasite sürücüsü ile (1:2 oranında) 7 veya 9 sürücüye göre daha eşit bir performans elde edersiniz.
Önbellek sürücüsü arızalarını giderme
Bir önbellek sürücüsü arızalandığında henüz kalıcı belleğe aktarılmamış yazma işlemleri, yerel sunucuda kaybolur; yani, bunlar, sadece diğer kopyada (diğer sunucularda) varlığını sürdürür. Depolama Alanları, diğer sürücü arızalarından sonra olduğu gibi kurtarılan kopyalara danışarak otomatik olarak geri yüklenir ve yüklenebilir.
Kaybolan önbellek sürücüsüne bağlanan kapasite sürücüleri, kısa bir süre için kötü durumda görünür. Önbellek yeniden bağlama işlemi (otomatik) gerçekleştirilerek veri onarımı (otomatik) tamamlandığında bu sürücüler iyi olarak görüntülenmeye devam eder.
Bu senaryo, performansı sürdürmek için sunucu başına minimum iki önbelleğin gerekli olmasını açıklar.
Daha sonra önbellek sürücüsünü diğer yedek sürücüler 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 gücü kesmeniz gerekebilir.
Diğer önbelleklerle ilişki
Windows yazılımı tanımlı depolama yığınında başka birçok ilgisiz önbellek vardır. Örnekler arasında Depolama Alanları geri yazma önbelleği, ReFS okuma önbelleği ve Küme Paylaşılan Birimi (CSV) bellek içi okuma önbelleği bulunur.
Depolama Alanları Doğrudan sayesinde Depolama Alanları geri yazma önbelleği ve ReFS okuma önbelleğinin varsayılan davranışı değiştirilmemelidir. Örneğin, Yeni Birim cmdlet'inde bulunan -WriteCacheSize gibi parametreler kullanılmamalıdır.
CSV önbelleğini ister seçebilir, ister seçmeyebilirsiniz; seçim sizindir. Bu özellik, Depolama Alanları Doğrudan'da varsayılan olarak kapalıdır ancak bu konuda açıklanan yeni önbellekle hiçbir şekilde çelişmez. Belirli senaryolarda değerli performans kazanımları sağlayabilir. Daha fazla bilgi için CSV Önbelleğini Etkinleştirme başlıklı makaleye bakın.
Çoğu dağıtımlar için manüel yapılandırma gerekli değildir. İhtiyaç duymanız durumunda okumaya devam edin!
Önbellek sürücü modelini belirtme
Tüm sürücülerin aynı türde olduğu, tümü NVMe veya tümü SSD dağıtımları gibi dağıtımlarda Windows, aynı türdeki sürücüler arasında otomatik olarak yazmaya dayanıklılık gibi özellikleri belirleyemediği için hiçbir önbellek yapılandırılmaz.
Aynı türdeki daha düşük dayanıklılığa sahip sürücüleri önbelleklemek üzere daha yüksek dayanıklılığa sahip sürücüleri kullanmak için Enable-ClusterS2D cmdlet'inin -CacheDeviceModel parametresiyle kullanılacak sürücü modelini belirleyebilirsiniz. Depolama Alanları Doğrudan etkinleştirildiğinde bu modeldeki tüm sürücüler, önbellekleme için kullanılır.
İpucu
Model dizisinin Get-PhysicalDisk çıkışında göründüğü şekilde olduğundan emin olun.
Örnek
PS C:\> Get-PhysicalDisk | Group Model -NoElement Count Name ----- ---- 8 FABRIKAM NVME-1710 16 CONTOSO NVME-1520 PS C:\> Enable-ClusterS2D -CacheDeviceModel "FABRIKAM NVME-1710"
PowerShell'deki Get-PhysicalDisk öğesini çalıştırarak ve Kullanım özelliğinde "Günlük" yazdığından emin olarak kullanmayı düşündüğünüz sürücülerin önbellekleme için kullanılıp kullanılmadığını kontrol edebilirsiniz.
Manüel dağıtım olasılıkları
Manüel yapılandırma, aşağıdaki dağıtım olasılıklarını sağlar:
Önbellek davranışını ayarlama
Önbelleğin varsayılan davranışını devre dışı bırakmak mümkündür. Örneğin, tümü flash bir dağıtımda bile bunu yazma işlemlerini önbellekleyecek şekilde ayarlayabilirsiniz. Varsayılan davranışın iş yükünüze uygun olmadığından emin olmadığınız sürece bu davranışı değiştirmenizi tavsiye etmiyoruz.
Bu davranışı devre dışı bırakmak için Set-ClusterS2D cmdlet'i ile -CacheModeSSD ve -CacheModeHDD parametrelerini kullanın. CacheModeSSD parametresi, katı hal sürücülerinde önbellekleme yaparken önbellek davranışını ayarlar. CacheModeHDD parametresi, sabit disk sürücülerinde önbellekleme yaparken önbellek davranışını ayarlar. Bu işlem, Depolama Alanları Doğrudan etkinleştirildikten sonra herhangi bir zamanda gerçekleştirilebilir.
Davranışın ayarlandığından emin olmak için Get-ClusterS2D öğesini kullanabilirsiniz.
Örnek
PS C:\> Get-ClusterS2D CacheModeHDD : ReadWrite CacheModeSSD : WriteOnly ... PS C:\> Set-ClusterS2D -CacheModeSSD ReadWrite PS C:\> Get-ClusterS2D CacheModeHDD : ReadWrite CacheModeSSD : ReadWrite ...
Önbelleği boyutlandırma
Önbellek, uygulama ve iş yüklerinize çalışma kümesi (belirli bir zamanda etkin şekilde okunan veya yazılan veriler) sağlamak için boyutlandırılmalıdır.
Bu, özellikle sabit disk sürücülerinin bulunduğu hibrid dağıtımlarda önemlidir. Etkin çalışma kümesi, önbelleğin boyutunu aşıyorsa veya etkin çalışma kümesi çok hızlı değişiyorsa okuma önbelleği kayıpları artar ve yazma işlemlerinin kalıcı belleğe aktarılması gerekir, ki bu da genel performansı olumsuz yönde etkiler.
Önbellek kayıplarının oranını incelemek için Windows'daki yerleşik Performans İzleyicisi (PerfMon.exe) yardımcı programını kullanabilirsiniz. Özelikle, Önbellek Kayıp Okuma İşlemleri/sn. öğelerini Küme Depolama Hibrid Diski karşı kümesinden dağıtımınızın genel okuma IOPS'sine kadar karşılaştırabilirsiniz. Her bir "Hibrid Disk", bir kapasite sürücüsüne karşılık gelir.
Örneğin, 4 kapasite sürücüsüne bağlı olan 2 önbellek sürücüsü, sunucu başına 4 "Hibrid Disk" nesnesi örneği sağlar.
Evrensel bir kural yoktur ancak önbellekte çok fazla okuma işlemi kayıpsa önbelleğin boyutu azalabilir ve bu durumda önbelleğinizi genişletmek için önbellek sürücüsü eklemeyi düşünmeniz gerekir. Önbellek sürücülerini veya kapasite sürücülerini istediğiniz zaman birbirinden bağımsız olarak ekleyebilirsiniz.