Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!

Shutdown Script

Moderatoren: Dayworker, irix

Member
Beiträge: 35
Registriert: 24.08.2012, 08:48

Shutdown Script

Beitragvon Alveran » 11.07.2013, 12:50

Hallo,

wir benutzen momentan folgendes Shutdown Script:
---------------------------------------------------------------------------------
#!/bin/sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/vmware/vma/lib64:/opt/vmware/vma/lib
export LD_LIBRARY_PATH
export PERL_LWP_SSL_VERIFY_HOSTNAME=0
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
hosts=(IP des Hosts)
ups_vm="VMware MA5"
for host in ${hosts[@]}; do
echo $host
source /opt/vmware/vma/bin/vifptarget -s $host
for i in `vmware-cmd -l --username root --password unserPasswort`; do
if [ `vmware-cmd $i getstate | egrep -c "on"` -eq 1 ]; then
echo $i
if [ `echo $i | egrep -c $ups_vm` -eq 1 ]; then
echo "Skip shut down of VMA"
else
echo "Shutting down $i"
vmware-cmd "$i" stop soft
fi
fi
done
source /opt/vmware/vma/bin/vifptarget -c
done
-------------------------------------------------------------------------------

Das funktioniert so weit gut. Nun sind allerdings die Anforderungen anders.
Es sollen erst die Terminalserver herunter gefahren werden dann die Aplikationsserver und dann die Datenbankserver.
Ich bin so weit überfragt da ich kein Pearl beherrsche.

Ich denke der Ansatz ist folgender:
unser Terminalserver beginnen alle mit st****** , Appliaktionsserver mit sa****** und Datenbank mit sd*********
Leihen haft gesprochen eine Schleife bauen die nach diesen Bedingungen sucht.

Bin für jede Hilfe Dankbar.

Member
Beiträge: 186
Registriert: 19.01.2009, 17:54

Beitragvon Kampfwurst » 11.07.2013, 22:07

Hallo

Kennst du dieses Script?
https://github.com/sixdimensionalarray/ ... sxidown.sh

Damit sollte es klappen. Es fährt die Server so herunter wie sie in " SERVERIDS="" " eingetragen wurde. So fahre ich alle anderen VMs und am Schluss die VM die den DomainController macht herunter.

Member
Beiträge: 35
Registriert: 24.08.2012, 08:48

Beitragvon Alveran » 15.07.2013, 15:08

Hallo,

besten Dank. Leider ist das statisch. Er muß vor dem Shutdown automatisch schauen welche Terminalserver laufen und diese als erstes herunter fahren.

Member
Beiträge: 210
Registriert: 18.02.2011, 11:30

Beitragvon Klaus_Urban » 16.07.2013, 09:03

Hallo

@Alveran
>Er muß vor dem Shutdown automatisch schauen welche Terminalserver laufen und >diese als erstes herunter fahren

warum? Trage doch einfach alle in der richtigen Reihenfolge ein.
Wenn eine VM nicht eingeschaltet ist, wird sie auch nicht heruntergefahren. ;-)


#!/bin/sh

VM_NAME="ST-Server.vmx"
VM_ID=`/bin/vim-cmd vmsvc/getallvms | grep ${VM_NAME} | awk '{print $1}'`
/bin/vim-cmd vmsvc/power.shutdown ${VM_ID} > /dev/null 2>&1

VM_NAME="SA-Server.vmx"
VM_ID=`/bin/vim-cmd vmsvc/getallvms | grep ${VM_NAME} | awk '{print $1}'`
/bin/vim-cmd vmsvc/power.shutdown ${VM_ID} > /dev/null 2>&1

VM_NAME="SD-Server.vmx"
VM_ID=`/bin/vim-cmd vmsvc/getallvms | grep ${VM_NAME} | awk '{print $1}'`
/bin/vim-cmd vmsvc/power.shutdown ${VM_ID} > /dev/null 2>&1

sleep 120
/bin/halt


Klaus

Member
Beiträge: 152
Registriert: 27.02.2008, 15:10

Beitragvon monster900 » 16.07.2013, 11:55

@Alveran
Habt Ihr einen HA-Cluster im Einsatz?
Dann wird das Ganze noch etwas komplexer. Man kann dann ja nie sicher sein, auf welchem Host die entsprechende VM jetzt wirklich läuft.
Im Prinzip müsstest Du vorab die Shutdown-Reihenfolge der Maschinen und die entsprechenden Hostserver definieren. Anschließend müßte dann das Shutdownscript prüfen auf welchen Server die VM läuft und diese dann herunterfahren...

Damit ärgere ich mich immer noch rum.

Gruß
Dirk

Member
Beiträge: 35
Registriert: 24.08.2012, 08:48

Beitragvon Alveran » 17.07.2013, 13:59

Hallo,

ja es ist ein HA Cluster mit sehr vielen Maschinen. Es ist also nicht möglich irgendetwas fest einzustellen. Weiterhin kommen ständig neue VMs hinzu. Das script muß also automatisch festellen was daruf läuft und diese in der Reihenfolge Terminal Datenbank Rest herunterfahren.

Member
Beiträge: 143
Registriert: 07.08.2008, 15:20
Wohnort: RLP

Beitragvon andiwe » 17.07.2013, 14:40

Spricht irgendwas gegen Powershell?

Code: Alles auswählen

Get-VM | Where { $_.PowerState -eq "PoweredOn" -and $_.Notes -match "Terminalserver" } | Shutdown-VMGuest


bzw. $_.Name -like "st*"

http://www.virtu-al.net/2010/01/06/powercli-shutdown-your-virtual-infrastructure/

Member
Beiträge: 35
Registriert: 24.08.2012, 08:48

Beitragvon Alveran » 17.07.2013, 15:36

Gute Idee. Ich Probier mal.

Member
Beiträge: 35
Registriert: 24.08.2012, 08:48

Beitragvon Alveran » 18.07.2013, 09:22

Es funktioniert so sehr einfach. Spitze. Es gibt aber noch ein kleines Problem.

PowerCLI C:\Programme\VMware\Infrastructure\vSphere PowerCLI> Get-VM | Where { $
_.PowerState -eq "PoweredOn" -and $_.Name -like "st*" }

Erstmal zum testen. Bekomme ich alle Server doppelt angezeigt.

Member
Beiträge: 143
Registriert: 07.08.2008, 15:20
Wohnort: RLP

Beitragvon andiwe » 18.07.2013, 09:32

Du hast dich bestimmt 2 mal mit dem Virtual Center verbunden :D ;)

Code: Alles auswählen

Disconnect-VIServer *


Code: Alles auswählen

Connect-VIServer -Server FQDN

Member
Beiträge: 35
Registriert: 24.08.2012, 08:48

Beitragvon Alveran » 18.07.2013, 09:53

Danke. War zu einfach. :) :) :) :)


Zurück zu „vSphere 5 / ESXi 5 und 5.1“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 25 Gäste