Czy bawiliście się kiedyś przypisywaniem procesorów wirtualnych do procesorów fizycznych.
W VMware można to oczywiście robić, wyznaczając konkretne procesory fizyczne (czy ich reprezentację w przypadku HT) czy konfigurując zakres procesorów.
Generalnie takie ustawienie działa i jest rekomendowane dla serwerów w stosunku do których jest wymagana przewidywalność działania i mała latencja. Czyli na przykład dla systemów bazodanowych albo zbliżonych do obsługi czasu rzeczywistego.
Ustawienie takie można zrobić w kliencie windows edytując wirtualny system w następujący sposób:
PROBLEM pojawia się, kiedy system taki utylizuje całą pamięć którą zarządza jeden procesor. Tutaj wkracza NUMA, jej ustawienia. Załóżmy, że przypiszemy dla wirtualnego wszystkie procesory w jednej NUMA i również całą pamięć którą zarządza dany procesor. Wówczas z dużym prawdopodobieństwem taki system zatrzyma się w niespodziewanym momencie (po zapełnieniu pamięci RAM). Wynika to z tego, że w obrębie NUMA musi być zabezpieczona przestrzeń do obsługi danego systemu przez ESXi. Taką pamięć szacuje się na <= 5% wartości pamięci NUMA.
Zatem pamiętajmy. Wirtualizacja nie jest za darmo, obsługa każdej maszyny wirtualnej kosztuje trochę pamięci. Warto o tym pamiętać, przy stawianiu krytycznych i dużych systemów wirtualnych.
No Comments