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
Azure Stack HCI ve Windows Server'ın arkasındaki temel depolama sanallaştırma teknolojisi Depolama Alanları Doğrudan, depolama performansını en üst düzeye çıkarırken maliyetleri azaltmak 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ı okuma ve yazma önbelleğidir. Çoğu durumda, hiçbir şekilde el ile yönetim gerekmez. Ö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 şu anda dört sürücü türüyle çalışıyor:
Sürücü türü | Description |
---|---|
PMem , yeni bir düşük gecikme süresi ve yüksek performanslı depolama türü olan kalıcı belleği ifade eder. | |
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" 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 üzerinden 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ım olanakları
Tümü flash dağıtımlar, depolama performansını en üst düzeye çıkarmayı hedefler ve HDD içermez.
Karma dağıtım olasılıkları
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, tümü NVMe veya all-SSD), tek sunucu için desteklenen tek depolama türüdür.
Önbellek sürücüleri otomatik olarak seçilir
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ürdeki 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ılıklı sürücüler için önbelleğe almak üzere yüksek dayanıklılık sürücülerini 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.
Önbellek davranışı otomatik olarak ayarlanır
Önbelleğin davranışı, önbelleğe alınan sürücü 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 alırken (HDD'ler için SSD önbelleğe alma gibi), hem okuma hem de yazma işlemleri önbelleğe alınır.
Tüm flash dağıtımlar için yalnızca yazma önbelleği
Ö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 flash 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 yıpranmayı azaltır çünkü birçok yazma ve yeniden yazma işlemi önbellekte birikebilir 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 bir şekilde 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 (veriler henüz hazırlanmamış olan bu kadar yakın zamanda yazıldığı durumlar dışında). Bu, önbelleğin tamamen yazma işlemlerine ayrılması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.
Karma dağıtımlar için okuma/yazma önbelleği
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 üzere hem okuma hem de yazma işlemleri önbelleğe alınır. Okuma önbelleği, hızlı erişim ve HDD'lere yönelik 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, seri artışları emecek ve daha önce olduğu gibi 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 olarak kaldıran bir algoritma uygular. Bu, HDD'lere yönelik IOPS ve aktarım hızını en üst düzeye çıkarır.
NVMe, SSD ve HDD ile dağıtımlarda önbelleğe alma
Her üç türdeki 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.
Özet
Bu tabloda önbelleğe alma için kullanılan sürücüler, 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 | Yok (İsteğe bağlı: el ile yapılandır) | NVMe | Salt yazma (yapılandırılmışsa) |
Tüm SSD'ler | Yok (İsteğe bağlı: el ile yapılandır) | SSD | Salt yazma (yapılandırılmışsa) |
NVMe + SSD | NVMe | SSD | Yalnızca 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 |
Sunucu tarafı mimarisi
Ö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ın farkındalığı yoktur veya buna gerek yoktur. 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ı önbellekte bulundukları farklı sunuculara yazılır. Daha sonra aşamalı olup olmadıklarına bakılmaksızın, her zaman üç kopya olacaktır.
Sürücü bağlamaları dinamiktir
Ö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 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ı önbellek sürücüsü sayısının katı haline getirmenizi öneririz. Örneğin, 4 önbellek sürücüsüne sahipseniz 8 kapasite sürücüsünde (1:2 oran) 7 veya 9'a göre daha eşit bir performansla karşılaşırsınız.
Önbellek sürücüsü hatalarını işleme
Önbellek sürücüsü başarısız olduğunda, henüz hazırlanmamış 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ı 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ü gerekli olmasının nedenidir.
Daha sonra önbellek sürücüsünü diğer sürücü değişimleri gibi değiştirebilirsiniz.
Not
Add-In Kart (AIC) veya M.2 form faktörü olan NVMe'yi güvenli bir şekilde değiştirmek için kapatmanız gerekebilir.
Diğer önbelleklerle ilişki
Windows yazılım tanımlı depolama yığınında başka birkaç 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çebilir veya kullanmayabilirsiniz; 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ımları sağlayabilir. Daha fazla bilgi için bkz. Azure Stack HCI ile CSV bellek içi okuma önbelleğini kullanma.
El ile yapılandırma
Ç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'ne genel bakış bölümünde açıklandığı gibi Sistem Sağlığı Hizmeti'nin Destek Bileşenleri Belgesini düzenleyin.
Önbellek sürücüsü modelini belirtme
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ılıklı sürücüleri ö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şlediğinden emin olun.
Örnek
İlk olarak, fiziksel disklerin listesini alın:
Get-PhysicalDisk | Group Model -NoElement
İşte bazı örnek çıktılar:
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 "Journal" olduğunu doğrulayarak, hedeflediğiniz sürücülerin önbelleğe almak için kullanıldığını doğrulayabilirsiniz.
El ile dağıtım olanakları
El ile yapılandırma aşağıdaki dağıtım olanaklarını etkinleştirir:
Önbellek davranışını ayarlama
Ö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ın iş yükünüz için uygun olmadığından emin değilseniz davranışı değiştirmenizi ö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.
Örnek
İlk olarak Depolama Alanları Doğrudan ayarlarını alın:
Get-ClusterStorageSpacesDirect
İşte bazı örnek çıktılar:
CacheModeHDD : ReadWrite
CacheModeSSD : WriteOnly
Ardından aşağıdakileri yapın:
Set-ClusterStorageSpacesDirect -CacheModeSSD ReadWrite
Get-ClusterS2D
İşte bazı örnek çıktılar:
CacheModeHDD : ReadWrite
CacheModeSSD : ReadWrite
Önbelleği boyutlandırma
Ö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ı sürüklenirse 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 OkumaLarı/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 kural küçük harfe ayrılmış olabilir ve önbelleğinizi genişletmek için önbellek sürücüleri eklemeyi göz önünde bulundurmalısınız. önbellek sürücülerini veya kapasite sürücülerini istediğiniz zaman bağımsız olarak ekleyebilirsiniz.
Sonraki adımlar
Ek depolama bilgisi için ayrıca bkz: