четверг, 27 июня 2013 г.

Nested ESXi


   В процессе создания лабы, состоящей из нескольких nested гипервизоров, работающих на одном физическом хосте ESXi, столкнулся с проблемой: отсутствие с их стороны поддержки аппаратной виртуализации, и, как следствие, невозможност запускать 64-битные ОСи в такой лабе. Для включения этой поддержки пришлось провести пару манипуляций.
   Очевидно, что для полноценной реализации необходима та самая аппаратная поддержка со стороны процессора на физическом хосте (Intel EPT/AMD RVI), притом включенная в BIOS.
    При наличии в среде свежего vSphere Web Client задача решается еще на этапе создания машины. Я пока вэбклиента не завел, потому буду обходиться имеющимися средствами: версия клиента 5.1.0 build 941893, версия вцентра 5.1.0 1064983.
   Первым делом, создаем машину со следующим набором виртуального железа:
   Памяти для установки достаточно и 2GB, но ядер не меньше 2. Начиная с версии 5.1 появилась поддержка vmxnet3, что замечательно. UPDATE: при использовании vmxnet3 виртуальный хост уходит в PSOD при первом же vmotion. Обновление машины ESXi до версии 5.1 build 1117900 не помогло. Решается только использованием E1000 или E1000E.
   При модификации добавляем привод с дистрибутивом ESXi, опционально лочим выделенную память, убираем логирование.
   Сразу задать тип OS "ESXi" почему-то нельзя, потому после создания машины возвращаемся в ее свойства и меняем тип на VMware ESXi 5.x (experimental).
   Также клиент не позволяет сразу создавать машины с 9 версией виртуального железа, необходимой для аппаратной виртуализации. Решается через Upgrade Virtual Hardware.
   Получаем следующую машину:
   Дальше потребуется добавить строку vhv.enable = "TRUE" в файл конфигурации этой машины. Можно скачать файл, добавить строку и залить обратно. Либо через консоль хоста:
~ # echo vhv.enable = \"TRUE\" >> /vmfs/volumes/nas4free-NFS/vESXi/vESXi.vmx
   Измененную конфигурацию необходимо перечитать. Можно удалить машину из инвентории вцентра и вернуть обратно из измененного .vmx. А можно опять же через консоль, как описано здесь:
~ # vim-cmd vmsvc/getallvms
Vmid   Name               File                     Guest OS       Version   Annotation
9     vESXi    [nas4free-NFS] vESXi/vESXi.vmx    vmkernel5Guest   vmx-09    
~ # vim-cmd vmsvc/reload 9
   Теперь машина готова. В процессе установки больше не должно появляться никаких предупреждений. После установки поддержку виртуализации можно проверить по адресу:
Параметр NestedHVSupported должен быть true.

Комментариев нет:

Отправить комментарий