Podczas wdrażania CentOS7 z szablonu miałem problemy, ponieważ dostosowania nie działają. Dla ustawienia VM OS - wybrałem RHEL7 jako OS, a nie CentOS (wcześniej nauczyłem się tej lekcji z Oracle Linux 6.5 podczas mojej poprzedniej pracy). To powinno działać dobrze? Nie dokładnie.
Objaw :
Po wdrożeniu nowej maszyny wirtualnej z szablonu CentOS7, przy pierwszym uruchomieniu serwer pojawia się z poprawną nazwą hosta, następnie uruchamiane są skrypty dostosowywania, a po ponownym uruchomieniu maszyny wirtualnej ma ona ponownie oryginalną nazwę hosta szablonu, a podczas / etc / sysconfig / skrypty sieciowe / ifcfg-ether mają poprawne ustawienia, ustawienia ifcfg dla poprawnej nic (ifcfg-e *) nie zostały zaimplementowane.
Tło :
Postępowałem zgodnie z instrukcjami VMWare dotyczącymi instalacji CentOS: http://partnerweb.vmware.com/GOSIG/CentOS_7.html
Po kilku dodatkach do pakietu (w tym narzędziach sieciowych, które są wymagane do dostosowań vSphere), następnie zapiąłem szablon w następujący sposób, używając mojego „skryptu templatize” ( podziękowania dla http://lonesysadmin.net/2013/03/26/preparing -linux-template-vms / for steps):
#!/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
Obsługiwane wersje, w których obejścia nie są już potrzebne :
- vSphere 5.5u3 (kompilacja 3000241 lub nowsza)
- vSphere 6.0 i nowszy
„Matryca wsparcia dostosowywania systemu operacyjnego gościa” VMWare : http://partnerweb.vmware.com/programs/guestOS/guest-os-customization-matrix.pdf
źródło
sys-unconfig
do procesu tworzenia szablonu.Odpowiedzi:
AKTUALIZACJA: Właśnie przetestowane, nadal działa w Centos 7.1, używając RHEL 6 jako opcji systemu-gościa i polecenia poniżej.
FYI redhat-release jest dowiązane symbolicznie do wydania centos. Jeśli edytujesz wydanie redhat, tak naprawdę modyfikujesz wydanie centos.
Aby postępować zgodnie z zaleceniami rozwiązania, aby nie modyfikować plików wersji specyficznych dla dystrybucji, wykonaj następujące czynności:
źródło
Rozwiązanie : Zmieniłem / etc / redhat-release na rozpoznawaną przez vSphere wartość „Red Hat Enterprise Linux Server wersja 7.0 (Maipo)” i mogę teraz wdrożyć maszynę wirtualną z mojego szablonu CentOS7 z dostosowaniami w porządku. Najpierw pamiętaj o utworzeniu istniejącego dowiązania symbolicznego / etc / redhat-release. Zobacz odpowiedź mjevange na eleganckie rozwiązanie z jedną wkładką.
Tło : Po utworzeniu i wdrożeniu nowego szablonu Oracle Linux 7 (OEL7) przy użyciu tej samej metody jak powyżej dla CentOS 7 i sprawieniu, że DZIAŁA, szybko zdałem sobie sprawę, o co chodzi. Sprawdź to:
Domyślny plik / etc / redhat-release w Centos7:
Domyślny plik / etc / redhat-release w RHEL7 / OEL7:
(Należy pamiętać, że pliki wersji dla CentOS i Oracle Linux to odpowiednio centos-release i oracle-release. NIE dotykaj ich, ponieważ są to pliki wersji specyficznej dla dystrybucji).
źródło