VHD

Write-Back Cache dla Storage Spaces w Windows 2012 R2

Posted on Updated on

O korzyści włączenia mechanizmu Write-Back Cache na Windows Server 2012 już wcześniej pisałem. Mechanizm ten znacząco wpływa na wydajność zapisu danych na macierzy.

Chciałbym rozszerzyć tę wiedzę o jeszcze jedną ciekawą właściwość. Tiering danych na macierzy Storage Spaces pozwala na podział danych często używanych (hot) od danych mało używanych (cold) i odpowiednio przechowywanie ich na dyskach SSD (wydajność) oraz dyskach Nearline-SAS (pojemność). Domyślnie system w ciągu doby analizuje wykorzystanie danych i po północy porządkuje dane.

Wracając do WBC. Niektóre aplikacje „nie lubią” korzystać z WBC – w pewnych przypadkach aplikacja wciąż korzysta z trybu write-through, bowiem ma dostać potwierdzenie, że dane zostały fizycznie zapisane… a nie czekają sobie w pamięci.

Jeśli włączymy Write-Back Cache na Storage Spaces to system przeznaczy część przestrzeni dysków SSD jako dodatkowy bufor danych. Działanie tej funkcji jest dość proste – w przypadkach zwiększonej ilości operacji zapisu, aby nie zaczęły robić się kolejki system zamiast na dyskach HDD będzie zapisywać dane na SSD. Jak spadnie obciążenie to dane zostaną automatycznie uporządkowane i przeniesione na docelowe dyski HDD.

Write-Back Cache dla Storage Spaces to taki tymczasowy bufor dla danych z potwierdzeniem ich fizycznego zapisania na dysku.

Oczywiście wszystko ma swoje granice – domyślna wartość bufora dla WBC to 1GB, więc jeśli zostanie on przekroczony to kolejki się pojawią. Zwiększanie też rozmiaru bufora nie jest zalecane, bowiem „porządkowanie” danych po szczytowych wartościach będzie nadmiernie obciążać dyski i generować kolejne obciążenia…

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

Posted on Updated on

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/

Zmiana rozmiaru dysków na replikowanych maszynach

Posted on Updated on

Windows Server 2012R2 wprowadził przydatną funkcję, która umożliwia zmianę rozmiaru dysków (VHDX) w locie – bez restartu maszyny.

Co jeśli maszyna jest replikowana. Po zmianie rozmiaru dysku replika się rozjedzie 😦

Rozwiązanie:

  1. Zmieniamy rozmiar dysku VHDX na serwerze master
  2. Zmieniamy rozmiar partycji logicznej na wirtualnej maszynie np. narzędziem Disk Management
  3. Zmieniamy rozmiar dysku VHDX na serwerze repliki.
  4. Przywracamy replikację i dyski zostaną zsynchronizowane.

 

 

Konwersja dysków fizycznych do VHD/VHDX

Posted on

Ukazała się wersja 2.0 narzędzia do konwersji dysków fizycznych do plików VHD/VHDX. Narzędzie jest bardzo proste i może się przydać zarówno przy migracji maszyny P2V jak i w innych pracach administracyjnych jak np. konwersja dysków pass-through do vhdx.

Program można pobrać ze strony Sysinternals: http://technet.microsoft.com/en-us/sysinternals/ee656415