Aracılığıyla paylaş


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 olan Depolama Alanları Doğrudan, maliyetleri düşürürken depolama performansını en üst düzeye çıkarmak için yerleşik bir sunucu tarafı önbelleğine sahiptir. Dağıtım sırasında otomatik olarak yapılandırılan büyük, kalıcı, gerçek zamanlı bir okuma ve yazma önbelleğidir. Çoğu durumda, herhangi bir manuel 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 tür sürücüyle çalışmaktadır:

Sürücü türü Açıklama
PMemPMemPMem PMem , yeni bir düşük gecikme süresi ve yüksek performanslı depolama türü olan kalıcı belleği ifade eder.
NVMe (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 Add-In-Card (AIC) ve M.2'dir. NVMe, PMem dışında bugün desteklediğimiz diğer tüm sürücü türlerinden daha düşük gecikme süresiyle daha yüksek IOPS ve G/Ç verimi sunar.
SSD SSD, geleneksel SATA veya SAS aracılığıyla bağlanan katı hal sürücülerini ifade eder.
HDD (Sabit Disk) HDD , düşük maliyetle geniş depolama kapasitesi sunan döner, manyetik sabit disk sürücülerini ifade eder.

Bunlar, iki kategoriye ayırdığımız çeşitli şekillerde birleştirilebilir: "all-flash" ve "hibrit". Tüm HDD ile dağıtımlar desteklenmez.

Uyarı

Bu makale NVMe, SSD ve HDD ile önbellek yapılandırmalarını kapsar. Kalıcı belleği önbellek olarak kullanma hakkında daha fazla bilgi için bkz: Kalıcı belleği anlama ve dağıtma.

All-flash dağıtım olanakları

Tamamen flash dağıtımlar, depolama performansını en üst düzeye çıkarmayı amaçlar ve HDD'yi içermez.

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

Hibrit dağıtım olanakları

Karma dağıtımlar, performans ve kapasiteyi dengelemeyi veya kapasiteyi en üst düzeye çıkarmayı amaçlar ve HDD'yi içerir.

Diyagramda, kapasite için HDD ile önbellek için NVMe, kapasite için HDD ile önbellek için SSD ve HDD ile önbellek için NVMe ve kapasite için SSD dahil olmak üzere karma dağıtımlar gösterilmektedir.

Uyarı

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.

Ö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 önbelleğe alma için en hızlı türdeki tüm sürücüleri otomatik olarak kullanır. Kalan diskler kapasite için kullanılır.

Hangi türün "en hızlı" olduğu aşağıdaki hiyerarşiye göre belirlenir.

Diyagram, HDD'yi temsil eden NVMe, SSD, etiketlenmemiş disk sırasına göre daha hızlıdan daha yavaşa doğru düzenlenmiş disk türlerini gösterir.

Örneğin, NVMe ve SSD'leriniz varsa, SSD'ler için NVMe önbelleği.

SSD'leriniz ve HDD'leriniz varsa, SSD'ler HDD'leri önbelleğe alır.

Uyarı

Önbellek sürücüleri, kümeye kullanılabilir depolama kapasitesi katkıda bulunmaz. Önbellekte depolanan tüm veriler de başka bir yerde saklanır veya bir kez devre dışı bırakıldığında 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, önbellek otomatik olarak yapılandırılmaz. Aynı türdeki daha düşük dayanıklılığa sahip sürücüleri önbelleğe almak için daha yüksek dayanıklılığa sahip sürücüleri manuel olarak yapılandırma seçeneğiniz vardır - nasıl yapılacağını öğrenmek için Manuel yapılandırma bölümüne bakın.

Tavsiye

Bazı durumlarda, depolama havuzu önbelleğini kullanmak mantıklı değildir. Örneğin, tamamen NVMe veya tamamen SSD dağıtımlarında, özellikle çok küçük ölçekte, önbellekte "harcanan" hiçbir sürücünün olmaması, depolama verimliliğini artırabilir ve performansı en üst düzeye çıkarabilir. Benzer şekilde, küçük uzak ofis veya şube 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ülerin türüne (öğelerine) göre otomatik olarak belirlenir. Flash sürücüler için önbelleğe alırken (SSD'ler için NVMe önbelleğe alma gibi), yalnızca yazmalar önbelleğe alınır. Dönen disk sürücüleri için önbelleğe alma sırasında (SSD'lerin HDD'ler için önbelleğe alınması gibi), hem okumalar hem de yazmalar önbelleğe alınır.

Yazmaların önbelleğe alındığı ve okumaların önbelleğe alınmadığı all-flash için önbelleğe almayı, hem okumaların hem de yazmaların önbelleğe alındığı karma ile karşılaştıran diyagram.

Tamamen flash dağıtımlar için salt yazılır önbelleğe alma

Önbelleğe alma, örneğin SSD'lerin performansını hızlandırmak için NVMe'yi önbellek olarak kullanmak gibi tamamen flash bir senaryoda kullanılabilir. Tamamen flash dağıtımları için önbelleğe alırken, yalnızca yazmalar önbelleğe alınır. Bu, kapasite sürücülerindeki aşınmayı azaltır çünkü birçok yazma ve yeniden yazma işlemi önbellekte birleşebilir ve ardından yalnızca gerektiğinde devre dışı bırakılabilir, bu da kapasite sürücülerine giden kümülatif trafiği azaltır ve ömürlerini uzatır. Bu nedenle, önbellek için daha yüksek dayanıklılığa sahip, yazma için optimize edilmiş sürücüler seçmenizi öneririz. Kapasite sürücüleri makul ölçüde daha düşük yazma dayanıklılığına sahip olabilir.

Okumalar flash'ın ömrünü önemli ölçüde etkilemediğinden ve SSD'ler evrensel olarak düşük okuma gecikmesi sunduğundan, okumalar önbelleğe alınmaz: doğrudan kapasite sürücülerinden sunulur (verilerin çok yakın zamanda yazıldığı ve henüz kaldırılmadığı durumlar hariç). Bu, önbelleğin tamamen yazmaya ayrılmasına olanak tanıyarak etkinliğini en üst düzeye çıkarır.

Bu, yazma gecikmesi gibi yazma özelliklerinin önbellek sürücüleri tarafından dikte edilmesine, okuma özelliklerinin ise kapasite sürücüleri tarafından dikte edilmesine neden olur. Her ikisi de tutarlı, öngörülebilir ve tekdüzedir.

Karma dağıtımlar için okuma/yazma önbelleği

HDD için önbelleğe alırken, her ikisi için de flaş benzeri gecikme süresi (genellikle ~ 10 kat daha iyi) sağlamak için hem okumalar hem de yazmalar önbelleğe alınır. Okuma önbelleği, hızlı erişim ve HDD'lere gelen rastgele trafiği en aza indirmek için en son ve sık okunan verileri depolar. (Arama ve döndürme gecikmeleri nedeniyle, bir HDD'ye rastgele erişimin neden olduğu gecikme ve kayıp zaman önemlidir.) Yazma işlemleri, ani artışları absorbe etmek ve daha önce olduğu gibi yazma ve yeniden yazma işlemlerini birleştirmek ve kapasite sürücülerine giden kümülatif trafiği en aza indirmek için önbelleğe alınır.

Depolama Alanları Doğrudan, iş yükünden (sanal makineler gibi) gelen gerçek G/Ç rastgele olduğunda bile sıralı görünen bir GÇ desenini diske taklit etmek için yazmaları hazırlamadan önce rastgele hale getiren bir algoritma uygular. Bu, HDD'lere giden IOPS'yi 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 hangi sürücülerin, kapasite için hangilerinin kullanıldığı ve her dağıtım olasılığı için önbelleğe alma davranışının ne olduğu özetlenmektedir.

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) Katı Hal Sürücüsü (SSD) Salt yazma (yapılandırılmışsa)
NVMe + SSD NVMe Katı Hal Sürücüsü (SSD) Salt yazma
NVMe + HDD NVMe Sabit Disk Sürücüsü Okuma + Yazma
SSD + HDD Katı Hal Sürücüsü (SSD) Sabit Disk Sürücüsü Okuma + 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 daha fazla 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 hata toleransı gibi kavramlar hakkında herhangi bir farkındalığa sahip değildir ve buna ihtiyaç duymaz. Bunu, daha sonra işletim sistemine sunulan "hibrit" (kısmen flash, kısmen disk) sürücüler oluşturmak olarak düşünebilirsiniz. Gerçek bir hibrit sürücüde olduğu gibi, fiziksel ortamın daha hızlı ve daha yavaş bölümleri arasındaki sıcak ve soğuk verilerin gerçek zamanlı hareketi dışarıdan neredeyse görünmezdir.

