Dez 06

Vor einiger Zeit hatte ich (mehr oder weniger wortlos) die Konfigurationsdatei zur automatisierten Installation von ESX 4.x online gestellt. Seither hat sich einiges getan, es gab viele Detailverbesserungen und die Installation wurde deutlich angepasst. Da dieser (wenn man den Statistiken trauen darf) Beitrag einer der Top Scorer ist, möchte ich die Gelegenheit nutzen, euch die neueste Konfiguration zu zeigen und auch ein wenig erklären.

Die automatisierte ESX Installation verwendet das ISO-Image, wie es von VMware zum Download angeboten wird. Lediglich die kickstart-Dateien habe ich in dieses ISO-Image integriert. Das hat den Vorteil, dass die kickstart-Dateien nicht auf dem Netz liegen müssen und die Installation größtenteils ohne Netzwerk auskommt.

Die Verwendung des ISO-Images ist recht einfach…
ISO-Image per ILO (RIB, KVM, etc) mounten, 5 Kommandozeilenparameter angeben und (je nach Netzwerkverbindung) eine halbe Stunde warten.

Die verwendeten Kommandozeileparameter sind:
ESXIP=xxx.xxx.xxx.xxx (Die IP Adresse, über die später die Serviceconsole erreichbar ist)
ESXMASK=xxx.xxx.xxx.xxx (Subnetzmaske, entsprechend den Netzwerkeinstellungen in eurem Netzwerk)
ESXGW=xxx.xxx.xxx.xxx (Das Default Gateway in eurem Netzwerk)
ESXHOST=myserver.fqdn.tld (der vollqualifizierte Rechnername des ESX Servers)
ESXVLAN=xxxx (die VLAN ID, über die die Serviceconsole ereichbar ist – 0 steht für “kein VLAN”)

Einige Sektionen innerhalb der kickstart-Datei erkläre ich Euch genauer:

rootpw --iscrypted $jhjhghjVFHFGCgffGvjHFGJghfHjhGHJ

Das root Passwort als MD5 Hash. Ihr könnt das Passwort selbst erstellen, indem ihr auf einem Linuxserver (oder einem ESX) folgendes Kommando absetzt: openssl passswd -1. Nun müsst ihr das zu generierende Passwort zweimal eingeben. Nun erhaltet ihr den MD5 Hash eures Passwort, welchen ihr in die kickstart-Datei kopiert.

%include /tmp/networkconfig
%include /tmp/diskmap

Die networkconfig wird anhand der beim Start eingegebenen Kommandozeilenparameter erstellt und während der Installation in die kickstart-Datei integriert. Die diskmap wird anhand der gefundenen Hardware generiert. Dies ist nötig, da zum Beispiel Hewlett-Packard Proliant G5 Server als SCSI Geräte /dev/cciss/cxdx verwenden, während die Generation 6 von HP /dev/sdx als SCSI Gerät für die lokalen Festplatten verwendet.

serialnum --esx=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx

Hier müsst ihr die Lizenznummer von VMware eingeben. Lasst ihr die Zeile komplett weg, wird der ESX Server später im 60 Tage Evaluierungsmodus betrieben.

MODEL=`dmidecode -s system-product-name`
if [ `echo $MODEL | grep -o G5` ]
        then
        SCSITYPE=cciss/c0d0
elif [ `echo $MODEL | grep -o G6` ]
        then
        SCSITYPE=sda
elif [ `echo $MODEL | grep -o Sun` ]
        then
        SCSITYPE=sda
elif [ `echo $MODEL | grep -o VMware` ]
        then
        SCSITYPE=sda
elif [ `echo $MODEL | grep -o N20-B6` ]
        then
        SCSITYPE=sdc
elif [ `echo $MODEL | grep -o PowerEdge` ]
        then
        SCSITYPE=sdc
else
        echo "$MODEL is unsupported..."
fi

echo "found hardware: $MODEL..."
echo "installing ESX on $SCSITYPE..."
rm /tmp/diskmap > /dev/null 2>&1
echo "clearpart --drives=$SCSITYPE --initlabel --overwritevmfs" > /tmp/diskmap
echo "part /boot --fstype=ext3 --size=512 --ondisk=$SCSITYPE" >> /tmp/diskmap
echo "part none --fstype=vmkcore --size=100 --ondisk=$SCSITYPE" >> /tmp/diskmap
echo "part SYSTEM --fstype=vmfs3 --size=32768 --grow --ondisk=$SCSITYPE" >> /tmp/diskmap
echo "virtualdisk COS --size=30720 --onvmfs=SYSTEM" >> /tmp/diskmap
echo "part / --fstype=ext3 --size=9216  --onvirtualdisk=COS" >> /tmp/diskmap
echo "part /var --fstype=ext3 --size=9216  --onvirtualdisk=COS" >> /tmp/diskmap
echo "part /tmp --fstype=ext3 --size=9216  --onvirtualdisk=COS" >> /tmp/diskmap
echo "part swap --fstype=swap --size=2048  --onvirtualdisk=COS" >> /tmp/diskmap

Mittels “dmidecode” lese ich die Hardware aus und generiere dabei die diskmap zur Partitionierung.

echo "creating variables for network config..."
cat < < EOF >> /tmp/networkconfig
network --device=vmnic0 --bootproto=static --ip=${ESXIP} --netmask=${ESXMASK} --gateway=${ESXGW} --nameserver=192.168.0.1,192.168.0.2 --hostname=${ESXHOST} --addvmportgroup=0 --vlanid=${ESXVLAN}
EOF

Hiermit erstelle ich die networkconfig mit den auf der Kommandozeile übergebenen Parametern.

%post --interpreter=bash

Nach der Installation werden diverse Scripte erstellt. Dabei verwende ich “bash” als Interpreter, um die Kommandos für die “rc.local” zu generieren.

Innerhalb der Datei “rc.local” werden diverse Konfigurationsschritte ausgeführt, einige davon möchte ich euch näher erläutern.

esxcfg-firewall --enableService ntpClient > /dev/null 2>&1
esxcfg-firewall --enableService sshClient > /dev/null 2>&1
esxcfg-firewall -o 80,tcp,in,http > /dev/null 2>&1
esxcfg-firewall -o 80,tcp,out,http > /dev/null 2>&1
esxcfg-firewall -o 2301,tcp,in,hpsim > /dev/null 2>&1
esxcfg-firewall -o 2301,tcp,out,hpsim > /dev/null 2>&1
esxcfg-firewall -o 88,tcp,out,KerberosClient > /dev/null 2>&1
esxcfg-firewall -o 88,udp,out,KerberosClient > /dev/null 2>&1
esxcfg-firewall -o 636,tcp,out,OpenSSL > /dev/null 2>&1
esxcfg-firewall -o 464,tcp,out,KerberosPasswordChange > /dev/null 2>&1
esxcfg-firewall -o 389,tcp,out,ldap > /dev/null 2>&1
chkconfig --level 345 ntpd on > /dev/null 2>&1
chkconfig --level 345 sshd on > /dev/null 2>&1

Hiermit öffne ich diverse Firewallports, die für den späteren Betrieb nötig sind.

SEARCH1=`hostname -d`
SEARCH2="my.fqdn.tld"

if [ $SEARCH1 = $SEARCH2 ]; then
        echo "nameserver 192.168.0.1" > /etc/resolv.conf
        echo "nameserver 192.168.0.2" >> /etc/resolv.conf
        echo "search my.fqdn.tld" >> /etc/resolv.conf
else
        echo "nameserver 192.168.0.1" > /etc/resolv.conf
        echo "nameserver 192.168.0.2" >> /etc/resolv.conf
        echo "search $SEARCH1 $SEARCH2" >> /etc/resolv.conf
fi

Dieses Konstrukt wertet den Vollqualifizierten Rechnernamen aus und erstellt daraufhin die Datei /etc/resolv.conf.

sed -e 's/PermitRootLogin no/PermitRootLogin yes/' -i /etc/ssh/sshd_config

Der root Login über ssh sollte möglich sein…

sed -i 's/\/boot\/memSize\ =\ "[0-9][0-9][0-9]"/\/boot\/memSize\ =\ "512"/1' /etc/vmware/esx.conf
sed -i 's/mem=300M/mem=512M/g' /boot/grub/grub.conf
sed -i 's/uppermem 307200/uppermem 524288/g' /boot/grub/grub.conf

Die Serviceconsole bekommt 512MB RAM, da wir u.U. zusätzliche Hardwareagenten laufen lassen müssen.

cat > /etc/ntp.conf < < "EOF"
restrict 127.0.0.1
restrict default kod nomodify notrap
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys
server 192.168.0.1
server 192.168.0.2
EOF

