Заметки сисадмина » Рекомендации по настройке виртуальных машин ESXI

Заметки сисадмина о интересных вещах из мира IT, инструкции и рецензии. Настраиваем Компьютеры/Сервера/1С/SIP-телефонию в Москве

Рекомендации по настройке виртуальных машин ESXI

2021-02-01 · Posted in VMWare

1)Требования по настройке среды виртуализации

К виртуальной среде должны выполняться следующие требования:

  1. Версия ESX сервера не ниже 4;
  2. Серверы кластера должны располагаться на различных аппаратных ESX узлах;
  3. Виртуальной машине должна быть статично выделена вся требуемая оперативная память;
  4. На всех виртуальных машинах должен быть отключен Memory Balooning, Transparent Page Sharing, ESX Swap;
  5. Если серверов несколько – каждой виртуальной машине выделяется 2 сетевых интерфейса (Рекомендация для Domino-серверов, один интерфейс для взаимодействия с пользователями, второй для кластерных репликаций);
  6. Подключение СХД должно выполняться только через сетевой интерфейс fibre channel.
  7. Энергосбережение отключено – high performance в разделе ‘power management‘ для хоста

2)Объем памяти виртуальной машины

Для виртуальной машины ОЗУ должно быть выделено кратно NUMA-блоку.Размер блока можно определить следующим образом NUMA = Общий объем ОЗУ host-машины разделить на общее количество ядер физических процессоров host-машины. Например у сервера виртуализации есть 65536Мб памяти и 2 процессора по 8 ядер, тогда NUMA=65536/(2*8) =65536/16 = 4096 Мб ОЗУ на каждое ядро физического процессора. Соответственно при таком NUMA для виртуальной машины ресурсы должны быть выделены так: 8192Мб ОЗУ при 2 виртуальных процессорах, 12288Мб ОЗУ при 3 виртуальных процессорах, 16384Мб ОЗУ при 4 процессорах и т.д.

Примечание – В данной инструкции при назначении виртуальных процессоров необходимо каждому VCPU назначать 1 физическое ядро.

3)TSP (Transparent Page Sharing)

Нужно выключить Transparent Page Sharing. Для этого:

  • Для отдельной виртуальной машины можно добавить строчку sched.mem.pshare.enable=”FALSE” в vmx-файл, который находится в папке VM.
  • Кроме того, из GUI это можно сделать, зайдя в свойства виртуальной машин, далее вкладка «Options», затем в категории Advanced-General нажать кнопку «Configuration parameters». Далее нажать «Add Row» и добавить name=sched.mem.pshare.enable, а value=FALSE:

  • Чтобы отключить Transparent Page Sharing для всего хоста VMware ESX / ESXi, в VI Client на вкладке «Configuration» переходим в категорию «Advanced settings». Далее переходим на вкладку «Mem» и устанавливаем следующее значение: Mem.ShareScanGHz = 0

  • Для вступления изменений в силу необходимо перезагрузить хост ESX / ESXi

4)Memory Ballooning рекомендуется не использовать (3 способа выключения)

Disabling ballooning via the vSphere Client (рекомендуется )

To set the maximum balloon size to zero:

  • Using the vSphere Client, connect to the vCenter Server or the ESXi/ESX host where the virtual machine resides.
  • Log into the ESXi/ESX host as a user with administrative rights.
  • Shut down the virtual machine.
  • Right-click the virtual machine listed on the Inventory panel and click Edit Settings.
  • Click the Options tab, then under Advanced, click General.
  • Click Configuration Parameters.
  • Click Add row and add the parameter sched.mem.maxmemctl in the text box.
  • Click on the row next to it and add 0 in the text box.
  • Click OK to save changes. или: В конфигурационном файле виртуальной машины (virtual_machine_name.vmx) создайте строку sched.mem.maxmemctl = “0”

To re-enable the balloon driver in a virtual machine:

  • Using the vSphere Client, connect to the vCenter Server or the ESXi/ESX host where the virtual machine resides.
  • Shut down the virtual machine if it is powered on.
  • SSH to the ESXi/ESX host. For more information, see Connecting to an ESX host using an SSH client (1019852).
  • Change directory to the datastore where the virtual machine’s configuration file resides.
  • Back up the virtual machine’s configuration file.
  • Edit the virtual machine’s configuration file (virtual_machine_name.vmx) and remove this entry:
  • sched.mem.maxmemctl = “0”
  • Save and close the file.
  • Power on the virtual machine.