Depolama Alanları Doğrudan'daki dayanıklılığın en az sunucu düzeyinde olduğu göz önüne alındığında (veri kopyaları her zaman farklı sunuculara yazılır; sunucu başına en fazla bir kopya olmak üzere), önbellekteki veriler önbellekte olmayan verilerle aynı dayanıklılıktan yararlanır.

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

Örneğin, üç yönlü yansıtma kullanılırken, herhangi bir verinin üç kopyası farklı sunuculara yazılır ve burada önbelleğe alınır. Daha sonra sahneye çıkarılıp çıkarılmadıklarına bakılmaksızın, her zaman üç kopya bulunur.

Sürücü bağlamaları dinamiktir

Önbellek ve kapasite sürücüleri arasındaki bağlama, 1:1 ile 1:12 ve üzeri arasında herhangi bir orana sahip olabilir. Ölçek artırırken veya arızalardan sonra olduğu gibi, sürücüler eklendiğinde veya çıkarıldığında 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, dinamik olarak önce dört, sonra altı, sonra sekiz kapasiteli sürücüye eşlenen iki NVMe önbellek sürücüsü gösterilmektedir.

Simetri için kapasite sürücülerinin sayısını önbellek sürücülerinin sayısının katları yapmanızı öneririz. Örneğin, 4 önbellek sürücünüz varsa, 8 kapasiteli sürücüyle (1:2 oranında) 7 veya 9 sürücüye göre daha eşit performans elde edersiniz.