cat > /etc/ntp/step-tickers < < "EOF"
192.168.0.1
192.168.0.2
EOF

ntpdate 192.168.0.2 192.168.0.1
hwclock --systohc

Hiermit wird die Konfiguration für den Zeitdaemon generiert. Zusätzlich führe ich gleich einen Abgleich der Zeit mit den ntp-Servern aus. Dadurch ist gewährleistet, dass der ESX Server beim ersten Start die richtige Zeit hat.

esxcfg-advcfg -s 1 /Disk/UseLunReset > /dev/null 2>&1
esxcfg-advcfg -s 0 /Disk/UseDeviceReset > /dev/null 2>&1
esxcfg-advcfg -s 50 /Disk/MaxLUN > /dev/null 2>&1
esxcfg-advcfg -s 128 /Disk/SchedNumReqOutstanding > /dev/null 2>&1
cp -a /etc/bashrc /etc/bashrc.old > /dev/null 2>&1
sed -i "s/\\h \\\W/\\h \\\w/g" /etc/bashrc > /dev/null 2>&1

Einige erweiterte Einstellungen, die sich in der Praxis bewährt haben. Gleichzeitig möchte ich immer das aktuelle Arbeitsverzeichnis am prompt angezeigt bekommen. Das wird durch den “sed” in der letzten Zeile bewerkstelligt.

DS=`cat /proc/vmware/rootFsVMDKPath | cut -d '/' -f 4`
rm -f /vmfs/volumes/SYSTEM
ln -s $DS /vmfs/volumes/`hostname -s | tr [:lower:] [:upper:]`-System
vmware-vim-cmd "/internalsvc/refresh_datastores" > /dev/null 2>&1

Der Datastore für die Serviceconsole heisst bei mir immer wie der Hostname gefolgt von einem “-System”. Beispiel: ESX1-System.

for switch in $( esxcfg-vswitch -l | awk '/vSwitch/ {print $1}'); do
 /usr/sbin/esxcfg-vswitch -B both $switch
done

Hiermit aktivieren wir das Cisco Discovery Protocol für alle vorhandenen vSwitche (zu diesem Zeitpunkt ist aber nur ein vSwitch vorhanden).

mkdir -p /root/.ssh
cd /root/.ssh
lwp-download http://192.168.0.3/install/keys.tgz > /dev/null 2>&1
tar xzf keys.tgz > /dev/null 2>&1
rm keys.tgz

Die ssh-Keys (bzw. die authorized_keys-Datei) zum passwortlosen Login liegen auf einem Installationsserver. Diese wird nun “abgeholt” und an die richtige Stelle entpackt.

useradd -s /bin/false -c "Service Desk" -p mysecret itstaff > /dev/null 2>&1
groupadd -g 1500 ESXAdmins > /dev/null 2>&1

Wir legen einen lokalen Arbeitsuser an, der später über eine AD Gruppe root Rechte erlangen kann.

esxcfg-auth --enablead --addomain my.fqdn.tld --addc dc1.my.fqdn.tld --addc dc2.my.fqdn.tld --addc dc3.my.fqdn.tld --krb5realm=my.fqdn.tld --krb5kdc dc1.my.fqdn.tld --krb5adminserver dc1.my.fqdn.tld --enablekrb5 > /dev/null 2>&1

cat > /etc/openldap/ldap.conf < < "EOF"
base dc=my,dc=fqdn,dc=tld
host dc1.my.fqdn.tld dc2.my.fqdn.tld dc3.my.fqdn.tld
pam_password md5
ssl no
EOF

Die Konfiguration für die AD Authentifizierung wird angepasst.

lwp-download -a http://192.168.0.3/install/ldap_search.sh /root/scripts/ldap_search.sh > /dev/null 2>&1
lwp-download -a http://192.168.0.3/install/makeconfig.sh /root/scripts/makeconfig.sh > /dev/null 2>&1
ln -s /root/scripts/makeconfig.sh /root/makeconfig.sh > /dev/null 2>&1
ln -s /root/scripts/ldap_search.sh /root/ldap_search.sh > /dev/null 2>&1

echo "chmod scripts..."
chmod +x /root/scripts/ldap_search.sh > /dev/null 2>&1
chmod +x /root/scripts/makeconfig.sh > /dev/null 2>&1
/root/scripts/ldap_search.sh > /dev/null 2>&1

