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!

console und eigene scripte

Moderatoren: Dayworker, irix

Member
Beiträge: 85
Registriert: 16.10.2009, 11:40

console und eigene scripte

Beitragvon chmod777 » 05.01.2013, 10:05

ich habe vor von vserver2 auf esx umzustellen und werde demnächst eine Maschine zum test einrichten.

kann man an der console von esx lunix-pakete installieren? lassen sich eigene scripte starten (cron)? kann man cgi-scripts (perl) ausführen?

konnte keine informationen dazu ergoogeln....

greets

King of the Hill
Beiträge: 13066
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 05.01.2013, 10:14

Unter ESX 3.x/4.x ging das weil die Servicekonsole ein RedHat Linux war. Beim ESXi ist dieser ganze Krempel endlich weg und es gibt nur eine kleine und sparsame Busybox.

In der Busybox kann man nur sehr begrenz Scripte ausfuehren und es ist Affentanz diese auch Permanent abzulegen oder ueber Cron auszufuehren.

Das ist aber garnich noetig da nun zahlreiche APIs zur Verfuegung stehen um den ESXi Host und seine Gaeste von aussen aus zusteuern.

Pakete kann man installlieren sofern diese im VIB Format vorliegen.

Gruss
Joerg

Experte
Beiträge: 1006
Registriert: 30.10.2004, 12:41

Beitragvon mbreidenbach » 05.01.2013, 10:41

Ergänzung:

VMware bietet zweo Scriptingtoolkits an:
vSphere CLI ist Perl basiert und die Sytax ist sehr ähnlich zu ESXi Tech Support Mode CLI Befehlen.
PowerCLI ist PowerShell basiert.

Es gibt eine vorkonfigurierte Linux Appliance namens vMA welche vSphere CLI bereits beinhaltet und als Servicekomnsolenersatz gedacht ist.

Für z.B. Repoting Skripte die man bei Bedarf von Hand startet würde ich aber die Toolkits auf meinem Administrator-PC installieren und von dort starten.

ABER:

Beim KOSTENLOSEN ESXi sind die APIs Readonly was bedeutet man kann Werte auslesen aber nicht ändern. Damit fällt wohl alles außer Repoting flach.

Hier mal ein paar Links zu Webseiten ohne Anspruch auf Vollständigkeit die sich damit beschäftigen:

http://www.lucd.info/
http://www.virtu-al.net/
http://ict-freak.nl/category/virtualiza ... utomation/
http://www.virtuallyghetto.com/

Member
Beiträge: 85
Registriert: 16.10.2009, 11:40

Beitragvon chmod777 » 05.01.2013, 15:28

es geht um ein sicherungs-procedere

aktuell gehe ich wie folgt vor:

cron startet perl-script
- client suspend
- tar * > backup.tar
- client restart
- zip backup.tar -> backup.zip
- ftp transfer backup.zip

meint ihr, dass sich dies oder ähnliche bei ESXi 5 einrichten lässt? Oder gibt es bessere sicherungs-konzepte, die mit boardmitteln zu realisieren sind?

King of the Hill
Beiträge: 13066
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 05.01.2013, 15:32

Wenn du frickeln willst dann schau dir ghettoVCB2 an.

Der ESXi hat eine API nur fuer das Backup (VADP) und die passenden Produkte verwenden diese.

Gruss
Joerg

Member
Beiträge: 85
Registriert: 16.10.2009, 11:40

Beitragvon chmod777 » 05.01.2013, 16:28

passenden Produkte


kannst du das präzisieren? was meinst du mit "passenden Produkte"? ist das externe HW, SW oder was?

King of the Hill
Beiträge: 13066
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 05.01.2013, 16:49

Geeignet: Veeam oder Quest vRanger (bedingt liz. ESXi)
VMware Bordmittel: VDP (IIRC erst am Ess+ mit dabei)

Fuer einmalige Geschichten welche man manuell machen muss kann man mal VeeamZip oder Trilead Explorer verwenden.

Gruss
Joerg

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

Beitragvon Klaus_Urban » 10.01.2013, 15:07

Hallo chmod777

Hier ein kleines Sicherungs-Script.
============================

#!/bin/ash
export PATH=/sbin:/bin

cd /vmfs/volumes/datastore1/script


ein=0
aus=1
Anzahl=1
APServer=192.168.11.10

echo Die ESXI Sicherung wurde NICHT gestartet, weil der APServer nicht angesprochen werden konnte! > protokoll.txt
echo ================================================================================================================== >> protokoll.txt
echo . >> protokoll.txt

# Ist der APServer eingeschaltet?

ping -c1 $APServer > /dev/null
Rechner=$?

#######################################################################################################################################################################
if [ $Rechner == $ein ] ; then

