Пропустить навигацию.
Главная страница
Мы всегда на стороне КЛИЕНТА!

Занимательная арифметика для ESX3i

|

Давно хотелось бы посчитать, как в реальности резервируются и распределяются ресурсы на хосте под управлением ESX3i.

Начнем.

Имеем сервер HP ML 150 G2 с устнаовленным на диск ESX3i Update 2 в конфигурации:

  • 2 CPU Intel Xeon 3 GHz, hyper-threading включен,
  • 2 GB RAM,
  • Adaptec 7901, 4 HDD 73 Gb, что вообщем-то не сильно важно.

Что же нам останется из ресурсов после установки? Попробуем подсчитать, как резервируются ресурсы по умолчанию.

Сначала посчитаем CPU ресурсы.

Virtual Client говорит, что у нас есть 2x2,922 GHz (host, вкладка Summary, таблица Resources). Это наш плюс.
Ресурс зарезервирован в размере 299 MHz под системные нужды (host, вкладка Configuration, строка System Resources Allocation). Это наш первый минус.
Должно остаться 5685 MHz. А на самом деле видим (host, вкладка Resource Allocation, строка CPU reservation) 4637 MHz.
Где неучтенные 1047 MHz?
Идем в host, вкладка Configuration, строка System Resources Allocation, выбираем режим Advanced. Видим пул системных ресурсов. Выбираем дочерний пул system и видим уже нам извеcтные 299 MHz. Выбираем следующий дочерний пул vim и видим, что под него зарезервировано 1047 MHz, копеечка в копеечку. Итак, это наш второй минус.
Стартовый баланс по CPU ресурсам сошелся
Особо следует отметить, что, несмотря на включенный hyperthreading, у нас НЕТ 4x2,922 GHz, как можно было бы предположить, так как ESX3i видит 4 логических процессора. Для распределения доступны только физические, а не логические процессорные ресурсы. Как ESX3i на практике распределяет процессорный ресурс при включенном hyperthreading – вопрос отдельной статьи.

Сейчас посчитаем Memory ресурсы.

Virtual Client в описании хоста (host, вкладка Summary, таблица Resources) говорит, что у нас 2 Gb памяти. Это наш плюс.
Идем в host, вкладка Configuration, строка Memory и видим, что доступно для виртуальных машин только 1767 из 2045 Mb. Видимо, 267 Mb занято под ядро гипервизора. Это наш первый минус.
Аналогично, как описано выше, мы видим, что 512 Mb зарезервировано под пул vim. Это наш второй минус.
Пройдясь по дочерним пулам system, наберем еще 214 Mb. Это наш третий минус.
Перейдя на host, вкладка Resource Allocation, строка Memory reservation видим 1040 Mb памяти, доступной для резервирования, что примерно равно 1041 Mb, ожидаемому в результате. 1 Mb спишем на ошибку округления. Стартовый баланс по Memory ресурсу почти сошелся.

Хочется также добавить, что в том случае, если при старте ESX3i не прописан ScratchConfig.ConfiguratedScratchLoaction и ScratchConfig.ConfiguratedSwapState (говоря проще, выключен Swap для ядра гипервизора), то второй минус будет уже 1024 Mb. Такое случается, если произведена загрузка с USB-Flash, и не выполнена конфигурация «Configuring the Scratch Partition», как описано в документации.

Выводы.

Мы в очередной раз убедились, что памяти много не бывает. Ее бывает мало и ОЧЕНЬ мало. С 1Gb памяти даже тестовой сервер для ESX3i Update 2 разворачивать не рекомендуется.
С другой стороны, по первым прикидкам, процессорных ресурсов ненового (два поколения назад) сервера хватает вполне.