echo "creating cronjobs..."
echo "@hourly     /usr/bin/lwp-download -a http://192.168.0.3/install/ldap_search.sh /root/scripts/ldap_search.sh > /dev/null 2>&1" > /tmp/root-cron
echo "@hourly     /usr/bin/lwp-download -a http://192.168.0.3/install/makeconfig.sh /root/scripts/makeconfig.sh > /dev/null 2>&1" >> /tmp/root-cron
echo "@hourly     /root/scripts/ldap_search.sh > /dev/null 2>&1" >> /tmp/root-cron
crontab -u root /tmp/root-cron
rm /tmp/root-cron > /dev/null 2>&1

echo "setting up sodoers..."
cat > /etc/sudoers < < "EOF"
Defaults env_reset

root ALL=(ALL) ALL
%hpsmh ALL=NOPASSWD:/etc/init.d/snmpd
%hpsmh ALL=NOPASSWD:/usr/bin/snmptrap
%ESXAdmins ALL=(ALL) NOPASSWD: ALL, !/usr/bin/passwd root
EOF

visudo -q -c -s -f /etc/suoders

Hiermit werden diverse Script vom Installationsserver abgeholt und einige Cronjobs aktiviert. Später sind Mitglieder einer bestimmten AD Gruppe in der Lage, sich am ESX Server anzumelden und mittels “sudo” root-Rechte zu erlangen.

if [ `dmidecode | grep -i vendor | cut -d ':' -f 2 | cut -d ' ' -f 2` = HP ] || [ `dmidecode | grep -i vendor | cut -d ':' -f 2 | cut -d ' ' -f 2` = Hewlett-Packard ]; then
echo "installaing HP Hardware agents..."
/etc/init.d/pegasus stop > /dev/null 2>&1
cd /tmp
lwp-download http://192.168.0.3/install/hp/hpmgmt-8.2.5-vmware4x.tgz > /dev/null 2>&1
tar xzf hpmgmt-8.2.5-vmware4x.tgz > /dev/null 2>&1

cat > /tmp/hpmgmt.conf < < "EOF"
export CMASILENT="YES"
export CMALOCALHOSTRWCOMMSTR=127.0.0.1
export CMALOCALHOSTROCOMMSTR=127.0.0.1
export CMAMGMTSTATIONRWIPORDNS=mysim.server
export CMAMGMTSTATIONRWCOMMSTR=mysim.server
export CMASYSCONTACT="Hotline - +49 0815 0815"
export CMASYSLOCATION="My Company - IT Staff"
export ENABLEHPIMPORT=Y
export ENABLEHP_SIMPORT=Y
export ENABLESNMPSERVICE=Y
export ENABLESIMCERTPORT=Y
EOF

cd /tmp/hpmgmt/825
sh ./install825vibs.sh --silent --inputfile /tmp/hpmgmt.conf

echo "creating snmp config..."
cat > /etc/snmp/snmpd.conf < < "EOF"
dlmod cmaX /usr/lib64/libcmaX64.so
rwcommunity 127.0.0.1
rocommunity 127.0.0.1
rwcommunity mysim.server
rocommunity str mysim.server
rocommunity str myscom1.server
rocommunity str myscom2.server
rocommunity str myscom3.server
rocommunity str myscom4.server
trapcommunity str
trapsink localhost
trapsink mysim.server
trapsink myscom1.server
trapsink myscom2.server
trapsink myscom3.server
trapsink myscom4.server
syscontact Hotline - +49 0815 0815
syslocation My Company - IT Staff
EOF

echo "creating System Management Homepage config..."
cat > /opt/hp/hpsmh/conf/smhpd.xml < < "EOF"
<?xml version="1.0"?>
<system -management-homepage>
  <admin -group>ESXAdmins</admin>
  <operator -group>itstaff</operator>
  <user -group/>
  <allow -default-os-admin>true</allow>
  <anonymous -access>false</anonymous>
  <localaccess -enabled>false</localaccess>
  <localaccess -type>Anonymous</localaccess>
  <trustmode>TrustByName</trustmode>
  <xenamelist>mysim.server</xenamelist>
  <ip -binding>false</ip>
  <ip -binding-list/>
  <ip -restricted-logins>false</ip>
  <ip -restricted-include></ip>
  <ip -restricted-exclude/>