# nur wenn der Rechner läuft wird gesichert!


wtag=$(date +%u) # der Wochentag als Zahl (7=Sonntag)

case $wtag in
1)
wochentag=Montag
Ordner=APServer-MMF
;;
2)
wochentag=Dienstag
Ordner=APServer-DDS
;;
3)
wochentag=Mittwoch
Ordner=APServer-MMF
;;
4)
wochentag=Donnerstag
Ordner=APServer-DDS
;;
5)
wochentag=Freitag
Ordner=APServer-MMF
;;
6)
wochentag=Samstag
Ordner=APServer-DDS
;;
7)
wochentag=Sonntag
Ordner=APServer-MMF
;;
esac



echo -n Die $wochentag - Sicherung wird gestartet!

echo Die ESXI Sicherung wurde $wochentag gestartet! > protokoll.txt
date >> protokoll.txt


# Rechner ausschalten


/vmfs/volumes/datastore1/script/APServer_aus.sh


ping -c1 $APServer > /dev/null
Rechner=$?

while [ $Rechner == $ein ]
do
/vmfs/volumes/datastore1/script/APServer_aus.sh
ping -c1 $APServer > /dev/null
Rechner=$?
if [ $Rechner == $ein ] ; then echo Der APServer ist Online! Versuch=$Anzahl >> protokoll.txt ; fi
sleep 120
Anzahl=$(( Anzahl+1))
if [ $Anzahl == 11 ] ; then exit 0 ; fi

done


if [ $Rechner == $aus ] ; then
# Der APServer ist aus, also kann gesichert werden!

#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

echo Der APServer ist nicht mehr zu erreichen! Ich warte nochmal 2 Minuten, damit er wirklich aus ist!

sleep 120



echo -n Der APServer ist aus!

echo Der APServer wurde ausgeschaltet! >> protokoll.txt
date >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt



# Erst mal auf Fehler setzen

ACStatus=1
ADStatus=1
AEStatus=1
AFStatus=1


# APServer zur Sicherung kopieren

#------------------------------------------------------------------------------------------------------------------------------------------------------
# Disk C.vmdk prüfen
vmkfstools -x check "/vmfs/volumes/datastore1/APServer/C.vmdk"
error=$?
if [ $error -eq 0 ]; then
rm /vmfs/volumes/Sicherung/$Ordner/C*.vmdk
vmkfstools -i "/vmfs/volumes/datastore1/APServer/C.vmdk" "/vmfs/volumes/Sicherung/$Ordner/C.vmdk" -d thin
ACStatus=$?
if [ $ACStatus -ne 0 ]; then
echo ================================================================================================================== >> protokoll.txt
echo Die Datei APServer/C.vmdk wurde fehlerhaft kopiert!! >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt
fi
else
echo ================================================================================================================== >> protokoll.txt
echo Die Datei APServer/C.vmdk ist fehlerhaft! >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt
fi

#---------------------------------------------------------------------------------------------------------------------------------------------------------

# Disk D.vmdk prüfen
vmkfstools -x check "/vmfs/volumes/datastore1/APServer/D.vmdk"
error=$?
if [ $error -eq 0 ]; then
rm /vmfs/volumes/Sicherung/$Ordner/D*.vmdk
vmkfstools -i "/vmfs/volumes/datastore1/APServer/D.vmdk" "/vmfs/volumes/Sicherung/$Ordner/D.vmdk" -d thin
ADStatus=$?
if [ $ADStatus -ne 0 ]; then
echo ================================================================================================================== >> protokoll.txt
echo Die Datei APServer/D.vmdk wurde fehlerhaft kopiert!! >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt
fi
else
echo ================================================================================================================== >> protokoll.txt
echo Die Datei APServer/D.vmdk ist fehlerhaft! >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt
fi

#---------------------------------------------------------------------------------------------------------------------------------------------------------



# Disk E.vmdk prüfen
vmkfstools -x check "/vmfs/volumes/datastore1/APServer/E.vmdk"
error=$?
if [ $error -eq 0 ]; then
rm /vmfs/volumes/Sicherung/$Ordner/E*.vmdk
vmkfstools -i "/vmfs/volumes/datastore1/APServer/E.vmdk" "/vmfs/volumes/Sicherung/$Ordner/E.vmdk" -d thin
AEStatus=$?
if [ $AEStatus -ne 0 ]; then
echo ================================================================================================================== >> protokoll.txt
echo Die Datei APServer/E.vmdk wurde fehlerhaft kopiert! >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt
fi
else
echo ================================================================================================================== >> protokoll.txt
echo Die Datei APServer/E.vmdk ist fehlerhaft! >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt
fi

#---------------------------------------------------------------------------------------------------------------------------------------------------------

