Установка FreeBSD 11.2 на VMWare ESXi 5.5U2

Установка FreeBSD 11.2 на VMWare ESXi 5.5U2

В одной из компаний сложилась вот такая ситуация. Админ задал вопрос — “А возможна ли установка FreeBSD 11.2 на гипервизор ESXi 5.5U2? Или придется обновить ESXi до 6.5 или даже до 6.7?” На FreeBSD у него работает почтовый сервер CommunigatePro. Зачем? Исторически. Но вот с VMware он … «все еще на Вы».

Вот таблица с версиями FreeBSD и сроками окончания поддержки версий. Как видим, ему хочется установить 11.2 и, на некоторое время, забыть о том, что срок поддержки может закончится.

Версия Дата выхода Да окончания поддержки
10.0 20 января 2014 28 февраля 2015
10.1 14 ноября 2014 31 декабря 2016
10.2 13 августа 2015 31 декабря 2016
10.3 4 апреля 2016 30 апреля 2018
10.4 3 октября 2017 31 октября 2018
11.0 10 октября 2016 31 октября 2017
11.1 26 июля 2017
11.2 27 июня 2018

Итак вопросы:

  • Можно или нет установить FreeBSD 11 на ESXi 5.5U2?
  • Заработает/не заработает?
  • Заработают ли VMware Tools?

Полазил вот здесь, ясности не прибавило.

https://www.vmware.com/resources/compatibility/search.php?deviceCategory=software&details=1&page=1&display_interval=20&sortColumn=Partner&sortOrder=Asc&testConfig=16

Если ввести вот такие параметры, то выйдет «странная картинка». FreeBSD 11+ не поддерживается никаким из существующих гипервизоров. Наверное, данные в этой странице давно не обновлялись.

vmware compatibility guide

Можете поиграться со странчкой.

Я, например, увидел, что FreeBSD 11 не поддерживается гипервизорами ESXi :). Уже смешно.

Можно посмотреть что говорит на этот счет VMware Workstation. Пробуем совместимость с 5.5

режим совместимости VMware Workstation

Ой! Оказывается создать ВМ с такой гостевой ОС возможно, даже для ESXi 5.5.

VMware Workstation - ОС FreeBSD 11 64 bit

Оставим же «на совести» VMware их таблицу и их маркетинговые ходы. И пойдем дальше.

Нет, наверное, можно поднять гипервизор до версии 6.5 или, лучше, 6.7 и все, по идее, заработает гарантированно, но тут возникают два вопроса. Финансовый и вопрос целесообразности.

Остановлюсь на втором вопросе. Вот таблица сравнения версий ESXi и их возможностей

сравнение версий vsphere

В данной компании всего несколько хостов и расширения до «1 000 хостов и 10 000 ВМ» не планируется никогда. Не говоря уже о том, что ESXi 5.5 уже куплен и никто, без веских оснований, платить за ESXI 6.5+ не будет. А оснований таких и нет, как выяснится ниже.

ИТАК.

Задача простая. Есть рабочие хосты с ESXi 5.5U2 и этим надо пользоваться. Но нужно чтобы работала не только ВМ, но и VMware Tools.

Что, навело на мысль, что можно попробовать это осуществить (Помимо VMware WS)?

Вот эти команды из инструкции по установке VMware Tools на виртуальную машинку с FreeBSD. Один из этапов. Ссылка на инструкцию будет ниже.

Если видим сообщение «Please re-run this program after installing the compat6x-amd64 package.», инсталлируем соответствующий пакет:

cd /usr/ports/misc/compat6x/
make install clean
rehash

То есть надо поставить совместимость с FreeBSD версии 6 или выше. Исходя из этого, сделан вывод, что, видимо, никаких изменений в VMware Tools (для FreeBSD) не делалось и они, скорее всего, заработают.

Не буду описывать все «танцы с бубном», но задача решена.

ДВА СПОСОБА.

Один длинный, второй покороче. Но без первого, я бы второй не стал даже пробовать.

С сайта FreeBSD был скачан готовый FreeBSD-11.2-RELEASE-amd64.vmdk файл. Для ускорения процесса.