<session -timeout>30</session><admin -kerberos/><ui -timeout>30</ui><operator -kerberos/><box -order>name</box><user -kerberos/><box -item-order>name</box><custom -ui>false</custom><iconview>false</iconview></system>
EOF

echo "creating SIM server certificate..."
cat > /opt/hp/hpsmh/certs/mysim.server.pem < < "EOF"
-----BEGIN CERTIFICATE-----
MIIDHjCCAoegAwIBAgIJUtPscfb6bV6QMA0GCSqGSIb3DQEBBAUAMIG4MQswCQYDVQQGEwJVUzET
KJKJHkjgZUFGFhJHGhjGJHGHJGjhgKJKJHkjgZUFGFhJHGhjGJHGHJGjhgKJKJHkjgZUFGFhJHGh
LVBhY2thcmQgQ29tcGFueTE0MDIGA1UECxMrSGV3bGV0dC1QYWNrYXJkIE5ldHdvcmsgTWFuYWdl
bWVudCBTb2Z0d2FyZTEoMCYGA1UEAxMfc3N0cm0wMzIuZW1lYS5pc24uY29ycGludHJhLm5ldDAe
KJKJHkjgZUFGFhJHGhjGJHGHJGjhgKJKJHkjgZUFGFhJHGhjGJHGHJGjhgKJKJHkjgZUFGFhJHGh
KJKJHkjgZUFGFhJHGhjGJHGHJGjhgKJKJHkjgZUFGFhJHGhjGJHGHJGjhgKJKJHkjgZUFGFhJHGh
KJKJHkjgZUFGFhJHGhjGJHGHJGjhgKJKJHkjgZUFGFhJHGhjGJHGHJGjhgKJKJHkjgZUFGFhJHGh
d2FyZTEoMCYGA1UEAxMfc3N0cm0wMzIuZW1lYS5pc24uY29ycGludHJhLm5ldDCBnzANBgkqhkiG
9w0BAQEFAAOBjQAwgYkCgYEAg/Xsw3515vsjxCP5+X3pwxNMEyM+kSzRBdPqvOVc5SscyeLFMfMC
LobDXH+7Xt3iatZfjPAI04J6Qfi9PVbb6ww7KL3PXvYM9HAbz+Ae/eWOHcSICrFhmGPKdjpts1CQ
SN9cbYOcBGoEUQq8N+ol20YmSKUPhRcmDPAVA/aLTgUCAwEAAaMuMCwwKgYDVR0RBCMwIYIfc3N0
cm0wMzIuZW1lYS5pc24uY29ycGludHJhLm5ldDANBgkqhkiG9w0BAQQFAAOBgQA33whUdYR5GTZE
fviL5bPLpsyRtT5YDDd8vwGU9dttkfAXxbaQBBlyJzzfr0v4Dcq5O0GBNj++MyXv/dIYANT2Y/o1
3UjY/86TgUVGiYOtUtIFqQSbKkufzam1gTsWj1chNHLznuL0odU6gz2xXsVgoc0YcA+glG34Jlz0
JKHBJkgb==
-----END CERTIFICATE-----
EOF

cat > /opt/hp/hp-snmp-agents/cma.conf < < "EOF"
exclude cmafcad
trapemail /bin/mail -s 'HP Insight Management Agents Trap Alarm' root
EOF

echo "closing firewall..."
esxcfg-firewall --blockIncoming > /dev/null 2>&1

echo "disabling ASR..."
hpasmcli -s "disable asr" > /dev/null 2>&1

else
echo "detected other hardware. HP Agents will NOT be installed..."
fi

Anhand der Hardware wird nun ermittelt, ob es sich um einen HP Server handelt. Ist dies der Fall, werden die HP Hardwareagents installiert und konfiguriert. Dabei übermitteln die HP Agents ihre Meldungen an einen SIM-Server und gleichzeitg an mehrere SCOM-Server. Die Option “disable asr” hat sich in der Vergangeheit bewährt, da die Agents einen Reset des Servers ausführen, sollte die Serviceconsole kurzzeitig nicht reagieren (zum Beispiel bei mehreren gleichzeitigen VMotion Vorgängen).

cat > /etc/syslog.conf < < "EOF"
#
# syslog-ng.conf
#