Önbellek sürücüsü hatalarını işleme

Bir önbellek sürücüsü başarısız olduğunda, henüz aşaması kaldırılmamış tüm yazma işlemleri yerel sunucuda kaybolur, yani yalnızca diğer kopyalarda (diğer sunucularda) bulunurlar. Tıpkı diğer tüm sürücü arızalarından sonra olduğu gibi, Depolama Alanları da hayatta 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 sağlıksız görünür. Önbellek yeniden bağlama gerçekleştikten (otomatik) ve veri onarımı tamamlandıktan (otomatik) sonra, iyi durumda olarak gösterilmeye devam ederler.

Bu senaryo, performansı korumak için sunucu başına en az iki önbellek sürücüsünün gerekli olmasının nedenidir.

Animasyonlu diyagramda, bir önbellek sürücüsü arızalanana kadar altı kapasite sürücüsüne eşlenen iki SSD önbellek sürücüsü gösterilmektedir 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.

Uyarı

Add-In Kartı (AIC) veya M.2 form faktörü olan NVMe'yi güvenli bir şekilde değiştirmek için gücü kapatmanız gerekebilir.

Diğer önbelleklerle ilişki

Windows yazılım tanımlı depolama yığınında birkaç ilgisiz önbellek daha 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, cmdlet'inde New-Volume -WriteCacheSize gibi parametreler kullanılmamalıdır.

CSV önbelleğini kullanmayı seçebilir veya kullanmayabilirsiniz - bu size kalmış. 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 Azure Stack HCI ile CSV bellek içi okuma önbelleğini kullanma bölümüne bakın.

El ile yapılandırma

Çoğu dağıtım için el ile yapılandırma gerekli değildir. İhtiyaç duymanız 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 Belgesi'ni düzenleyin.

Önbellek sürücüsü modelini belirtin

Tüm NVMe veya tüm 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 edemediğinden önbellek yapılandırılmaz.

Aynı türdeki daha düşük dayanıklılığa sahip sürücüleri önbelleğe almak üzere daha yüksek dayanıklılığa sahip 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 almak için kullanılır.

Tavsiye

Model dizesini tam olarak Get-PhysicalDisk çıktısında göründüğü gibi eşleştirdiğinizden emin olun.

Örnek

İlk olarak, fiziksel disklerin bir 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 Kullanım özelliğinin "Günlük" olduğunu doğrulayarak, hedeflediğiniz sürücülerin önbelleğe alma için kullanıldığını doğrulayabilirsiniz.

Manuel dağıtım olanakları

El ile yapılandırma, aşağıdaki dağıtım olanaklarını sağlar:

Diyagramda, hem önbellek hem de kapasite için NVMe, hem önbellek hem de kapasite için SSD ve önbellek için SSD ve kapasite için karma SSD ve HDD dahil olmak üzere dağıtım olasılıkları gösterilmektedir.

Önbellek davranışını ayarla

Önbelleğin varsayılan davranışını geçersiz kılmak mümkündür. Örneğin, tamamen flash dağıtımında bile okumaları önbelleğe alacak şekilde ayarlayabilirsiniz. Varsayılanın iş yükünüze uygun olmadığından emin olmadığınız sürece davranışı değiştirmenizi önermeyiz.

Davranışı geçersiz kılmak için Set-ClusterStorageSpacesDirect cmdlet'ini ve -CacheModeSSD ve -CacheModeHDD parametrelerini kullanın. CacheModeSSD parametresi, SSD için önbelleğe alma sırasında önbellek davranışını ayarlar. CacheModeHDD parametresi, HDD'yi önbelleğe alırken ö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

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

Ö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üleriyle yapılan karma dağıtımlarda önemlidir. Etkin çalışma kümesi önbelleğin boyutunu aşarsa veya etkin çalışma kümesi çok hızlı bir şekilde kayarsa, okuma önbelleği ıskalamaları artar ve yazma işlemlerinin daha agresif bir şekilde kaldırılması gerekir, bu da genel performansa zarar verir.

Ö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ı kümesinden Önbellek Eksik Okuma/sn değerini dağıtımınızın genel okuma IOPS'si ile 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ğiyle sonuçlanır.

Performans İzleyicisi.

Evrensel bir kural yoktur, ancak önbellekte çok fazla okuma eksikse, küçük boyutlu olabilir ve önbelleğinizi genişletmek için önbellek sürücüleri eklemeyi düşünmelisiniz. Ö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:

  • hataya dayanıklılık ve depolama verimliliği
  • Küme ve havuz çoğunluğu