Materiały dotyczące VMware vSphere: Omówienie funkcji HotAdd/HotPlug
W środowisku VMware vSphere przydzielone zasoby mogą okazać się niewystarczające do osiągnięcia wymaganego poziomu wydajności, gdy na maszynie wirtualnej działa wymagająca aplikacja. W takim przypadku optymalnym rozwiązaniem jest dodanie do maszyny wirtualnej dodatkowych zasobów procesora i pamięci.
Gdy na maszynie wirtualnej działają krytyczne aplikacje, nie można pozwolić sobie na jej wyłączenie i ryzyko przestoju. W tej sytuacji przydatna jest funkcja Hot Add z VMware vSphere. Dzięki elastyczności zapewnianej przez wirtualizację VMware można dodać wirtualny procesor i pamięć RAM do uruchomionej maszyny wirtualnej. W tym artykule wyjaśnimy, jak włączyć VMware Hot Add, a także omówimy przypadki użycia, konfigurację i ograniczenia tej funkcji.
Czym jest funkcja VMware Hot Add?
VMware Hot Add to funkcja umożliwiająca dodawanie urządzeń wirtualnych do maszyny wirtualnej podczas jej działania. Domyślnie można dodawać urządzenia wirtualne, takie jak wirtualny dysk twardy (nie IDE), karty sieciowe i urządzenia USB, gdy maszyna wirtualna jest włączona. VMware Hot Add umożliwia dodawanie wirtualnego Procesora (central processing unit) i pamięci RAM (random access memory) w trakcie pracy. Po włączeniu funkcji VMware Hot Add nie ma potrzeby wyłączania maszyny wirtualnej w celu dodania urządzeń wirtualnych.
VMware Hot Add vs Hot Plug
Można zauważyć, że funkcja CPU Hot Add jest czasami nazywana CPU hot plug. Ta sama logika dotyczy pamięci hot add i pamięci hot plug. Te dwa terminy odnoszą się do tego samego i są zamienne.
Uwaga: Nie należy mylić pamięci dynamicznej VMware z pamięcią VMware hot add , ponieważ są to różne funkcje. Pamięć dynamiczna VMware to technika służąca do efektywnego zarządzania pamięcią VMware dla maszyn wirtualnych. Nazwa ta nie jest oficjalną nazwą tej funkcji, ale użytkownicy określają ją jako zaawansowany odpowiednik pamięci dynamicznej Hyper-V. Techniki zarządzania pamięcią VMware obejmują przezroczyste współdzielenie stron, balonowanie pamięci, kompresję pamięci i wymianę pamięci.
Wymagania i ograniczenia
Istnieją wymagania i ograniczenia dotyczące dodawania wirtualnych procesorów (vCPU) VMware i pamięci do uruchomionych maszyn wirtualnych:
- System operacyjny gościa (OS) musi obsługiwać funkcję dodawania urządzeń na gorąco.
- Kompatybilność sprzętowa maszyny wirtualnej (wersja sprzętu wirtualnego) wynosi 7 lub wyższą.
- {15} powinien być zainstalowany w systemie operacyjnym gościa.
Fault Tolerancenie może być włączony dla maszyny wirtualnej.- Aby włączyć funkcję
Hot Add, maszyna wirtualna musi być wyłączona. - Należy używać licencji
VMware vSphere Advanced,EnterpriselubEnterprise Plus. VMware vSphereEnterprise Plusobsługuje zarównoCPU hot addjak i pamięćhot add. Zapoznaj się z Przewodnik po licencjach VMware , aby sprawdzić dostępne funkcje dla innych edycji i systemów operacyjnych gościa.
Przed dodaniem vCPU należy wziąć pod uwagę ograniczenia licencyjne systemu operacyjnego gościa oraz aplikacji zainstalowanych na maszynie wirtualnej. Konieczne może być zakupienie dodatkowych licencji, aby uruchomić oprogramowanie na większej liczbie procesorów.
Systemy operacyjne gości obsługujące Hot Add to Windows Server 2003 i nowsze oraz Linux z kernel 3.8 i nowszymi wersjami. Najwyższe edycje Windows Server obsługują zarówno procesory, jak i pamięć hot add. Niektóre niższe edycje Windows Server obsługują wyłącznie pamięć hot add.
| System operacyjny gościa | Licencja/edycja | Dodawanie pamięci podczas pracy | CPU hotplug |
| Windows Server 2003 32-bitowy/64-bitowy | Standard, Enterprise |
Tak | Nie |
| Windows Server 2008 32-bitowy | Standard, Enterprise, Datacenter |
Tak | Nie |
| Windows Server 2008 64-bitowy | Standard, Enterprise |
Tak | Nie |
| Windows Server 2008 64-bit | Datacenter |
Tak | Tak |
| Windows Server 2008 R2 | Standard, Enterprise |
Tak | Nie |
| Windows Server 2008 R2 | Datacenter |
Tak | Tak |
| Windows Server 2012 | Standard, Datacenter |
Tak | Tak |
| Windows Server 2012 R2 | Standard, Datacenter |
Tak | Tak |
| Windows Server 2016 | Standard, Datacenter |
Tak | Tak |
| Windows Server 2019 | Standard, Datacenter |
Tak | Tak |
VMware Hot Add Zalety i wady
VMware Hot Add jest przydatną funkcją w wielu przypadkach użycia. Należy jednak pamiętać, że korzystanie z tej funkcji ma swoje wady, gdy dodawanie na gorąco nie jest naprawdę wymagane. VMware Hot Add jest domyślnie wyłączone z różnych powodów. Dowiedzmy się, dlaczego.
VMware vCPU Hot Add i vNUMA
Po włączeniu VMware Hot Add, vNUMA jest automatycznie wyłączane dla maszyny wirtualnej. Domyślnie vNUMA jest włączone dla wszystkich maszyn wirtualnych, które mają 8 lub więcej procesorów vCPU, aby poprawić wydajność. Przyjrzyjmy się bliżej koncepcji NUMA i vNUMA.
Czym jest NUMA?
NUMA (non-uniform memory access) to architektura systemów wieloprocesorowych, która pozwala procesorom na lokalne współdzielenie pamięci. Czas dostępu procesora do pamięci zależy od lokalizacji pamięci na płycie głównej. Każdy procesor ma pierwszeństwo w korzystaniu z „własnej” pamięci lokalnej, zamiast korzystać z pamięci zainstalowanej w gniazdach w pobliżu innego procesora. Innymi słowy, NUMA to metoda określająca sposób interakcji jednego procesora z modułami pamięci innego procesora. NUMA to platformy z więcej niż jedną magistralą systemową, w których każdy procesor ma dostęp do całej pamięci na płycie głównej. Procesor z pamięcią zainstalowaną w gniazdach w pobliżu tego procesora nazywany jest NUMA node. 
Jeśli funkcja NUMA jest wyłączona lub, na przykład, posiadasz dwa procesory, a pamięć jest zainstalowana tylko w gniazdach jednego z nich, mogą wystąpić spadki wydajności i inne problemy sprzętowe. Jeśli nie masz wystarczającej liczby modułów pamięci, aby zapełnić wszystkie gniazda na płycie głównej z dwoma procesorami, spróbuj rozdzielić moduły pamięci między gniazda pierwszego i drugiego procesora. Funkcja
NUMA pomaga w racjonalnym rozłożeniu procesów systemowych działających w systemie operacyjnym obsługującym NUMA. Pozwala to każdemu procesowi na dostęp do obszarów pamięci, które są najbliżej procesorów wykorzystywanych przez te procesy.
Czym jest vNUMA?
Virtual NUMA (vNUMA) to metoda optymalizacji w VMware vSphere. Zapewnia ona optymalną wydajność dużych maszyn wirtualnych poprzez uwzględnienie topologii NUMA i unikanie wąskich gardeł przepustowości pamięci. Fizyczna NUMA topologia jest udostępniana systemowi operacyjnemu gościa za pomocą vNUMA. W rezultacie wirtualna NUMA topologia opiera się na NUMA topologii podstawowego sprzętu fizycznego używanego przez host ESXi. Wirtualne procesory maszyny wirtualnej mogą planować dostęp do pamięci znajdującej się na tych samych NUMA węzłach.
vNUMA jest dostępna dla maszyn wirtualnych korzystających z wirtualnego sprzętu w wersji 8 lub wyższej. Podczas tworzenia maszyny wirtualnej można wybrać liczbę procesorów oraz liczbę rdzeni procesorów. Liczba gniazd procesora jest obliczana automatycznie. Jeśli liczba procesorów vCPU używanych przez maszynę wirtualną jest większa niż liczba rdzeni w każdym węźle NUMA , wówczas topologia vNUMA jest zmieniana i optymalizowana do użytku przez system operacyjny gościa. W tym przypadku system operacyjny gościa może korzystać z wielu NUMA węzłów. Taka maszyna wirtualna nazywana jest maszyną wirtualną typu wide lub large.
Co się dzieje, gdy vNUMA jest wyłączone?
Gdy Hot Add jest włączone, a vNUMA wyłączone, maszyna wirtualna nie rozpoznaje podstawowych NUMA węzłów na hoście ESXi i zwiększa dostęp do pamięci na zdalnych NUMA węzłach. Planowanie procesora/pamięci systemu operacyjnego gościa nie jest optymalne. W rezultacie wydajność maszyny wirtualnej ulega pogorszeniu. Spadek wydajności jest zauważalny w przypadku rozległych maszyn wirtualnych przy rosnącej liczbie wątków generowanych przez aplikację. Na przykład, jeśli włączysz Hot Add na maszynie wirtualnej, której system operacyjny gościa korzystał z dwóch węzłów NUMA , ten system operacyjny gościa będzie mógł wykryć tylko jeden węzeł NUMA , ponieważ nie zostanie utworzona zoptymalizowana topologia vNUMA .
Włącz VMware Hot Add tylko wtedy, gdy zamierzasz korzystać z tej funkcji podczas pracy maszyny wirtualnej. W przeciwnym razie lepiej wyłączyć Hot Add dla maszyn wirtualnych obejmujących więcej niż jeden NUMA węzeł. Jeśli nie masz pewności, czy potrzebujesz funkcji dodawania procesorów i pamięci na gorąco, możesz od początku przydzielić maszynie wirtualnej więcej zasobów procesora i pamięci.
VMware Hot Add ograniczenia
Nie ma możliwości usuwania zasobów na gorąco
Gdy włączona jest funkcja Hot Add/hot plug , nie można usuwać zasobów procesora i pamięci na gorąco. Po dodaniu procesorów vCPU i pamięci do maszyny wirtualnej na gorąco aplikacje wykorzystują te dodane zasoby. Dlatego aplikacje nie obsługują opcji takich jak odebranie pamięci i mocy obliczeniowej procesora, które są już w użyciu. Z tego powodu jedynym możliwym sposobem na zmniejszenie zasobów procesora i pamięci dla maszyny wirtualnej jest wyłączenie maszyny wirtualnej i edycja ustawień wyłączonej maszyny wirtualnej.
Ograniczenia skalowalności pamięci
Maksymalna ilość pamięci dodanej na gorąco wynosi 16-krotność początkowej ilości pamięci przydzielonej dla maszyny wirtualnej. Na przykład, jeśli maszyna wirtualna ma 4 GB pamięci RAM, ilość tę można zwiększyć do 64 GB.
Istnieje również ograniczenie dotyczące maszyn wirtualnych, które mają 3 GB pamięci RAM (dokładnie 3072 MB) lub mniej. Może pojawić się błąd lub system operacyjny gościa (64-bitowy Linux i 32-bitowy Windows) nie będzie w stanie rozpoznać dodanej pamięci. Rozwiązaniem jest wyłączenie maszyny wirtualnej i zwiększenie ilości pamięci do ponad 3072 MB. Następnie można włączyć maszynę wirtualną i użyć pamięci VMware Hot Add.
Jak skonfigurować VMware Hot Add
Istnieje wiele metod włączenia VMware vCPUs Hot Add i pamięci VMware Hot Add. Można użyć graficznego interfejsu użytkownika lub interfejsu wiersza poleceń.
Włączanie Hot Add w vCenter
Aby włączyć opcję VMware Hot Add za pomocą vCenter, zaloguj się do VMware vSphere Client i wykonaj następujące czynności:
- Przejdź do
Hosts and Clusters. - Wybierz potrzebną maszynę wirtualną w panelu nawigacyjnym. Maszyna wirtualna musi być wyłączona.
- Kliknij ikonę Edytuj ustawienia . Alternatywnie możesz kliknąć prawym przyciskiem myszy nazwę maszyny wirtualnej i w menu, które się otworzy, kliknij
Edit Settings.
Aby włączyć CPU hot add, wykonaj następujące czynności:
- W oknie
Edit Settingsrozwij ustawienia Procesora. - W wierszu
CPU Hot Plugzaznacz pole wyboruEnable CPU Hot Add.
Aby włączyć pamięć, wykonaj następujące czynności: hot add:
- W oknie
Edit Settingsrozwiń ustawienia pamięci. - W wierszu
Memory Hot Plugzaznacz pole wyboruEnable.
- Kliknij
OK, aby zapisać ustawienia maszyny wirtualnej i zamknąć okno.
Teraz możesz uruchomić maszynę wirtualną i hot add przydzielić jej procesory VMware vCPU oraz pamięć.
Włączanie VMware Hot Add w PowerCLI
VMware PowerCLI to potężne narzędzie wiersza poleceń do zarządzania VMware vSphere. Przyjrzyjmy się, jak włączyć VMware Hot Add w PowerCLI.
- Połącz się z vCenter lub hostem ESXi, używając poniższego polecenia i wprowadzając odpowiedni adres IP (w tym przykładzie 192.168.101.205) lub nazwę hosta:
Connect-VIServer 192.168.101.205 - Po wyświetleniu monitu wprowadź dane uwierzytelniające.
- Wyświetl listę maszyn wirtualnych na hoście ESXi, z którym nawiązałeś połączenie.
Get-VM - Upewnij się, że maszyna wirtualna, dla której chcesz włączyć
Hot Add jest wyłączona. - Uruchom te polecenia, aby włączyć funkcję dodawania pamięci na gorąco i dodawania procesorów na gorąco dla wybranej maszyny wirtualnej.
$VM = Get-VM Windows-VM
$spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$spec.memoryHotAddEnabled = $true
$spec.cpuHotAddEnabled = $true
Gdzie:$VM.ExtensionData.ReconfigVM_Task($spec)
Windows-VMto nazwa potrzebnej maszyny wirtualnej
$spec.memoryHotAddEnabled = $trueto polecenie włączające pamięćhot add
$spec.cpuHotAddEnabled = $trueto polecenie włączająceCPU hot add - Sprawdź, na których maszynach wirtualnych włączono funkcje dodawania procesorów na gorąco i dodawania pamięci na gorąco:
Get-VM | Get-View | Select Name, `
@{N="CpuHotAddEnabled";E={$_.Config.CpuHotAddEnabled}}, `
@{N="CpuHotRemoveEnabled";E={$_.Config.CpuHotRemoveEnabled}}, `
@{N="MemoryHotAddEnabled";E={$_.Config.MemoryHotAddEnabled}}
Włączanie Hot Add w pliku konfiguracyjnym maszyny wirtualnej
Inną metodą włączenia VMware Hot Add jest użycie ESXi interfejs wiersza poleceń i edycja pliku konfiguracyjnego VMX maszyny wirtualnej. Otwórz powłokę ESXi lub połącz się z hostem ESXi przez SSH. Następnie uruchom następujące polecenia w wierszu poleceń, aby włączyć Hot Add:
- Przejdź do katalogu maszyny wirtualnej:
cd /vmfs/volumes/datastore10a/Windows-VM/
- Upewnij się, że maszyna wirtualna jest wyłączona.
- Otwórz plik konfiguracyjny maszyny wirtualnej VMX w edytorze tekstowym:
vi Windows-VM.vmx - Dodaj tę linię do pliku konfiguracyjnego, aby włączyć
vCPU Hot Add:
vcpu.hotadd = "TRUE" - Dodaj tę linię do pliku konfiguracyjnego, aby włączyć pamięć
Hot Add:
mem.hotadd = "TRUE" - Zapisz plik konfiguracyjny
VMXi zamknij edytor tekstowy.
Można wyłączyć funkcje podłączania na gorąco w maszynie wirtualnej dla urządzeń takich jak karty sieciowe, kontrolery dysków itp. (które są domyślnie włączone).
devices.hotplug = “false”
To ustawienie nie ma wpływu na CPU hotplug i konfigurację pamięci dodawanej na gorąco VMware dla maszyny wirtualnej.
Edytowanie konfiguracji VMX w VMware vSphere Client
Można również edytować konfigurację VMX w VMware vSphere Client:
- Wybierz potrzebną maszynę wirtualną w
VMware vSphere Client. - Wyłącz maszynę wirtualną, jeśli jest uruchomiona.
- Kliknij
Edit Settings. - Wybierz kartę
VM Optionsw oknieVM Settings. - Kliknij
Advanced, aby rozwinąć opcje, a następnie kliknijEdit Configuration.
- Kliknij
Add Configuration Paramsw oknieConfiguration Parameters. - W sekcji
Add New Configuration Paramswprowadź odpowiednie wartości, aby włączyć pamięćVMware Hot Addi procesory VMware vCPU.
Nazwa:mem.hotaddWartość:TRUE
Nazwa:vcpu.hotaddWartość:TRUE

- Kliknij
OK, aby zapisać ustawienia i zamknąć okno.
Wnioski
Włącz VMware Hot Add tylko wtedy, gdy zamierzasz korzystać z tej funkcji w celu dodawania wirtualnych procesorów i pamięci do uruchomionej maszyny wirtualnej. Jeśli włączysz VMware Hot Add ale nie będziesz korzystać z tej funkcji, wydajność dużych maszyn wirtualnych może ulec pogorszeniu, ponieważ topologia z wieloma NUMA węzłami nie będzie wykorzystywana. Użyj monitorowania maszyn wirtualnych VMware do monitorowania wydajności maszyn wirtualnych i wykorzystania zasobów w vSphere. Takie podejście pomaga ustalić, czy w przypadku danej maszyny wirtualnej należy włączyć funkcję Hot Add.
