Запускаем ESX4i на офисных компах без VMware Workstation

За статью спасибо virus’у…

dark past, pathetic present and uncertain future

подумалось в далеком 2006 году

при первом взгляде на ESX

(цензурный вариант)

На правах предисловия

Блеск

Как всем известно ESXi официально поддерживает установку на строго определенный набор серверов. Ядро гипервизора не поддерживает подавляющее число железок, которые ставят в обычные компы (whitebox), и не поддерживает 100 мегабитные сетевые карты, что создает серьезную головную боль людям которым «очень хочется».

Все началось, как это всегда все начинается, Я записал образ на флешку, записал в раздел 5 на флешке файл oem.tgz с драйверами и прописанными pciid, воткнул флешку в комп и со словами «поехали» нажал на кнопку «power». Система радостно посчитала свои 4 гигабайта, перешла к загрузке с флешки и радостно констатировала «cannot get disk partameters».

На этом приятная и знакомая часть закончилась, и началось погружение в кишки гипервизора.

При беглом осмотре выяснилось, что загрузчиком выступает какой-то древний syslinux (выпуска аж от сентября 2005 года, впрочем виноваты в этом RedHat т.к. именно эта версия идет в комплекте RHEL5).

Собственно сам syslinux запускает модуль загрузчика гипервизора «safeboot.c32», этот модуль выбирает раздел с которого грузить и передает ядру нужные параметры.

Логичное и простое решение - обновляем древний syslinux , однако это не срабатывает! Проблема оказалась глубже – после обновления syslinux ту же самую ошибку стал выдавать модуль «safeboot.c32». После изучения доступных частей исходников (ну вы же не думали что там все выложено?) оказалось, что он собран на базе syslinux версии 3.63 выпуска апреля 2008 года.

Значит будем жертвовать возможностью отката обновления. Меняем активную партицию на 5 (раздел гипервизор1) , и ставим туда загрузчик syslinux /dev/sdc5

Пишем строку загрузки в syslinux.cfg

default mboot.c32 vmkboot.gz — vmk.gz — sys.vgz — cim.vgz — oem.tgz — license.tgz — mod.tgz

Ура, все грузится. Правда так же медленно, как и всегда. Судя по всему, контроллер не переводится в режим usb2 ни средствами syslinux, ни программистами vmware, а жаль.

Сразу же выяснилось что не заработал встроенный SATA контроллер, пришлось править oem.tgz, внутри этого архива есть файл etc/vmware/ simple.map. Нужно взять идентификаторы от SATA и IDE контроллера своей материнки (проще всего это посмотреть на экране загрузки, когда БИОС перечисляет все устройства и их идентификаторы). Прописывать нужно следующим образом:

1002 4393 SB700/SB800 SATA Controller [RAID5 mode].

Добавляем такую строку:

1002:4393 0000:0000 storage ahci.o

1002 439c ATI Technologies Inc SB700/SB800 IDE Controller

Добавляем такую строку:

1002:439c 0000:0000 storage pata_atiixp.o

После перезагрузки с новой версией oem.tgz диски видны, но оказывается что настройки перестали сохранятся на флешку, придется входить внутрь.

… и нищета

Первое что бросается в глаза – это так называемый visorfs. Судя по тому, что я увидел, это самый тупой ramdisk. Ужасает то, что память выделяется статически, и что содержимое не сжимается. Сразу на ум приходит вопрос «а почему нельзя было использовать Squashfs+unionfs?» но опыт задавания «неудобных» вопросов в форуме vmware подсказывает, что вопрос останется без ответа (по крайней мере, со стороны «авторов»).

Таким образом в текущий момент нам придется смирится, с тем фактом, что 256М (или 30 долларов, в случае регистровой памяти) для _нас_ «просто потеряны» на КАЖДОМ хосте.

По результатам анализа скриптов инициализации оказалось, что у каждой партиции есть UUID, который хранится внутри раздела (16 байт по смещению 528), и показывается при монтировании раздела:

Filesystem Size Used Available Use% Mounted on

visorfs 220.0M 182.5M 37.5M 83% /