*.info;mail.none;authpriv.none;cron.none;local6.none;local5.none /var/log/messages
authpriv.*                                                       /var/log/secure
mail.*                                                           /var/log/maillog
cron.*                                                           /var/log/cron
*.emerg                                                          *
uucp,news.crit                                                   /var/log/spooler
local7.*                                                         /var/log/boot.log
local6.info;local6.!notice                                       /var/log/vmksummary
local6.warning                                                   /var/log/vmkwarning
local6.notice                                                    /var/log/vmkernel
local5.*                                                         /var/log/vmkproxy
local4.*                                                         /var/log/storageMonitor
*.warning;*.emerg;*.err;*.crit;*.alert                           @myscom1.server
*.warning;*.emerg;*.err;*.crit;*.alert                           @myscom2.server
EOF

Syslog Events werden ebenfalls an die SCOM-Server übermittelt und ermöglichen somit das Monitoring der ESX Server mittels SCOM.

vmware-vim-cmd /hostsvc/maintenance_mode_enter > /dev/null 2>&1
esxupdate --bundle=http://192.168.0.3/updates/4.0/ESX-4.0.0-update01.zip update

Der ESX Host wird in den Wartungsmodus versetzt und aktuelle Updates werden installiert.

echo "FAEI installed on `date +"%d.%m.%Y"` - `hostname -f`" >> /root/installed

rm -rf /tmp/* > /dev/null 2>&1
mkdir -p /tmp/vmware-root
shutdown -r 1 "ESX Installation done. Doing final reboot..."

Das /tmp Verzeichnis wird geleert und der ESX Server einmal rebootet. Somit ist der Server fertig installiert und kann direkt ins vCenter integriert werden.

Die vollständige kickstart-Datei könnt ihr hier herunterladen.

geschrieben von Sven


7 Antworten to “ESX 4 Unattended Installation – Part II”

  1. 1. maurice Says:

    Hi Sven,

    Sehr schöner, hilfreicher und ausführlicher Blog-Eintrag!

    Eine Sache habe ich allerdings nicht verstanden. Zu welchen Zeitpunkt setzt du die ESXIP, ESXMASK etc. Variablen?
    Würde mich über eine Antwort sehr freuen: mauricem@gmx.de

    Gruß

  2. 2. Chris Says:

    Hoi, super Posting, ich hab nur mal ne Verständnis Frage, wenn ich die Kickstart Dateien mit in die von VMWare runtergeladene ISO integriere, kann ich je nach Kickstart Datei, die ISO einlegen und muss nicht mehr machen, also alles ist automatisiert?
    Zweite Frage: Die Kickstart Datei bezieht sich hier auf einen HP Server, gibt es irgendwo die Möglichkeit dies auch für unsere Server herzukriegen? Fujitsu Siemens, IBM usw?
    Gibt es irgendwo eine Seite wo mehrere Abschnitte der .txt noch mehr erklärt werden?
    Würde mich auf eine E-Mail freuen

    MfG

  3. 3. Sven Says:

    Hallo Chris,

    Das ganze ist “halb automatisiert”. Du musst beim Boot-Prompt der CD einige Parameter angeben (IP Adresse, Subnetzmaske, etc.) (Steht aber ganz oben bei “Kommandozeilenparameter”).

    das Script funktioniert mit HP (G5 und G6 sind getestet), Dell, Sun Fire X4xxx, Cisco Blades (UCS) und VMware Workstation. Letzten endes muss nur die Sektion mit dem dmidecode angepasst werden, da sich die Partitionierung aufgrund verschiedener SCSI Controller unterscheidet.

    Gruß
    Sven

  4. 4. Chris Says:

    Hi Sven,
    Danke schon mal für die schnelle Antwort, gibt es vielleicht eine Möglichkeit mit dir über E-Mail in Kontakt zu treten? Da ich dort doch noch ein paar kleinere Fragen hätte?

  5. 5. Sven Says:

    Hi,

    schau ins Impressum ;)

    Gruß
    Sven

  6. 6. Tino Says:

    Hi.

    Danke für die tolle Anleitung. Wir gehen den Weg auch in dieser Reihenfolge. Allerdings haben wir das Problem, dass der Installierte Client nachdem er neu gestartet ist, wieder in das über ILO gemountete Image bootet und wieder neu installiert wird. Hat hier ein Leser eventuell eine Idee, wie und wann ich dem Ilo beibringe dass er das BootImage unmounten soll?

  7. 7. Sven Says:

    Hi,

    Pack mal diese Einträge in die isolinux.cfg:

    default local

    LABEL local
    menu label ^Boot from local disk
    localboot 0×80

Antworten