Wolle hat geschrieben:Super Joerg, vielen Dank, jetzt hab ich es gerafft.
Also kann ich mir mit bestimmten Scripten ein eigenes Backup Programm basteln?
Ja da ist Moeglich.
Hast du Quellen wo beschrieben wie man solche Skripte programmiert, bzw. wo es schon fertige Skripte gibt?
Nimm die Scriptsprache welche du am besten kannst. Die einzige Anforderung ist jene das du (Kommandozeilen- )Programme aus der Sprache heraus aufrufen kannst.
Kern der ganzen Geschichte ist "vcbmounter.exe", welche aus dem VCB Paket sowohl fuer die Erstellung von Snaphot + Verfuegbarmachung der Daten auf dem Backup Host veranwortlich sowie ein ein wiederholter aufruf mit dem Parameter "-U" welches den Mountpoint wieder entfernt und den Snapshot der VM loescht.
Da herum schreibst du dir einen Wrapper welcher die Parameter zufuettert welche vcbmounter.exe so braucht.
Würde mich gerne mal dort reinarbeiten und auch ein recht umfangreiches Skript basteln.
Leider hab ich sehr lang nicht mehr programmiert.
Wäre es möglich das du mir dein Skript mal zu schickst?
Gruß Wolle
Ja das waere Moeglich. Damit es aber bei dir funktioniert must du folgende Bedingungen erfuellen
- PHP5 entpacken, php.ini anpassen, ein paar benoetige Extensions laden und einen SMTP angeben
- VCB 1.5 von VMware installieren
- Beides im %PATH fuer das System eintragen
- Sofern du hast dein SAN dem Backup Host bekannt machen. Ansonsten kannst du nur den Mode -m nbd benutzen, welchen ich nie getestet habe (wird aber funktionieren)
- Nur FullVM Sicherung habe ich implementiert... fuer Filelevel waeren ca. 1-2 Stunden noetig
- Optional die VI Perl/RCLI dingsums installieren, da hier die Programme zum GuestShutown enthalten sind
- Im Moment ein vCenter haben weil ich mittels SOAP die Daten was die Festplatten angeht der VMs auslese um damit meine Statistiken besser werden. Ein kurzer Test zeigte das wenn ich auf den ESX connecte ich mich nicht authentifizieren konnte und der "PFAD" dort ein klein wenig anderes ist als im vCenter. Wenn es natuerlich nicht anderes geht kann ich nachgucken woran es liegt.
Mein jetziges Script nimmt definierte Defaults sowie eine *.INI Liste der VMs als Basis. Die Default Parameter lassen sich als optinale Parameter beim Programmaufruf uebergeben damit ich flexibel sein kann was die Anzahl der VMs, Speicherort und Benachrichtigungstext der Mail angeht reagieren kann.
Code: Alles auswählen
D:\inetpub\VMbackup>php vmBackup.php -h
vmBackup Version 0.4
usage: [-i <FILE>] [-m <DIR>] [-d <DIR>] [-s]
-i|--ini <FILE> INI File which contains a list of all VMs and backup options
-m|--mount <DIR> Directory where to mount the VM Image
-d|--datastore <DIR> Location where to store the VM
-s|--subject Subject for the mail notification
-h|--help This helpDie Datei mit der Liste der VMs:
Code: Alles auswählen
[test_joerg]
name=test_joerg
type=fullvm
mode=san
monolith=0
compress=0
schedule=daily
pre_cmd=
post_cmd=GuestRebootInhalt der Mail dann so:
Code: Alles auswählen
Betreff: [servername][backup] Wochensicherung VMs Standard [28.02.2009] VM(s): 47 Errors: 4
General Stats from 28.02.2009, 10:11:43
Backup Begin : 27.02.2009, 18:00:01
Backup End : 28.02.2009, 10:11:43
Backup Duration : 16:11:31
Total VMs : 47 (100%)
Complete Backups : 43/47 (91.5%)
Incomplete Backups: 4/47 (8.5%)
vm_x(No mountpoint found!)
vm_x(No mountpoint found!)
vm_x(Specified VM not found)
vm_x(Specified VM not found)
Not in Schedule : 0/47 (0.0%)
Detail Stats:
|----------------------------------------------------------------------|
| VM Name | Time | Size [MB] | MB/s |
|----------------------------------------------------------------------|
| admin-xxx | Start : 18:00:11 | 20490 | 61.5 |
| | Stop : 18:06:04 | 10483 | 31.5 |
| | Duration: 00:05:53 | Ratio: 1:0.51 | |
|----------------------------------------------------------------------|
| tansanit | Start : 06:14:58 | 30720 | 37.2 |
| | Stop : 06:29:05 | 14205 | 17.2 |
| | Duration: 00:14:07 | Ratio: 1:0.46 | |
|----------------------------------------------------------------------|
| ts-office-0 | Start : 06:29:05 | 128702 | 21.2 |
| | Stop : 08:10:35 | 95458 | 15.7 |
| | Duration: 01:41:30 | Ratio: 1:0.74 | |
|----------------------------------------------------------------------|
| ts-office-1 | Start : 08:10:35 | 122880 | 31.6 |
| | Stop : 09:15:43 | 31104 | 8.0 |
| | Duration: 01:05:08 | Ratio: 1:0.25 | |
|----------------------------------------------------------------------|
| ts-office-test | Start : 09:15:43 | 122880 | 159.2 |
| | Stop : 09:28:56 | 15719 | 20.4 |
| | Duration: 00:13:13 | Ratio: 1:0.13 | |
|----------------------------------------------------------------------|
..
..
..
|----------------------------------------------------------------------|
| Sum : 43 VM(s) | 15:53:51 | 1702.1 GB | |
| | | 886.9 GB | |
| | | Ratio: 1:0.52 | |
|----------------------------------------------------------------------|
Configuration:
VCB_MOUNTPOINT: e:/vcbMount
VCB_DATASTORE_PATH: E:\vcbDiskBackup\05_Freitag
VCB_FREEDISK: 100GB
VCB_VM_INI: inc\backup_weekly.ini
Fuer auserwaehlte VMs wie die SAP und Exchange existieren extra Jobs im Taskplaner weil ich hier definierte Startzeiten brauche, da innerhalb der VMs Systemdienste heruntergefahren werden. Diese Sicherungjobs laufen allerdings parallel bzw. Überschneiden sich in den Laufzeiten.
Im Einsatz haben wir das unter WinXP, Srv2003 und Srv2008.
Auf meiner Todo stehen im Moment:
- Check fuer FreeDisk bei jeder VM und nicht nur beim Start des kompletten Jobs
- Nach der Sicherung eine Kontrolle ob Snaphots nicht geloescht worden sind. Dies ist Sonst ein Shortstopper beim der naechsten Sicherung
- Evtl. Durchreichen der Original Fehlermeldung da ich bis dato nur 2-3 Faelle abfange bzw. identifiziere
- Ueberlegung ob ich die CustomFields bzw. das Notes Feld der VM auslese soll um Informationen zu erhalten ob und wie die VM gesichert werden soll. Da wuerde das fuehren einer Liste ueberfluessig machen
@echt_weg
- Anstelle von Name und Passwort kannst du den Benutzer "__sspi__" mit einem leerem "" Passwort benutzen. Dann nimmt er die Credentials des aktuellen Benutzers und versucht damit die Anmeldung.
Frage: Du benutzt kein vcbmounter -U ... Mein Kenntniss Stand war derer das die Anzahl der Mountpoints begrenzt sei. Wieviele Durchlaeufe macht dein Script oder gibts keine Probleme?
Gruss
Joerg