Метод 1. Используем VMware Workstation 14

  1. Создаем ВМ, совместимую с гипервизором 5.5U2.
    совместимость ВМ с esxi 5.5
  2. В качестве гостевой ОС выбираем FreeBSD 11 64-bit.
    тип гостевой ОС - FreeBSD 11 64-bit
  3. Остальные параметры на ваше усмотрение. Надо указать в качестве диска «Использовать существующий» и там подставить тот .vmdk, который был скачан ранее.
  4. Создали. Запускаем. Все работает.
  5. Устанавливаем VMWare Tools. Например, так как это описано здесь — http://moonlightsoft.blogspot.com/2016/04/freebsd-vmware-tools.html
    1. В vSphere Client кликните правой кнопкой мыши на виртуальной машине с ОС FreeBSD и выберите: Guest-> Install/Upgrade VMware Tools.
    2. Далее переходим в каталог «/dev» и выполняем «ls». Среди списка определяем CD-ROM, скорее всего это будет «cd0».
    3. Монтируем привод в директорию «/mnt»:
      mount -t cd9660 -o -e /dev/cd0 /mnt
    4. Проверим, что на диске есть файл «vmware-freebsd-tools.tar.gz»:
      ls /mnt
    5. Создадим папку для установочных файлов:
      mkdir /usr/home/vmtools
    6. Распакуем туда архив:
      tar xzf /mnt/vmware-freebsd-tools.tar.gz -C /usr/home/vmtools/
    7. Установочный диск больше не нужен, поэтому отмонтируем его:
      umount /mnt
    8. Переходим в каталог с инсталлятором VMware Tools:
      cd /usr/home/vmtools/vmware-tools-distrib/
    9. Затем начинаем установку командой: perl ./vmware-install.real.pl Запустится мастер и задаст ряд вопросов, на которые можно отвечать по умолчанию, просто нажимая «Enter».

      При отсутствии в системе интерпретатора языка Perl («perl: Command not found.») доустанавливаем его:

      cd /usr/ports/lang/perl5.20
      (или другую версию)
      make install clean
      rehash
      perl -v

      (проверяем корректность инсталляции)

    10. После установки запускаем конфигуратор:
      perl /usr/local/bin/vmware-config-tools.pl
      .

      Если видим сообщение «Please re-run this program after installing the compat6x-amd64 package.», инсталлируем соответствующий пакет:

      cd /usr/ports/misc/compat6x/
      make install clean
      rehash

      Затем повторно выполняем:
      perl /usr/local/bin/vmware-config-tools.pl
      и проходим мастер конфигурации.

    11. По завершению работы мастера удаляем директорию с распакованным дистрибутивом:
      rm -r /usr/home/vmtools/
      и отключаем диск с VMware Tools в vSphere Client: Guest-> End VMware Tools Install.
  6. Все поставили и убедились, что все работает. В том числе и VMware Tools. В управлении «электропитанием», все пункты меню открыты.

виртуальная машина с freebsd 11.2

Теперь надо перенести ВМ на ESXi хост. Делаем это стандартным способом через .ovf template. Не стоит делать через .ova, не сработает, чуть ниже будет видно почему.

Примечание: если используется VMware WS 14, то не забываем «сконвертировать» из SHA256 в SHA1 при помощи ovftool.exe. Потому как ESXi 5.5 не понимает хэшей отличных от SHA1.

Я использовал вот такую команду:
"C:Program FilesVMwareVMware OVF Toolovftool.exe" --shaAlgorithm=SHA1 FreeBSD-11x64_256.ovf FreeBSD-11x64.ovf

VMware ovftool 4.3.0 (build-7948156) можно скачать бесплатно с сайта VMware — https://www.vmware.com/support/developer/ovf/

  1. Запустили импорт .ovf на ESXi хост. И … Не получилось. Тут небольшая засада. Вот такая: “The specified operating system identifier » (id: 78) is not supported on the selected host. It will be mapped to the following OS identifier: ‘Other (32-bit).
    ошибка ovf: The specified operating system identifier " (id: 78) is not supported on the selected host.

