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 PMem , yeni bir düşük gecikme süresi ve yüksek performanslı depolama türü olan kalıcı belleği ifade eder.
NVMe 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 SSD , geleneksel SATA veya SAS üzerinden bağlanan katı hal sürücülerini ifade eder.
HDD 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.

Diyagramda, kapasite için NVMe, kapasite için SSD ile önbellek için NVMe ve kapasite için SSD dahil olmak üzere tüm flash dağıtımlar gösterilir.

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.

Diyagramda, kapasite için HDD ile önbellek için NVMe, kapasite için HDD ile önbellek için SSD ve kapasite için HDD artı SSD ile önbellek için NVMe gibi karma dağıtımlar gösterilmektedir.

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.

Diyagram, HDD'yi temsil eden NVMe, SSD, etiketsiz disk sırasıyla daha hızlı ve yavaş yerleştirilmiş disk türlerini gösterir.

Ö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.

Yazmaların önbelleğe alındığı ve okunmadığı tüm flash için önbelleğe alma işlemini karşılaştıran diyagram, hem okuma hem de yazmaların önbelleğe alındığı karma ile.

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.

Diyagram, etiketsiz kapasite sürücülerine erişen NVMe sürücülerinin önbellek katmanına erişen bir Depolama Alanı katmanında üç yönlü yansıtma ile birleştirilen üç sunucuyu temsil eder.

Ö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.

Animasyonlu diyagramda ilk dört, sonra altı ve sonra sekiz kapasite sürücüsüne dinamik olarak eşlenmiş iki NVMe önbellek sürücüsü gösterilir.

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.

Animasyonlu diyagramda, bir önbellek sürücüsü başarısız olana kadar altı kapasite sürücüsüne eşlenmiş iki SSD önbellek sürücüsü gösterilir ve bu da altı sürücünün tümünün kalan önbellek sürücüsüne eşlenmesine neden olur.

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:

Diyagramda hem önbellek hem de kapasite için NVMe, hem önbellek hem de kapasite için SSD ve önbellek için SSD ile kapasite için karma SSD ve HDD gibi dağıtım olanakları gösterilmektedir.

Ö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.

Performans İzleyicisi.

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: