Wirtualizacja rozwija się bardzo dynamicznie szczególnie przez ostatnie kilka lat. W 2011 roku ponad 50% serwerów na świecie to wirtualne maszyny. Dzięki wirtualizacji system IT jest bardziej elastyczny oraz efektywniejszy.

Wirtualizacja zmieniła działanie centrów danych. Sprawiła, że zarządzanie i wdrażanie usług IT jest prostsze. Ale, przed wprowadzeniem VMware VAAI, wielu administratorów IT miało doświadczenia z następującymi problemami:

  • Czasochłonność: Konfigurowanie dużych maszyn wirtualnych jest czasochłonne. Ponieważ inicjowanie maszyny wirtualnej (VM) wymaga dostępu do sporych zasobów obliczeniowych. (Proces ten nazywa się “zeroing VMDK”)
  • Niska wydajność: Podczas klonowania dużych maszyn wirtualnych (VM) lub przenoszenia VM między różnymi serwerami ESXi. (Proces ten to  “vMotion”)
  • Hypervisor niezintegrowany z pamięcią sieciową: W sytuacji gdy VM przechowywane są na LUN-ie z włączonym Thin Provisioning i Hypervisor będzie chciał zapisać dane na takiej maszynie wirtualnej, ale na fizycznym serwerze, na którym znajduje się LUN nie ma już miejsca, to maszyna wirtualna „zamrozi” się bez ostrzeżenia.

VMware vSphere VAAI

W celu zwiększenia wydajności i naprawienia powyższych problemów, VMware opracował VAAI (vStorage API dla Integracji Macierzy). VAAI pomaga odciążyć serwery ESXi przez przeniesienie niektórych zadań na pamięci masowe, które są kompatybilne z VAAI. W ten sposób można zmniejszyć obciążenie serwera ESXi, a zaoszczędzone zasoby wykorzystać na inne ważniejsze zadania.

VAAI zawiera:

  1. ATS(Atomic Test & Set) – Hardware Assisted Locking
  2. Full copy
  3. Block Zeroing
  4. Thin Provisioning

W tym artykule opiszemy jak DSM wykorzystuje ATS.

ATS – Hardware Assisted Locking (Atomic Test & Set)

Przed vSphere 5.0, gdy kilka serwerów ESXi chciało mieć dostęp do tego samego pliku na tym samym wolumenie VMFS, wyzwalało to Reservation Lock. Mechanizm zapobiegający konfliktowi danych, który występuje przy wielodostępie. Trzeba dodać, że mimo iż faktycznie zabezpiecza to integrację danych, to wpływa na niską wydajność całego systemu.

ATS pozwala dla serwera ESXi tylko na rezerwację wybranych bloków wolumenu VMFS. W przeciwieństwie do Reservation Lock, który rezerwował cały wolumen, dla jednego serwera. Mechanizm ATS rezerwuje tylko bloki, z których chce skorzystać serwer ESXi. Pozostałe serwery nadal mogą skorzystać z bloków znajdujących się na wolumenie VMFS, oczywiście jeżeli nie zostały zablokowane dla innego serwera. W rezultacie mechanizm ATS zwiększa wydajność całego systemu.

Test wydajności ATS:

Porównanie wyników wydajności przed i po wprowadzeniu ATS to najlepszy sposób na pokazanie różnic. Poniżej informacje o środowisku testowym:

Specyfikacja serwera ESXi:

  • CPU: Intel(R) Core(TM) i5-2400 CPU @3.10GHz 4 Core
  • RAM: 8GB RAM
  • NIC: Intel 82574L Gigabit x 2
  • OS: ESX 5.0.0 504890
  • Dysk twardy: Hitachi HDS721050CLA662
  • Płyta główna: MSI MS-7740

Jako pamięć masową wykorzystaliśmy DiskStation DS3611xs w konfiguracji jak poniżej:

  • Dyski: WD 2TB WD2002FAEX-007BA x 2
  • Dyski: WD 2TB WD20EARS-60MVWB0 x 2
  • Tryb Raid: RAID 5 (4-dyski)
  • File-based iSCSI VAAI LUN
  • File-based iSCSI None-VAAI LUN

Test ATS

Zadaniem tego testu było utworzenie kilku maszyn wirtualnych (VM) jednocześnie, na jednym LUN-ie iSCSI. Najpierw podłączyliśmy LUN utworzony na DS3611xs do kliku serwerów ESXi. Następnie z poziomu serwerów ESXi tworzyliśmy/kasowaliśmy w tym samym czasie maszyny wirtualne, na tym samym LUN-ie. Proces tworzenie i kasowanie maszyn wirtualnych odbywał się w sposób ciągły. Benchmark był uruchomiony przez czas, jaki był wymagany na utworzenie 1,000 wirtualnych maszyn. Jak widać na poniższym wykresie osiągi są 9 razy większe z ATS niż z Reservation Lock.

 

Podsumowanie

W środowisku wirtualizacji przeważnie przechowuje się kilka plików obrazów maszyn wirtualnych na tym samym LUN-ie iSCSI. LUN jest podłączony do kilku serwerów ESXi między, którymi współdzieli dostępne zasoby. Pamięci masowe, które wspierają tylko Reservation Lock blokują cały LUN w celu zabezpieczenia integracji danych. Jednakże gdy obsługiwany jest dodatkowo ATS, serwer blokuje tylko wybrane bloki wolumenu LUN. Przeprowadzony test pokazał jak duża jest różnica w wydajności między Reservation Lock i ATS. Tłumaczy to także, dlaczego większość firm produkujące pamięci masowe chce, aby ich produkty nie tylko miały certyfikat zgodności VMware Ready, ale były również w pełni kompatybilne z VAAI.