thaenhusen
Goto Top

ESX 3i Backup der VM-Maschinen erzeugen

Auf diese Weise ist kein "OnTheFly"-Backup möglich. Die VM-Maschinen müssen während des Backups heruntergefahren (automatisch) werden.

Zunächst muss ein ESX3i-Server aufgesetzt und konfiguriert (root-Passwort, Netzwerkeinstellungen, Tastaturlayout) werden.
Anschließend kann mit dem "VMware Infrastructure Client" geprüft werden, ob alles funktioniert (Findet man wenn man die IP
des ESX3i im Browser eingibt...).

1. SSH usw. aktivieren
1.1. Am ESX3i <ALT> & <F1> tippen
1.2. "unsuppoerted" & <Enter> eingeben (es erfolgt dabei keinerlei Anzeige)
1.3. Das root-Passwort eingeben
1.4 Mittels vi die Datei-Konfiguration anpassen:
- vi /etc/inetd.conf & <Enter>
- <i> (um in den insert-Modus zu wechseln, sonst klappt das nicht)
- Mittels <backspace> (die del-Taste funktioniert nicht) die # vor den Zeilen FTP, SSH, login, shell, exec entfernen
- mit <esc> & <:> & <x> & <Enter> vi verlassen
1.5. <reboot> & <Enter> (Neustart des Servers)

2. Mit winscp versuchen auf den ESX3i zu zugreifen und das Zertifikat annehmen, sonst gehts nachher nicht weiter.

3. Einrichten des "VM-Maschinen-Herunterfahren"
3.1. VMware-VIRemoteCLI-3.5.0-104314.exe installieren
3.2. Die Datei vmware-cmd.pl unter C:\Programme\VMWare\VMWare VI Remote CLI\bin bearbeiten, da durch einen Bug das
das Passwort sind nicht in der batch mitgegeben werden kann:
     - Vim::login(service_url => $url, user_name => $username, password => "ROOT-PASSWORT");  
     - if (!defined $password) {
         #print "Enter password: "; 
         if ( $^O eq "MSWin32" ) {  
           #require Term::ReadKey;
           #Term::ReadKey->import(qw(ReadMode));
           #Term::ReadKey->import(qw(ReadLine));
           #ReadMode('noecho'); 
           #chomp($password = ReadLine(0));
           #ReadMode('normal'); 
         }
         else {
           #system("stty -echo") and die "ERROR: stty failed\n"; 
           #chomp ($password = <STDIN>);
           #system("stty echo") and die "ERROR: stty failed\n"; 
         }
         #print "\n"; 
       }

