Menu Zamknij

CSV Cache – zwiększanie wydajności dysków w klastrze

W Windows Server 2012/2012R2 wprowadzono dość ciekawą, ale mało udokumentowaną funkcjonalność, która pozwala na wykorzystanie pamięci RAM serwerów w klastrze dla przyspieszenia operacji zapisu i odczytu na storage. Rozwiązanie generalnie pozwala nawet na kilkakrotnie zwiększenie ilość IOPS dla odczytu i kilkunastoprocentowe dla zapisu.

Domyślnie funkcja jest wyłączona (w Windows Server 2012), bowiem jej włączenie i konfiguracja jest zależna od celu wykorzystywania Cache. Rozwiązanie jest wbudowane w funkcje klastra i jego ustawienie nie wymaga operacji na poszczególnych węzłach.

Microsoft zaleca nie przekraczanie dla rozmiaru cache 20% ilości pamięci fizycznej w przypadku serwerów Windows Server 2012 oraz 80% w przypadku Windows Server 2012 R2. Rozwiązanie jest zalecane dla Hyper-V oraz Scale-Out File Servers.

Dla rozwiązań Hyper-V zalecane jest użycie niedużych rozmiarów cache – można zacząć od 512MB i zwiększać ją do 1GB, 2GB i więcej. Natomiast dla Scale-Out File Server powinno się użyć większych rozmiarów.

Konfiguracja dla Windows Server 2012

Z poziomu Powershell (tryb administracyjny) wywołaj polecenie dla utworzenia np. 1GB rozmiaru cache:

(Get-Cluster).SharedVolumeBlockCacheSizeInMB = 1024

Oraz wykonaj polecenia włączenia Cache na poszczególnych dyskach:

Get-ClusterSharedVolume "Cluster Disk 1" | Set-ClusterParameter  CsvEnableBlockCache 1

Po wydaniu powyższych poleceń warto jeszcze przenieść obsługę dysku na inny węzeł – tak by konfiguracja została aktywowana. Zalecany jest też restart poszczególnych serwerów.

Konfiguracja dla Windows Server 2012 R2

Z poziomu Powershell (tryb administracyjny) wywołaj polecenie dla utworzenia np. 1GB rozmiaru cache:

(Get-Cluster).BlockCacheSize = 1024

Zmiany zostaną wprowadzone automatycznie.

CSV Cache nie będzie działać w następujących przypadkach.

  • jeśli użyjemy Storage Spaces z mechanizmami Tiering (automatyczne rozkładanie danych na dyski SSD i SAS w zależności od częstotliwości dostępu)
  • Volumenów deduplikowanych za pomocą systemowego rozwiązania do deduplikacji danych.
  • Volumenów z partycją typu ReFS z włączonym integrity stream.

Monitorowanie działania CSV Cache

Do monitorowania stanu wykorzystania Cache można posłużyć się licznikami z Performance Monitor. Służy do tego sekcja “Cluster CSV Volume Cache” z następującymi licznikami:

Monitoring ilości operacji I/O z cache:

  • Cache IO Read-Bytes
  • Cache IO Read-Bytes/Sec
  • Cache Read
  • Cache Read/Sec

Monitoring ilości operacji I/O z dysków fizycznych:

  • Disk IO Read-Bytes
  • Disk IO Read-Bytes/Sec
  • Disk Read
  • Disk Read/Sec

Monitoring łącznej ilości operacji I/O:

  • IO Read-Bytes
  • IO Read-Bytes/Sec
  • IO Read
  • IO Read/Sec

na podstawie: http://blogs.msdn.com/b/clustering/archive/2013/07/19/10286676.aspx
oraz http://www.thomasmaurer.ch/2012/04/windows-server-8-csv-cache-benchmark/

1 Komentarz

  1. Pingback:Write-Back Cache dla Storage Spaces w Windows 2012 R2 | Chris Polewiak

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Podobne