vfat 249.7M 61.1M 188.7M 24% /vmfs/volumes/386a41e4-ff1587ba-1385-2feaeed494ad

vfat 249.7M 4.0k 249.7M 0% /vmfs/volumes/8c7e2fe8-f4c58d9f-34d3-8553ffee79a0

vfat 285.9M 242.6M 43.3M 85% /vmfs/volumes/e00f98e1-2bcc0c91-e7a2-3487611c1557

значит нужный нам раздел 386a41e4-ff1587ba-1385-2feaeed494ad

К сожалению, указывать UUID надо в другом виде, в итоге мы получаем такую строку:

default mboot.c32 vmkboot.gz bootUUID=e4416a38ba8715ff85132feaeed494ad — vmk.gz — sys.vgz — cim.vgz — oem.tgz — license.tgz — mod.tgz

Собственно сам результат работы, в виде образа флешки можно скачать тут [http://cybersec.ru/files/esxi-4u1-bf-hw-dbg.7z]

Флешка обладает возможностью грузится на тех материнках, где оригинальный ESXi не грузился, поддерживает сетевуху rtl8169 (и совместимые с ней) и пишет на экран логи при загрузке.

Архив файлов гипервизора можно скачать тут [http://cybersec.ru/files/rootfs.7z].

Архив oem.tgz можно скачать тут [http://cybersec.ru/files/oem.tgz]

Послесловие

Было бы неплохо, если бы кто-то придумал:

  1. как можно запихать гипервизор в Squashfs
  2. способ контролировать, куда девается память в системе гипервизора (т.е. та которая НЕ тратится на виртуалки)

Popularity: 62% [?]

Опубликовать в Facebook
Опубликовать в Google Buzz
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс
Эта запись была опубликована в рубрике Статьи и отмечена метками , , . Добавить в закладки ссылку.

25 в ответ на Запускаем ESX4i на офисных компах без VMware Workstation:

  1. phily пишет:

    Круто! http://www.vm-help.com/ – по мотивам тутошных рекомендаций, но с анализом загрузчика.

    А как вам идея выковырять гипервизор и воткнуть его на полноценный дистрибутив?
    Для тех кто скажет – пользуй Worksation, объясняю – хочу полноценный esx, но с GUI доступом :-)

    Я проводил эксперименты по созданию “наколенного CVP”, т.е. прикручивал иксы от CentOS и rdp-клиента. Получил розовый экран и успокоился, пока. Но, идея сделать ESX на ноутбуке с управлением и доступом к консоли серверов меня, пока, не покинула.

  2. virus пишет:

    phily, я думаю такая затея с ESXi /гипервизор/ будет по сложности сравнимой очень серьезным испытанием ваших навыков по следующим причинам:
    1. У гипервизора очень “своеобразное” ядро. Все что не относится “к делу” отпилено, а поскольку полных исходников нет – “впилить” обратно без помощи авторов – мягко говоря сложно.
    2. чтобы показывать картинку надо vmrc. Который тоже совсем не “сахар” в плане реализации. чем тут поможет rdp клиент – неясно.

    Возможно со временем vmware откроют больше исходников и все станет реально, но в текущий момент “наудачу”
    можно попробовать запустить статически слинкованный самый легкий хсервер типа KDrive, в любом случае это не решает п2

  3. Cirill пишет:

    Многие поставят памятник человеку написавшему хоу то – добавить агента для управления рейд контроллером. Очень уже любят lsi чипы писать – а полный функционал, это пожалуста ставьте утилитку для управления контроллером вашей системы. опять же оповещения по емайл про сбойнутый диск или дегрейд по какой либо причине, было бы очень приятно получать… без агента на мой взгляд никак ( или кто то знает другой способ?

  4. Mister Nobody пишет:

    2Cirill Установка полного ESX и утилит под Red Hat.

  5. Cirill пишет:

    ESX стоит денег. И если взломан и не поставлен на баланс – это уже неприятности.
    ESXi бесплатен и модификация попадает под нарушение лицензии, но найти эту модификацию гораздо сложнее чем ESX
    … безусловно пакеты для малого бизнеса стоят ОЧЕНЬ небольших денег. Более того, многие даже включили в бюджет на 2010 … но жить пока както надо )
    да и интересно же в конце концов!

  6. Mister Nobody пишет:

    ESX активируется ключом от бесплатного ESXi…

  7. den пишет:

    Решил опробовать вашу сборку
    Как понимаю в архив делался под Mac OS X.
    Этими приложениями?
    Norton DiskDoubler Pro
    SuperDoubler
    DDExpand

    Подскажите как можно развернуть из под WinXP или LinuxMint
    Заранее спасибо

  8. virus пишет:

    2den, Mac OS X тут вообще нигде не участвовал

  9. den пишет:

    тогда чем развернуть образ?

  10. mr_zorg пишет:

    “тогда чем развернуть образ?”
    WinImage.

  11. vitaly пишет:

    Доброго дня!

    У меня Asus P5Q PRO Turbo GREEN Rev 1.02G. Bios 0602.
    CPU — Intel Core 2 Quad Processor Q8200

    ESXi 4.0 Update 1 Installable (CD ISO) — ставится без проблем и патчей.

    НО — попробовал поставить в виртуалке Windows 7 64bit.

    И сразу получил сообщение, что процессор не поддерживает 64dit.

    Установка непосредственно на сисиетму (без ESXi 4.0) данного дистрибутива прошло без проблем.

    Можно ли сделать так, что бы на этом железе под ESXi 4.0 поставить 64-х разрядную сиситему?

    Заранее спасибо за ответ!

  12. virus пишет:

    vitaly, наиболее вероятно что когда вы выбирали шаблон – выбрали windows 7 x86 (32bit)

  13. 2virus: возможно, но не факт ;)
    во-первых, для запуска под ESX/ESXi 64-битных гостевых систем, нужно включить в BIOS опцию аппаратной поддержки виртуализации процессором (технологии Intel VT/AMD-V).
    во-вторых, процессор Intel Q8200 эту технологию не поддерживает (http://ark.intel.com/Product.aspx?spec=SLB5M).
    Мои соболезнования. В остальном, вполне достойный процессор.

  14. Romariano пишет:

    Добрый день! А можно ли сделать такой образ загрузочной флешки с ESXi 4.1? А то не хочется ставить на голое железо. Заранее спасибо.

  15. Romariano пишет:

    ТЬфу…Не устанавливается на железо в общем у меня ESXi 4.1
    Я новичок, простите если что)

  16. virus пишет:

    Romariano, я вас не понимаю :)
    образ можно сделать все точно также, драйвера должны подойти те же самые.

  17. virus пишет:

    у кого вопросы – пишите в гталк, меня утомила дурная местная капча…
    логин alien.virus

  18. :) )))
    ООО, у нас такая крутая и вредная капча :) ))))))))))
    Вирус, ты сколько раз накалывался и флажок не ставил? :)
    Я раза три-четыре точно :)

  19. virus пишет:

    да вобщем то хрен с ней что не ставишь флажок, обломно что когда “назад” нажмешь – текста который ты вбил – почему-то нет

  20. Mr.Aloof пишет:

    Просто у вас браузеры туповаты =)
    В опере весь текст сохраняется… ;-)

  21. virus пишет:

    а ещё мы молимся рогатым и едим младенцев на завтрак ;)

  22. Ух ты, и правда сохраняется :)

  23. Vitaly пишет:

    Большое спасибо Андрею Вахитову за предыдущий пост от 7 июля 2010 в 10:51

    Он оказался прав – дело в протце.

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

    Что порекомендуете взять сейчас для работы с VMware ESXi?

  24. A.Vakhitov пишет:

    Однозначно, процессор, поддерживающий аппаратную виртуализацию.
    По остальному железу консультировать не готов. Если нет желания “напрягаться”, смотрите HCL и подбираете железо из доступного, либо ищете на англоязычных блогах.
    Либо берете существующую конфигурацию и допиливаете ее (ESX допиливать проще, чем ESXi).

  25. Пинг: Внедряем виртуализацию KVM – часть 1 | vMind.ru

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

Ваш email не будет опубликован. Обязательные поля отмечены *

*

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Это не спам.
сделано dimoning.ru