Ein Teil meiner Aufgaben umfasst die Weiterentwicklung der Automatisierten Installation von ESX Servern. Neben der Installation von VMware ESX mittels “kickstart” habe ich diverse Scripte geschrieben, die unter anderem auch die Hardware Agents für HP Server installieren.
Da das Script sowohl bei Neuinstallation als auch Upgrades zum Einsatz kommt, werden zuerst eventuell gestartete Prozesse beendet:
for i in /etc/init.d/hp*; do ${i} stop; done > /dev/null 2>&1
/etc/init.d/pegasus stop > /dev/null 2>&1
/etc/init.d/ipmi stop > /dev/null 2>&1
Im nächsten Schritt wechseln wir in das /tmp Verzeichnis, öffnen die ESX firewall,laden die Installationsquellen von einem Distributionsserver herunter und entpacken selbige.
cd /tmp
if [ -e /tmp/hpmgmt*.gz ]; then rm /tmp/hpmgmt*.gz fi
esxcfg-firewall –allowIncoming > /dev/null 2>&1
esxcfg-firewall –allowOutgoing > /dev/null 2>&1
lwp-download http:///hpmgmt-8.1.1-vmware3x.tgz
tar xzf hpmgmt-8.1.1-vmware3x.tgz
Eine minimalistische Antwortdatei generieren wir ebenfalls unterhalb von /tmp
cat > /tmp/hpmgmt.conf < < "EOF"
export CMASILENT=”YES”
export CMALOCALHOSTRWCOMMSTR=127.0.0.1
export CMALOCALHOSTROCOMMSTR=127.0.0.1
export CMAMGMTSTATIONRWIPORDNS=
export CMAMGMTSTATIONRWCOMMSTR=
export CMASYSCONTACT=”EDV Monitoring, Tel. 0815″
export CMASYSLOCATION=””
export ENABLEHPIMPORT=Y
export ENABLEHP_SIMPORT=Y
export ENABLESNMPSERVICE=Y
export ENABLESIMCERTPORT=Y
EOF
Jetzt erfolgt der Wechsel in das Verzeichniss der Installationsdatein, sowie die Prüfung, ob bereits eine Installation der Hardware Agents vorhanden ist. Wie aus dem Changelog der Management Agents von Hewlett Packard hervorgeht, wird eine Upgrade-Installation nicht unterstützt. Daher werden installierte Agents deinstalliert.
cd /tmp/hpmgmt/811
if [[ -e /opt/hp/ ]] ; then
echo “Older Version found… Removing…”
echo y | sh ./installvm811.sh –uninstall fi
sh ./installvm811.sh –silent –inputfile /tmp/hpmgmt.conf
Die Anpassung der snmpd.conf erfolgt nach Abschluss der Installation:
cat > /etc/snmp/snmpd.conf < < "EOF"
dlmod cmaX /usr/lib/libcmaX.so
rwcommunity strw 127.0.0.1
rwcommunity strw
rocommunity str 127.0.0.1
rocommunity str
trapcommunity str
trapsink localhost
trapsink
syscontact “EDV Monitoring, Tel 0815″
syslocation “Kundenname”
dlmod SNMPESX /usr/lib/vmware/snmp/libSNMPESX.so
EOF
Die System Management Homepage erlaubt nicht nur den Zugriff durch den Benutzer “root”, auch weniger priviligierte Mitarbeiter dürfen zumindest den Hardware-Status auslesen. Daher muss die entsprechende Datei ebenfalls angepasst werden. Hierbei wird dem HP SIM Server gestattet, ohne Authentifizierung auf die SHM zuzugreifen (da dieser ja eine eigene Authentifizierung erfordert.
cat > /opt/hp/hpsmh/conf/smhpd.xml < < "EOF"
< .?xml version="1.0"?>
< .system-management-homepage>
< .admin-group>ESXAdmins< ./admin-group>
< .operator-group>Operating< ./operator-group>
< .user-group>< ./user-group>
< .allow-default-os-admin>true< ./allow-default-os-admin>
< .anonymous-access>false< ./anonymous-access>
< .localaccess-enabled>false< ./localaccess-enabled>
< .localaccess-type>Anonymous< ./localaccess-type>
< .trustmode>TrustByName< ./trustmode>
< .xenamelist>< ./xenamelist>
< .ip-binding>false< ./ip-binding>
< .ip-binding-list/>
< .ip-restricted-logins>false< ./ip-restricted-logins>
< .ip-restricted-include/>
< .ip-restricted-exclude/>
< ./system-management-homepage>
EOF
In der Vergangenheit hatten wir des öfteren Probleme mit “unbeabsichtigt” ausgelösten ASR Events. Daher wird der ASR deaktiviert.
hpasmcli -s “disable asr” > /dev/null 2>&1
Zum Schluss müssen wir noch die Dienste durchstartet, damit die neue Konfiguration auch aktiv wird. Im Falle einer Automatisierten ESX Installation würde an dieser Stelle ein Reboot erfolgen. Pegasus wird hierbei deaktiviert, da dieser Dienst im Normalfall nicht nötig ist und in der Vergangenheit zu willkürlichem “spawnen” von Zombieprozessen geführt hatte.
for i in /etc/init.d/hp*; do ${i} restart; done
/etc/init.d/snmpd restart
/etc/init.d/syslog restart
chkconfig snmpd on
chkconfig pegasus off
Die ESX firewall wird am Ende der Installation wieder geschlossen.
esxcfg-firewall –blockIncoming > /dev/null 2>&1
geschrieben von Sven
Letzte Kommentare