В одной из компаний сложилась вот такая ситуация. Админ задал вопрос — “А возможна ли установка 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+ не поддерживается никаким из существующих гипервизоров. Наверное, данные в этой странице давно не обновлялись.
Можете поиграться со странчкой.
Я, например, увидел, что FreeBSD 11 не поддерживается гипервизорами ESXi :). Уже смешно.
Можно посмотреть что говорит на этот счет VMware Workstation. Пробуем совместимость с 5.5
Ой! Оказывается создать ВМ с такой гостевой ОС возможно, даже для ESXi 5.5.
Оставим же «на совести» VMware их таблицу и их маркетинговые ходы. И пойдем дальше.
Нет, наверное, можно поднять гипервизор до версии 6.5 или, лучше, 6.7 и все, по идее, заработает гарантированно, но тут возникают два вопроса. Финансовый и вопрос целесообразности.
Остановлюсь на втором вопросе. Вот таблица сравнения версий ESXi и их возможностей
В данной компании всего несколько хостов и расширения до «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
- Создаем ВМ, совместимую с гипервизором 5.5U2.
- В качестве гостевой ОС выбираем FreeBSD 11 64-bit.
- Остальные параметры на ваше усмотрение. Надо указать в качестве диска «Использовать существующий» и там подставить тот .vmdk, который был скачан ранее.
- Создали. Запускаем. Все работает.
- Устанавливаем VMWare Tools. Например, так как это описано здесь — http://moonlightsoft.blogspot.com/2016/04/freebsd-vmware-tools.html
- В vSphere Client кликните правой кнопкой мыши на виртуальной машине с ОС FreeBSD и выберите: Guest-> Install/Upgrade VMware Tools.
- Далее переходим в каталог «/dev» и выполняем «ls». Среди списка определяем CD-ROM, скорее всего это будет «cd0».
- Монтируем привод в директорию «/mnt»:
mount -t cd9660 -o -e /dev/cd0 /mnt
- Проверим, что на диске есть файл «vmware-freebsd-tools.tar.gz»:
ls /mnt
- Создадим папку для установочных файлов:
mkdir /usr/home/vmtools
- Распакуем туда архив:
tar xzf /mnt/vmware-freebsd-tools.tar.gz -C /usr/home/vmtools/
- Установочный диск больше не нужен, поэтому отмонтируем его:
umount /mnt
- Переходим в каталог с инсталлятором VMware Tools:
cd /usr/home/vmtools/vmware-tools-distrib/
- Затем начинаем установку командой: perl ./vmware-install.real.pl Запустится мастер и задаст ряд вопросов, на которые можно отвечать по умолчанию, просто нажимая «Enter».
При отсутствии в системе интерпретатора языка Perl («perl: Command not found.») доустанавливаем его:
cd /usr/ports/lang/perl5.20
(или другую версию)
make install clean
(проверяем корректность инсталляции)
rehash
perl -v - После установки запускаем конфигуратор:
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
и проходим мастер конфигурации. - По завершению работы мастера удаляем директорию с распакованным дистрибутивом:
rm -r /usr/home/vmtools/
и отключаем диск с VMware Tools в vSphere Client: Guest-> End VMware Tools Install.
- Все поставили и убедились, что все работает. В том числе и VMware Tools. В управлении «электропитанием», все пункты меню открыты.
Теперь надо перенести ВМ на ESXi хост. Делаем это стандартным способом через .ovf template. Не стоит делать через .ova, не сработает, чуть ниже будет видно почему.
Я использовал вот такую команду:
"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/
- Запустили импорт .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). ”
Я нажал “No” и пошел разбираться. Вот эта строка.
<OperatingSystemSection ovf_id="78" ovf_version="11" vmw_osType="freebsd11_64Guest">
А должна быть
<OperatingSystemSection ovf_id="78" vmw_osType="freebsd64Guest">
Как я это узнал? Сделал самым простым способом. Создал «пустышку» с FreeBSD на ESXi 5.5U2 и экспортировал в ovf. А потом «подсмотрел» правильный формат строки.
Хотите в этом детально разобраться, милости просим.
Осталось, казалось бы, мелочь – заменить строку на правильную и все станет хорошо. Но нет. Заменяем. И пробуем импортировать. Не работает. Небольшие «грабли»:» File FreeBSD-11×64.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 файл. Снова импортируем. И все заработало.
Дальше процесс показывать не буду, вы все в курсе как это делается.
Что в результате?
- Все хорошо. Покажу на другом скриншоте.
- И вот как ESXi видит эту ВМ:
- Проверяем управление «электропитанием» — все ОК, все пункты меню открыты
Ура! Заработало (с) Кот Матроскин.
Отступление. Из изложенного выше, наверно, понятно почему я сказал не делать экспорт/импорт через .ova файл. .OVA это контейнер, в котором все три файла .mf .ovf и .vmdk собраны в единый архив. И внесение исправлений в него, описанным способом, попросту невозможно.
Метод 2. Используем сразу ESXi 5.5U2
Ну раз первый способ удался, то почему бы не попробовать сразу на гипервизоре создать FreeBSD 11?
Сказано -сделано. Используем все тот же (надеюсь вы его скопировали в отдельное место) образ — FreeBSD-11.2-RELEASE-amd64.vmdk
- Создаем ВМ. Тут все стандартно и просто. Ну разве что вот здесь не забыть указать правильную ОС. Да, варианта выбора “FreeBSD 11 64-bit” нет. Так что берем ближайший похожий “FreeBSD 64-bit”.
- Устанавливаем VMware Tools по инструкции выше.
- Убеждаемся, что все работает.
- Проверяем управление «электропитанием» — все ОК, все пункты меню открыты.
БОНУС: Установка сторонних VM Tools.
Не возбраняется, более того, например ВМ с CentOS предложила это сделать. А почему бы и нет. Если даже сами VMware для ВМ с vCenter используют не свои VMwrae Tools, а стороннего производителя?
И, если вы до конца дочитали инструкцию по установке VMTools по ссылке выше, то наверняка заметили вот этот, последний, абзац.
Установка с помощью пакетного инсталлятора:
pkg install open-vm-tools
Перезагрузка.
- Пробуем? Да. И вот результат.
- Проверяем управление «электропитанием» — работает.
На этом все.