Also das Passwort fest eintragen und die Prüfungen auskommentieren (#)

4. Die Eigentliche Datensicherung:

Dasi.bat:
   "C:\Programme\VMware\VMware VI Remote CLI\bin\vmware-cmd-psl.pl" -H 10.178.217.26 -U root /vmfs/volumes/datastore/Test/Test.vmx stop  
   C:\Programme\WinSCP\WinSCP.exe /console /script="C:\DasiESXi.txt"  
   "C:\Programme\VMware\VMware VI Remote CLI\bin\vmware-cmd-psl.pl" -H 10.178.217.26 -U root /vmfs/volumes/datastore/Test/Test.vmx start  

DasiESXi.txt (WinSCP-Skript) Es können natürlich weitere VM-Maschinen gesichert werden:
   \# Automatically answer all prompts negatively not to stall
   \# the script on errors
   option batch on
   \# Disable overwrite confirmations that conflict with the previous
   option confirm off
   \# Connect using a password
   open root:PASSWORT@ESX3i-IP
   \# Change remote directory

   cd /vmfs/volumes/datastore/Test/
   \# Force binary mode transfer
   option transfer binary
   \# Download file to the local directory
   get * D:\VM-DASI\Test\

   \# Disconnect
   close
   \# Exit WinSCP
   exit

5. Alternativ könnte eine Datensicherung auch lokal auf der ESX3i-Kiste erfolgen -> da schneller als über das Netz.
Dazu ein Skript anstossen mit (plink.exe), dass die Daten lokal kopiert und dann aus dem Sicherungsverzeichnis
auf eine andere Maschine kopieren.

Ich hoffe so ist die Sache einigermassen verständlich!?

Ansonsten Fragen stellen erwünscht.

Natürlich wäre ich auch dankbar, wenn Ihr Verbesserungenvorschläge habt oder etwas einfacher lösen könnt.

Schöne Grüße
MK

Content-ID: 95542

Url: https://administrator.de/contentid/95542

Ausgedruckt am: 05.11.2024 um 12:11 Uhr

thaenhusen
thaenhusen 09.10.2008 um 09:26:50 Uhr
Goto Top
Hallo zusammen.

Nachtrag:

Um die Datensicherung zu beschleunigen kann man nun eine weitere Partion in dem ESXi einrichten mit genügend freiem Platz für die VM-Kisten.

Dann kann man die Maschinen herunterfahren (siehe oben) mittels eines Shell-Skripts und der plink.exe (-> google.de) auf der VM-Kiste die Daten auf die zweitte Platte kopieren und die VM-Kisten wieder hochfahren. Bei mir dauert das Ganze für sieben Maschinen ca. 45 Minuten.

Anschließend kann man die Daten dann in Ruhe Mittels WinSCP wegholen während die VM-Kisten wieder laufen.

dasi.sh auf ESXi (BEISPIEL!!!):
rm -rf /vmfs/volumes/Partition2/DASI/Kiste1/*
cp -r /vmfs/volumes/Partition1/Kiste1/ /vmfs/volumes/Partition2/DASI/

Die bat-Datei:
"C:\Programme\VMware\VMware VI Remote CLI\bin\vmware-cmd-psl.pl" -H <EsxiIP> -U root /vmfs/volumes/Partition1/Kiste1/Kiste1.vmx stop
c:\programme\putty\plink.exe -P 22 -ssh root@10.178.217.31 -pw <Passwort> ". /dasi.sh"
"C:\Programme\VMware\VMware VI Remote CLI\bin\vmware-cmd-psl.pl" -H <EsxiIP> -U root /vmfs/volumes/Partition1/Kiste1/Kiste1.vmx start
rd S:\*
mkdir S:\Kiste1
C:\Programme\WinSCP\WinSCP.exe /console /script="C:\VMWARE\Holen_VMPS1.txt"

Und somit stünde die eine Maschine dann nur ca. 10 Minuten nicht zur Verfügung.

Schöne Grüße
MK
arnoldu
arnoldu 04.12.2008 um 10:13:52 Uhr
Goto Top
Alternativ könnte man sich die einzelnen Dateien auch über http mit wget holen. Meine Kommandozeile hierzu lautet:

wget --http-user=vmadmin --http-passwd=xxxxxx "https://192.168.178.112/folder/vmbox/vmbox-flat.vmdk?dcPath=ha-datacenter&dsName=Disk_A" -O "c:\sicherung\vmbox-flat.vmdk"

Das ist zwar nicht ganz so schnell wie WinSCP, aber erfordert überhaupt keine Änderungen und zusätzlichen Dienste in der Console.
amoklilli
amoklilli 09.04.2009 um 16:17:32 Uhr
Goto Top
Hi,

ich hab jetzt die Backup-Loesung soweit umgesetzt. Laeuft auch alles. Aber der Datentransfer ueber WinSCP ist mit ca. 3 MB/s sehr langsam. Beide Server, der ESX3i und auch der Zielserver haben eine 1000mBit Netzwerkkarte. Woran kann das liegen? Gibt es schnellere Übertragungsarten?

DANKE!!

Markus
thaenhusen
thaenhusen 09.04.2009 um 20:34:44 Uhr
Goto Top
Hallo amoklilli,

hast Du schon mal die Einstellunger Rechner mit dem Infrastructure Client überprüft?
Musst mal probieren mit welchen Einstellungen das bei Dir läuft.

Bei mir stehen beide Rechner auf 1000Mbit auto und ich erreiche wesentlich höhere Raten.

Schöne Grüße
MK
amoklilli
amoklilli 15.04.2009 um 12:19:00 Uhr
Goto Top
ich hab bei ESXi noch nicht so viel ahnung, was sollte man denn einstellen? face-smile

Greetz,

Markus
thaenhusen
thaenhusen 15.04.2009 um 13:38:25 Uhr
Goto Top
Moin Markus.

ich hab bei ESXi noch nicht so viel ahnung, was sollte man denn einstellen?

Das hat nichts mit dem ESXi zu tun, sondern viel mehr mit Deinen Netzwerkkomponenten (Netzwerkkarten, Switch(es) etc.).

Am besten sollte aber funktionieren, wenn Du 1000 autonegation einstellst. Sowohl auf der ESXi mittels des VI Infrastructure Clients als auch auf den Gastrechnern (bei Windows Eigenschaften der Netzwerkkarte) und sofern möglich auch auf dem Switch bzw. den Switches sofern die managbar sind.

Ich hoffe das hilft Dir weiter.

Schöne Grüße
MK
amoklilli
amoklilli 16.04.2009 um 15:10:58 Uhr
Goto Top
Hallo,

erstmal Danke für die zügigen Antworten.
Ich hab jetzt eine Lösung gefunden die per FTP läuft.
Die Geschwindigkeit ist sehr viel höher als bei WinSCP, wobei ich immer noch winscp benutze, jedoch im FTP-Modus.

Gefunden hab ich das ganze VMware-Forum: http://communities.vmware.com/message/1211465#1211465

Da das Ganze nur intern in unserem Firmen-Netz laufen soll. Bin ich voll zufrieden damit, werd noch weiter berichten wenn ich mehr als ein paar GB kopiert hab.

Ich hab auch noch etwas über FastSCP gelesen. Habs aber noch nicht getestet.

Ich hab auch schon das Update4 für den ESX3i ausprobiert, jedoch läuft dann die Remote CLI nicht mehr wegen einer falschen Version. Ich nehme an das VMware dann auch bald eine neue Remote CLI rausbringen wird.

Viele Grüße,

Markus
neroline80
neroline80 12.08.2009 um 10:27:03 Uhr
Goto Top
Hallo zusammen,

möchte die das Backup wie oben beschrieben einrichten, bekomme aber
schon beim Stoppen der VM folgenden fehler:

C:\Dokumente und Einstellungen\chw>"C:\Programme\VMware\VMware VI Remote CLI\bin
\vmware-cmd.pl" -H xxx.xxx.xxx.xxx -U root /vmfs/volumes/datastore_160GB/VMLUPO/V
MLUPO.vmx stop
"my" variable @datastores_mor masks earlier declaration in same scope at C:\Prog
ramme\VMware\VMware VI Remote CLI\bin\vmware-cmd.pl line 347.
"my" variable $dss masks earlier declaration in same scope at C:\Programme\VMwar
e\VMware VI Remote CLI\bin\vmware-cmd.pl line 348.
"my" variable $ds masks earlier declaration in same scope at C:\Programme\VMware
\VMware VI Remote CLI\bin\vmware-cmd.pl line 349.
"my" variable $ds_view masks earlier declaration in same scope at C:\Programme\VMware\VMware VI Remote CLI\bin\vmware-cmd.pl line 350.
"my" variable $virtualMachineDefaultPowerOpInfo masks earlier declaration in same scope at C:\Programme\VMware\VMware VI Remote CLI\bin\vmware-cmd.pl line 773.
"my" variable $virtualMachineDefaultPowerOpInfo masks earlier declaration in same scope at C:\Programme\VMware\VMware VI Remote CLI\bin\vmware-cmd.pl line 779.
syntax error at C:\Programme\VMware\VMware VI Remote CLI\bin\vmware-cmd.pl line300, near "$);"
Execution of C:\Programme\VMware\VMware VI Remote CLI\bin\vmware-cmd.pl aborted due to compilation errors.

Evtl. hat jemand ja das gleiche Problem gehabt?!

Danke im voraus.

mfg Christian
thaenhusen
thaenhusen 12.08.2009 um 18:25:02 Uhr
Goto Top
Moin.

Hast Du diesen Punkt beachtet?

3.2. Die Datei vmware-cmd.pl unter C:\Programme\VMWare\VMWare VI Remote CLI\bin bearbeiten, da durch einen Bug das
das Passwort sind nicht in der batch mitgegeben werden kann:
- Vim::login(service_url => $url, user_name => $username, password => "ROOT-PASSWORT");
- if (!defined $password) {
#print "Enter password: ";
if ( $^O eq "MSWin32" ) {
#require Term::ReadKey;
#Term::ReadKey->import(qw(ReadMode));
#Term::ReadKey->import(qw(ReadLine));
#ReadMode('noecho');
#chomp($password = ReadLine(0));
#ReadMode('normal');
}
else {
#system("stty -echo") and die "ERROR: stty failed\n";
#chomp ($password = <STDIN>);
#system("stty echo") and die "ERROR: stty failed\n";
}
#print "\n";
}

Schöne Grüße
MK
neroline80
neroline80 13.08.2009 um 12:47:42 Uhr
Goto Top
Ja habe ich, es sei den ich hab was übersehen.
Hier meine Datei:

Vim::login(service_url => $url, user_name => $username, password => xxxxxxx);
.
.
.
if (!defined $password) {
#print "Enter password: ";
if ( $^O eq "MSWin32" ) {
#require Term::ReadKey;
#Term::ReadKey->import(qw(ReadMode));
#Term::ReadKey->import(qw(ReadLine));
#ReadMode('noecho');
#chomp($password = ReadLine(0));
#ReadMode('normal');
}
else {
#system("stty -echo") and die "ERROR: stty failed\n";
#chomp ($password = <STDIN>);
#system("stty echo") and die "ERROR: stty failed\n";
}
#print "\n";

mfg
Christian
thaenhusen
thaenhusen 13.08.2009 um 16:46:14 Uhr
Goto Top
Moin.

Vim::login(service_url => $url, user_name => $username, password => xxxxxxx);

Vim::login(service_url => $url, user_name => $username, password => "xxxxxxx");

Das Passwort steht in Anführungszeichen!?
Dann sollte das gehen...

Schöne Grüße
MK
neroline80
neroline80 14.08.2009 um 08:53:27 Uhr
Goto Top
Moin,

jetzt steht es in Anführungszeichen face-wink!
Geht aber trotzdem nicht, gleicher Fehler..! face-sad

Gruß
Christian
thaenhusen
thaenhusen 14.08.2009 um 09:13:10 Uhr
Goto Top
Moin.

jetzt steht es in Anführungszeichen face-wink!
Geht aber trotzdem nicht, gleicher Fehler..! face-sad

Kann es sein, dass auf Deiner Maschine die Pearl-Installation vom CLI defekt ist?
Das hatte ich auch schon mal, wenn ich mich recht errinnere.

Ansonsten sieht das alles gut aus. Die Zeile 347 die er anmeckert wurde auch nicht
verändert, wenn Du Dich an die Anleitung gehalten hast!?

Schöne Grüße
MK
neroline80
neroline80 17.08.2009 um 08:51:05 Uhr
Goto Top
Moin,

mhm habs glaube gefunden, ich habe im Password für den ESX ein $-Zeichen!
Das nimmt er scheinbar als Steuerzeichen, auch wenn ich es in Anführungszeichen setze..!
Das ist nicht schön..! face-sad Hast du vll. eine Idee wie ich das umgehen kann`?!

EDIT: Habs schon, Passwort in Hochkomma setzen und dann passt das face-wink !

Vielen Dank für deine Unterstützung!!

Gruß
Christian
79323
79323 18.01.2010 um 09:38:08 Uhr
Goto Top
Bin jetzt nach deiner Anleitung vorgegangen und bekomme jetzt folgedene Fehlermeldung:
SOAP Fault:
Fault string: fault.RestrictedVersion.summary
Fault detail: RestrictedVersionFault
Operation cannot be perfomed

ESX Version: ESX Server 3i, 3.5.0

Bei google habe ich nur gefunden, dass ab Version 4 die Remote CLI nicht mehr funktioniert. Sieht aber so aus, als wäre es bei dieser Version genauso.
Kennt ihr einen Workaround?
thaenhusen
thaenhusen 18.01.2010 um 11:36:40 Uhr
Goto Top
Moin.

Bin jetzt nach deiner Anleitung vorgegangen und bekomme jetzt folgedene Fehlermeldung:
SOAP Fault:
Fault string: fault.RestrictedVersion.summary
Fault detail: RestrictedVersionFault
Operation cannot be perfomed

ESX Version: ESX Server 3i, 3.5.0

Bei google habe ich nur gefunden, dass ab Version 4 die Remote CLI nicht mehr funktioniert. Sieht aber so aus, als wäre es bei dieser Version
genauso.
Kennt ihr einen Workaround?

Also an der ESXI-Version 3.5.0 kann das nicht liegen, die habe ich auch im Einsatz mit oben genannter Konfiguration. Kann es sein, dass Dein User
die Maschinen nicht remote starten und stoppen darf.

Oder Du hast eine zu neue Version des CLI installiert (vgl. http://vmetc.com/2009/03/31/esxi-u4-ends-free-version-read-and-write-ac ..)

Schöne Grüße
MK
79323
79323 18.01.2010 um 12:56:16 Uhr
Goto Top
Zitat von @thaenhusen:
Oder Du hast eine zu neue Version des CLI installiert (vgl.
http://vmetc.com/2009/03/31/esxi-u4-ends-free-version-read-and-write-ac ..)

Schöne Grüße
MK

Dann ist wohl die Version zu neu. Wobei der Installer noch genauso heißt:
VMware-VIRemoteCLI-3.5.0-104314.exe

Weißt du wo ich eine ältere Version bekommen kann?

User ist root Benutzer und sollte alles dürfen. Hat die Rolle Administrator.

Was mir gerade noch auffällt ist, dass im ersten Beitrag die "C:\Programme\VMware\VMware VI Remote CLI\bin\vmware-cmd.pl" geändert, aber die "C:\Programme\VMware\VMware VI Remote CLI\bin\vmware-cmd-psl.pl" aufgerufen wird. Da die mit -psl bei mir nicht existiert habe ich die geänderte Datei aufgerufen
thaenhusen
thaenhusen 18.01.2010 um 13:54:52 Uhr
Goto Top
Moin.

Ich habe hier eine Version aus 08/2008.
Die nutze ich noch...

Hat aber den gleichen Dateinamen... 104314.exe...

Also scheint es am Nutzer zu liegen...

das -psl musst Du streichen, ist ein Copy & Paste-Fehler hatte mir eine Kopie von der vmware-cmd.pl erzeugt...

Probiere dochmal das als root auszuführen und nicht mit einem Benutzer aus der Gruppe.

Das scheint der erste offensichtliche Unterschied zu sein.

Schöne Grüße
MK
79323
79323 18.01.2010 um 14:12:20 Uhr
Goto Top
Zitat von @thaenhusen:
das -psl musst Du streichen, ist ein Copy & Paste-Fehler hatte mir eine Kopie von der vmware-cmd.pl erzeugt...

Probiere dochmal das als root auszuführen und nicht mit einem Benutzer aus der Gruppe.

Schöne Grüße
MK

Hatte ich mir schon gedacht mit dem -psl

Ich habe es die ganze Zeit bereits mit dem root User probiert
rufusalex
rufusalex 26.01.2010 um 09:52:54 Uhr
Goto Top
ich hätte alternativ noch eine Frage.
Kann ich über den VI-Client irgendwie eine ext. USB-HD über die zweite Nic des Server mounten.
Wollte dann auf die USB-Platte Backupen.
thaenhusen
thaenhusen 26.01.2010 um 10:14:46 Uhr
Goto Top
Moin.

Also das mounten einer USB-HD habe ich noch nicht probiert.
Das System kennt zwar den mount-Befehl, aber das müsstet Du dann ausprobieren...

Schöne Grüße
MK
rufusalex
rufusalex 26.01.2010 um 10:54:00 Uhr
Goto Top
naja gibt ja viele möglichkeiten. da muss ich wohl weiter googln
thaenhusen
thaenhusen 08.10.2010, aktualisiert am 18.10.2012 um 18:43:44 Uhr
Goto Top
thaenhusen
thaenhusen 11.10.2010 um 08:19:59 Uhr
Goto Top
Moin.

Kurzer Zusatz:

Ab ESXi 4.1 kann man nun die Hosts auch herunterfahren.

"C:\Programme\VMware\VMware vSphere CLI\bin\esxi-control.pl" --server IP --username root --password PASSWORD --action shutdown --vmname NAME
"C:\Programme\VMware\VMware vSphere CLI\bin\esxi-control.pl" --server IP --username root --password PASSWORD --action poweron --vmname NAME

HTH
MK