Pull to refresh

Установка VMware ESXi 4.1 без KVM на примере hetzner.de

System administration *
Как можно понять из заголовка, есть сервер Hetzner.de, а именно модель EQ4, 8 гигов памяти, заказчику надо развернуть на этом хосте ровно 3 виртуальние машины, 2 линукса и 1 виндовс, так как по сути 3 эти хоста не будут мега нагружены, то конфигурация в самый раз. На Hetzner.de присутствует возможность установки VMware ESXi 4.1, о чем они собственно и не скрывают (и не афишируют впрочем тоже ), просто при заказе сервера надо указать это, и к вашему счету вежливо добавят +45 евро, 24 за сетевую карту Intel, и еще 21 за KVM.
Данная инструкция не завязана на Hetzner.de, но реализована на его примере.

Мы заказали сетевую и все как положено, даже рейд железный, только так получилось что сервер нам подняли, а вот KVM не подключили, то ли конец рабочего дня был, то ли кто-то жестко ступил, не суть важно, но на руках у меня оказался вполне себе рабочий сервер (правда инициализировать рейд тоже забыли).



А тем временем


Спать совсем не хотелось, и я решил поколупать esxi на тему разных способов установки, как оказалось вариантов достаточно:
  • с диска
  • с флешки
  • с помощью PXE
Досадно только что ни один вариант для «белых» людей мне не подошел, впрочем полезное из этой микро разведки я тоже почерпнул.
Инсталятор ESXi основан на anaconda от RedHat и поддерживает kickstart, что в свою очередь дает возможность устанавливать гипервизор в unattended режиме и все это прекрасно работает для всех вышеперечисленных типов установки, помимо этого можно еще и нехило кастомизировать установочный образ, добавив в него, например поддержку железа, которое оригинальным установочным образом считается unsupported, ну и так по мелочи кой что еще добавить(ssh, ftp). И для всех этих манипуляций хорошие люди написали скрипт, скачать который можно здесь, а подробно почитать о нем здесь. По последней ссылки Вы попадете на форум где просто много инфы по этому самому «моддингу».

Этот чудо скрипт ориентирован на debian-based системы (но работает и на других), посему недолго думая, я накатал на свежий сервер пятый Debian (забегая наперед скажу что раздел /boot я сделал размером 1ГБ). После установки, скачал скрипт, и оригинальный установочный образ, почитав доки как им пользоваться я остановился на варианте создания кастомного iso образа (почему iso я раскажу потом).
Целью было создать образ который молча установит гипервизор, попутно настроив сеть, установив рут пароль, хостнейм и также молча уйдет в ребут.

Все операции я проводил под рутом и в его же домашней директории (да простят меня гуру)

Создание кастомного установочного образа

для того что б включить ssh и ftp, я пошел сюда, и скачал архив кастомизации (по названию угадаете какой, там же есть и много других кастомизаций) в /root, также после первого запуска скрипта, он создал каталог (/root/custom-esx и еще несколько других, впрочем как показала практика скрипт потом уберет за собой оставив только 2 директории /root/custom-esx и /root/save в который он бережно положит новый образ )

Первым делом я cоздал файл kickstart
ks.cfg с содержимым:
vmaccepteula
rootpw mysupersecretpass
autopart --firstdisk --overwritevmfs
install url example.com/vm
network --bootproto=static --ip=192.0.2.4 --gateway=192.0.2.1 --hostname=esxi.example.com --device=vmnic0 --nameserver=192.0.2.98 --netmask=255.255.255.192
reboot


И сохранил его в /root/custom-esx/etc/vmware/weasel/ks.cfg

example.com/vm — внешний адрес по которому можно будет найти распакованный образ, почему не самого образа ставить спросите вы? Все просто — установка будет происходить мягко говоря странным образом (об этом потом)

Также я изменил конфиг загрузчика (оригинал можно найти в корне установочного образа под именем isolinux.cfg)

isolinux.cfg содержит:
default menu.c32
menu title VMware VMvisor Boot Menu
timeout 5

label Kickstart debug
menu label ^ESXi Installer (default KS)
kernel mboot.c32
append vmkboot.gz ks=file:///etc/vmware/weasel/ks.cfg --- vmkernel.gz --- sys.vgz --- cim.vgz --- ienviron.vgz --- install.vgz --- oem.tgz


Вот все нужные файлы подготовлены, теперь запускаем скрипт.

Выбираем:
1) ISO installation
дальше
[3] 4.1
И отвечаем на вопросы, когда дойдет до вопроса о редактировании proftpd.conf.
Открываем еще одну консоль и копируем isolinux.cfg в /root/esx-build с заменой оригинала, возвращаемся в первую консоль и продолжаем отвечать на вопросы, скрипт ругнется на отсутствие 2 файлов, просто пропустите их, это не критично. Ждем пока создастся образ.
Он будет в /root/save

С образом закончили, думаю не стоит напоминать что его надо будет распаковать на внешнем хосте, что б фалы были доступны по адресу example.com/vm

Теперь собственно как это установить

Будем использовать GRUB, но так как груб не умеет грузить из iso образа, то понадобиться дополнительная утилита
надо её сохранить в /boot

Также подредактируем /boot/grub/menu.lst

Добавим секцию:
title ESXi Installation from ISO
root (hd0,0)
kernel /boot/memdisk iso raw
initrd /boot/esxiсustom.iso

значение root зависит от разметки диска на вашем сервере
изменяем параметр default на 1
копируем iso из /root/save/ в /boot/esxiсustom.iso

Ребутаем сервер:
(пьем кофе/чай, курим, танцуем с бубном)
Нужное подчеркнуть.

В качестве индикатора можно запустить пинг в другой консоли, после двух обрывов пинга можно коннектиться к свежему ESXi по ssh или через vSphere Client (только под винду).

Вот вобщем-то и все, строго не судите.
Комментарии приветствуются.
Надеюсь кому то пригодится.

Как видите iso монтируется через внешнюю приблуду, а инсталлятор круто умный, и не найдя физического диска ставить ничего не будет, так что приходиться подключать в эту эпопею внешний веб-сервер.

Так же была идея смухлевать и заставить скрипт поставить все на жесткий вместо юзб флеш карты, но тут умным уже оказался скрипт который дотошно вычисляет юзб-устройства, а колупаться в тоннах баш-кода желания не было (скрипт достаточно большой).

Источники


benincosa.org/blog/?p=171
blog.nettraptor.net/?p=26
www.vm-help.com

UPD1:
В случае хетзнера, вам надо будет попросить для дополнительных ip адресов назначить MAC адреса с пометкой что это для vmware esxi, в этом случае вам удастся избежать гемора бриджингом и прочими фишками, если же вы закажете целую подсеть, то будьте готовы потратить 2 адреса (1 доп и один из подсети) для виртуального роутера

UPD2:
Выражаю огромную благодарность:
thelostreason BigD helios deniskin а также модераторам,
за поиск и устранение ошибок в форматировании, грамматике и пунктуации
Tags:
Hubs:
Total votes 37: ↑34 and ↓3 +31
Views 13K
Comments Comments 20