От vSphere 5.5 - Развертывание Centos 7 из шаблона игнорирует настройки

10

У меня были проблемы при развертывании CentOS7 из шаблона, так как настройки не вступают в силу. Для настройки ОС VM - я выбрал RHEL7 в качестве ОС, а не CentOS (ранее изучал этот урок с Oracle Linux 6.5 на моей предыдущей работе). Это должно работать правильно? Не совсем.

Симптом :
после развертывания новой виртуальной машины из шаблона CentOS7, при первой загрузке сервер находит правильное имя хоста, затем выполняются сценарии настройки, и после перезагрузки виртуальной машины он снова получает исходное имя хоста шаблона, и пока / etc / sysconfig / network-scripts / ifcfg-ether имеет правильные настройки, настройки ifcfg для правильного имени (ifcfg-e *) не были реализованы.

Фон :

Я следовал инструкциям VMWare для установки CentOS: http://partnerweb.vmware.com/GOSIG/CentOS_7.html

После нескольких добавлений пакетов (включая net-tools, которые требуются для настройки vSphere), я застегнул шаблон следующим образом, используя мой «скрипт templatize» (кредит http://lonesysadmin.net/2013/03/26/preparing -linux-template-vms / для шагов):

#!/bin/bash    
# clean yum cache
/usr/bin/yum clean all
#remove udev hardware rules
/bin/rm -f /etc/udev/rules.d/70*
#remove nic mac addr and uuid from ifcfg scripts
/bin/sed -i '/^\(HWADDR\|UUID\)=/d' /etc/sysconfig/network-scripts/ifcfg-eth0
#remove host keys (important step security wise.  similar to system GUID in Windows)
/bin/rm /etc/ssh/ssh_host_*
#engage logrotate to shrink logspace used
/usr/sbin/logrotate -f /etc/logrotate.conf
#and lets shutdown
init 0

Поддерживаемые версии, где обходные пути больше не нужны :

  • vSphere 5.5u3 (сборка 3000241 или выше)
  • vSphere 6.0 и выше

«Матрица поддержки настройки гостевой ОС от VMWare» : http://partnerweb.vmware.com/programs/guestOS/guest-os-customization-matrix.pdf

Джефф Бернс
источник
Вы должны включить sys-unconfigв свой процесс создания шаблона.
ewwhite
@ewwhite Спасибо. Хороший совет. Я положу это в свой инструментарий. Глядя на это, он наиболее полезен для чистых образов, где нет vSphere Customizations или KVM, где доступны Virt-Tools.
Джефф Бернс
Какая у вас версия ESX?
kikicarbonell
Мой vcenter 5.5 2001466 не показывает RedHat Enterprise 7 в качестве опции.
kikicarbonell
kikicarbonell - я обновил свой вопрос, чтобы отразить, где обходные пути больше не нужны, и поддерживаемые версии гостевых ОС. В вашем случае вам нужно обновить до 5.5u3. Приветствия
Джефф Бернс

Ответы:

5

ОБНОВЛЕНИЕ: только что протестировано, это все еще работает в Centos 7.1 с использованием RHEL 6 в качестве опции гостевой ОС и команды ниже.

К вашему сведению, redhat-release символизирует кентос-релиз. Если вы редактируете redhat-release, вы на самом деле модифицируете centos-release.

Чтобы следовать рекомендации решения о том, чтобы не изменять конкретные версии файлов дистрибутива, сделайте это вместо:

rm -f /etc/redhat-release && touch /etc/redhat-release && echo "Red Hat Enterprise Linux Server release 7.0 (Maipo)" > /etc/redhat-release
mjevange
источник
Спасибо. Я не могу поверить, что я не заметил, что они были символическими ссылками ... Я переместил решение в ваш ответ как хорошее, сжатое и точное для того, что я на самом деле изначально планировал.
Джефф Бернс
6

Решение : я изменил / etc / redhat-release на значение, признанное vSphere «Red Hat Enterprise Linux Server выпуск 7.0 (Maipo)», и теперь я могу развернуть виртуальную машину из моего шаблона CentOS7 с очень хорошими настройками. Обязательно сначала замените существующую символическую ссылку / etc / redhat-release. Посмотрите ответ mjevange для элегантного однолинейного решения.

Предпосылки : После создания и развертывания нового шаблона Oracle Linux 7 (OEL7) с использованием того же метода, что и выше для CentOS 7, и после того, как он заработал, я быстро понял, в чем проблема. Проверьте это:

Файл по умолчанию / etc / redhat-release в Centos7:

 cat /etc/redhat-release
 CentOS Linux release 7.0.1406 (Core)  

Файл по умолчанию / etc / redhat-release в RHEL7 / OEL7:

 cat /etc/redhat-release
 Red Hat Enterprise Linux Server release 7.0 (Maipo)

(Обратите внимание, что файлы версий для CentOS и Oracle Linux - это соответственно centos-release и oracle-release. НЕ трогайте их, так как они являются файлами версий для конкретного дистрибутива.)

Джефф Бернс
источник