Note: You cannot remove the entry via the Configuration Parameters UI once it has been added. You must edit the configuration file (.vmx) for the virtual machine to remove the entry.

Disabling ballooning via the Windows registry (вариант 2)

To disable ballooning on the virtual machine: Note: This procedure modifies the Windows registry. Before making any registry modifications, ensure that you have a current and valid backup of the registry and the virtual machine. For more information on backing up and restoring the registry, see the Microsoft Knowledge Base article 136393.

  • Log into the guest OS.
  • Click Start > Run, type regedit, and press Enter. The Registry Editor window opens.
  • Navigate to:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMMEMCTL

  • Change the Start key from 2 to 4.
  • Save the setting and restart the guest OS.
Disabling ballooning via VMware Tools uninstallation/reinstallation (вариант 3)
  • Uninstall VMware Tools from the guest OS.
  • Reinstall VMware Tools using the Custom Settings option, and deselect the Memory Control Drivers.

5)Время

Для работы Системы в операционной системе на каждом сервере необходимо выполнить системные настройки русской локализации и формата даты. Синхронизация времени выполняется с корпоративным сервером службы времени. Например: Все серверы системы работают в московском часовом поясе (UTC+3). Настройки синхронизации времени гостевой виртуальной машины с ESX сервером должны быть отключены.
tools.syncTime = “false”

6)Использование CPU

Рекомендуется установить number cores per socket = 1

переменная cpuid.coresPerSocket = “1”

7)Настройка распределения памяти и отключение ESX swap

Shares – минимум или выключить

Limit – размер памяти из ПАС сервера (например 32 Гб)

Unlimited галку снять

Reservation = Limit ( Это отключит Swap VMX )

sched.swap.vmxSwapEnabled = FALSE

VMX Swap хранится в папке с виртуальной машиной в виде файла с расширением vswp (или на выделенном datastore)

8)Настройка дисков виртуальной (guest) машины

Для виртуальных дисков с данными Системы не использовать технологию “thin provisioning” лучший выбор “Lazy zeroed thick disks”

  • Lazy zeroed thick disks – все пространство диска выделяется в момент создания, при этом блоки не очищаются от данных, которые находились там ранее. Но при первом обращении ВМ к этому блоку он обнуляется.
  • Eager zeroed thick disks – все пространство такого диска выделяется в момент создания, при этом блоки очищаются от данных, которые находились там ранее. Далее происходит обычная работа с блоками без очистки.
  • Thin disks (“тонкие диски”) – эти диски создаются минимального размера и растут по мере их наполнения данными до выделенного объема. При выделении нового блока – он предварительно очищается. Эти диски экономят пространство на массиве, так как не забивают его нулями и не требуют аллокации заданного объема.

9)Настройка параметров расположения виртуальной (guest) машины в кластере

Автоматическая миграция должна быть запрещена. Виртуальная машина должна быть закреплена за своим хостом

10)Настройка энергосбережения

Настройка энергосбережения – выбрать high performance 

в BIOS машины также должен быть задан максимальный режим производительности, или управление со стороны ОС

– Performance Per Watt (OS) – или аналоги

11)Порядок создания снапшотов виртуальной (guest) машины

Создание снапшотов и их дальнейшая консолидация с дисковым файлом не должно проводиться в рабочее время

При проверке настроек ESXi в vmx должны быть такие настройки:
назначение переменная VMX
отключение TPS sched.mem.pshare.enable=”FALSE”
отключение Baloon sched.mem.maxmemctl = “0”
отключение синхронизации времени tools.syncTime = “false”
настройка 1 ядра на сокет cpuid.coresPerSocket = “1”
отключенгие swap sched.swap.vmxSwapEnabled = FALSE
отключение shares.mem=0 или low sched.mem.shares=0
отключение shares.cpu sched.cpu.shares=0
память хоста если память  65536  МБ memsize=65536
статическое выделение reservation=memsize sched.mem.min=memsize
статическое выделение Limit=memory=reservation sched.mem.minsize = memsize
Размер балона равен 0 sched.mem.max = memsize

Leave a Reply