Я нажал “No” и пошел разбираться. Вот эта строка.

А должна быть

Как я это узнал? Сделал самым простым способом. Создал «пустышку» с FreeBSD на ESXi 5.5U2 и экспортировал в ovf. А потом «подсмотрел» правильный формат строки.

Хотите в этом детально разобраться, милости просим.

Осталось, казалось бы, мелочь – заменить строку на правильную и все станет хорошо. Но нет. Заменяем. И пробуем импортировать. Не работает. Небольшие «грабли»:»File FreeBSD-11×64.ovf fials integrity check and might have been corrupted during transfer«.

File FreeBSD-11x64.ovf fials integrity check and might have been corrupted during transfer

Строку-то я в .ovf поменял, а вот поправить файл .mf забыл.

Оригинальный содержал строки

SHA1(FreeBSD-11x64.ovf)= 8f2519844dde82522bc7f6c96b555c842425d5ed
SHA1(FreeBSD-11x64-disk1.vmdk)= cb1a6f572f50ae631f28c1054caa86fa7067cf19

Но я же поменял одну строку. Следовательно, надо пересчитать хэш SHA1 и прописать правильный

Я использовал онлайн SHA1 Hash Generator — https://passwordsgenerator.net/sha1-hash-generator/.

Получается, вот так (в моем случае).

SHA1(FreeBSD-11x64.ovf)= 9090e377b3cf2eb119a1162ec1aa5be141d9fe59
SHA1(FreeBSD-11x64-disk1.vmdk)= cb1a6f572f50ae631f28c1054caa86fa7067cf19

Редактируем .mf файл. Снова импортируем. И все заработало.

импорт ovf образа

Дальше процесс показывать не буду, вы все в курсе как это делается.

Что в результате?

  1. Все хорошо. Покажу на другом скриншоте.freebsd 11 под esxi5.5
  2. И вот как ESXi видит эту ВМ:виртуальная машина с freebsd на esxi
  3. Проверяем управление «электропитанием» — все ОК, все пункты меню открыты

управление электропитанием

Ура! Заработало (с) Кот Матроскин.

Отступление. Из изложенного выше, наверно, понятно почему я сказал не делать экспорт/импорт через .ova файл. .OVA это контейнер, в котором все три файла .mf .ovf и .vmdk собраны в единый архив. И внесение исправлений в него, описанным способом, попросту невозможно.

Метод 2. Используем сразу ESXi 5.5U2

Ну раз первый способ удался, то почему бы не попробовать сразу на гипервизоре создать FreeBSD 11?

Сказано -сделано. Используем все тот же (надеюсь вы его скопировали в отдельное место) образ — FreeBSD-11.2-RELEASE-amd64.vmdk

  1. Создаем ВМ. Тут все стандартно и просто. Ну разве что вот здесь не забыть указать правильную ОС. Да, варианта выбора “FreeBSD 11 64-bit” нет. Так что берем ближайший похожий “FreeBSD 64-bit”.
    гостевая ос - FreeBSD 11 64-bit
  2. Устанавливаем VMware Tools по инструкции выше.
  3. Убеждаемся, что все работает.
    VMware Tools на freebsd 11
  4. Проверяем управление «электропитанием» — все ОК, все пункты меню открыты.

управление питанием ВМ

БОНУС: Установка сторонних VM Tools.

Не возбраняется, более того, например ВМ с CentOS предложила это сделать. А почему бы и нет. Если даже сами VMware для ВМ с vCenter используют не свои VMwrae Tools, а стороннего производителя?

3-rd party vmtools

И, если вы до конца дочитали инструкцию по установке VMTools по ссылке выше, то наверняка заметили вот этот, последний, абзац.

Установка с помощью пакетного инсталлятора:

pkg install open-vm-tools

Перезагрузка.

  1. Пробуем? Да. И вот результат.
    running 3-rd part vmtools
  2. Проверяем управление «электропитанием» — работает.
    power managment vm

На этом все.

VMware
Установка FreeBSD 11.2 на VMWare ESXi 5.5U2