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:
Also das Passwort fest eintragen und die Prüfungen auskommentieren (#)
4. Die Eigentliche Datensicherung:
Dasi.bat:
DasiESXi.txt (WinSCP-Skript) Es können natürlich weitere VM-Maschinen gesichert werden:
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 95542
Url: https://administrator.de/tutorial/esx-3i-backup-der-vm-maschinen-erzeugen-95542.html
Ausgedruckt am: 23.12.2024 um 01:12 Uhr
24 Kommentare
Neuester Kommentar
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.
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.
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
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
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
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
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
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
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..! Hast du vll. eine Idee wie ich das umgehen kann`?!
EDIT: Habs schon, Passwort in Hochkomma setzen und dann passt das !
Vielen Dank für deine Unterstützung!!
Gruß
Christian
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..! Hast du vll. eine Idee wie ich das umgehen kann`?!
EDIT: Habs schon, Passwort in Hochkomma setzen und dann passt das !
Vielen Dank für deine Unterstützung!!
Gruß
Christian
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?
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?
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
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
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
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