# Disk F.vmdk prüfen
vmkfstools -x check "/vmfs/volumes/datastore1/APServer/F.vmdk"
error=$?
if [ $error -eq 0 ]; then
rm /vmfs/volumes/Sicherung/$Ordner/F*.vmdk
vmkfstools -i "/vmfs/volumes/datastore1/APServer/F.vmdk" "/vmfs/volumes/Sicherung/$Ordner/F.vmdk" -d thin
AFStatus=$?
if [ $AFStatus -ne 0 ]; then
echo ================================================================================================================== >> protokoll.txt
echo Die Datei APServer/F.vmdk wurde fehlerhaft kopiert! >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt
fi
else
echo ================================================================================================================== >> protokoll.txt
echo Die Datei APServer/F.vmdk ist fehlerhaft! >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt
fi

#---------------------------------------------------------------------------------------------------------------------------------------------------------

echo Sicherung APServer wurde beendet! >> protokoll.txt
date >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt

# APServer starten
/vmfs/volumes/datastore1/script/APServer_ein.sh


#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



# Die APServer Sicherung zum NFS kopieren

#---------------------------------------------------------------------------------------------------------------------------------------------------------

if [ $ACStatus -eq 0 ]; then
rm /vmfs/volumes/NFS-Speicher/$Ordner/C*.vmdk
vmkfstools -i "/vmfs/volumes/Sicherung/$Ordner/C.vmdk" "/vmfs/volumes/NFS-Speicher/$Ordner/C.vmdk" -d thin
Status=$?
if [ $Status -ne 0 ]; then
echo ================================================================================================================== >> protokoll.txt
echo Die Datei APServer/C.vmdk wurde fehlerhaft zum NFS kopiert! >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt
fi
fi

#---------------------------------------------------------------------------------------------------------------------------------------------------------


if [ $ADStatus -eq 0 ]; then
rm /vmfs/volumes/NFS-Speicher/$Ordner/D*.vmdk
vmkfstools -i "/vmfs/volumes/Sicherung/$Ordner/D.vmdk" "/vmfs/volumes/NFS-Speicher/$Ordner/D.vmdk" -d thin
Status=$?
if [ $Status -ne 0 ]; then
echo ================================================================================================================== >> protokoll.txt
echo Die Datei APServer/D.vmdk wurde fehlerhaft zum NFS kopiert! >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt
fi
fi

#---------------------------------------------------------------------------------------------------------------------------------------------------------



if [ $AEStatus -eq 0 ]; then
rm /vmfs/volumes/NFS-Speicher/$Ordner/E*.vmdk
vmkfstools -i "/vmfs/volumes/Sicherung/$Ordner/E.vmdk" "/vmfs/volumes/NFS-Speicher/$Ordner/E.vmdk" -d thin
Status=$?
if [ $Status -ne 0 ]; then
echo ================================================================================================================== >> protokoll.txt
echo Die Datei APServer/E.vmdk wurde fehlerhaft zum NFS kopiert! >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt
fi
fi

#---------------------------------------------------------------------------------------------------------------------------------------------------------

if [ $AFStatus -eq 0 ]; then
rm /vmfs/volumes/NFS-Speicher/$Ordner/F*.vmdk
vmkfstools -i "/vmfs/volumes/Sicherung/$Ordner/F.vmdk" "/vmfs/volumes/NFS-Speicher/$Ordner/F.vmdk" -d thin
Status=$?
if [ $Status -ne 0 ]; then
echo ================================================================================================================== >> protokoll.txt
echo Die Datei APServer/F.vmdk wurde fehlerhaft zum NFS kopiert! >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt
fi
fi

echo Sicherung APServer zum NFS-Speicher wurde beendet! >> protokoll.txt
date >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt

#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

fi

#---------------------------------------------------------------------------------------------------------------------------------------------------------

# zur Sicherheit den APServer nochmal starten
/vmfs/volumes/datastore1/script/APServer_ein.sh


echo Inhalt der Original-VM >> protokoll.txt
echo ====================== >> protokoll.txt

ls -lah /vmfs/volumes/datastore1/APServer/*.vmdk >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt

echo Inhalt der Sicherungs-VM >> protokoll.txt
echo ======================== >> protokoll.txt

ls -lah /vmfs/volumes/Sicherung/$Ordner/*.vmdk >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt

echo Inhalt der NFS-VM >> protokoll.txt
echo ================= >> protokoll.txt

ls -lah /vmfs/volumes/NFS-Speicher/$Ordner/*.vmdk >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt

df -h >> protokoll.txt
echo ================================================================================================================== >> protokoll.txt



#######################################################################################################################################################################
fi


Klaus


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

Wer ist online?

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