New Blog

Dear reader,

To work more inline with my twitter activities and to open my blog for more interessting stuff (not just Veeam related), I am blogging only on the http://andyandthevms.com/ blog from now.

If I will write some updates at individual posts (e.g. Exchange Backup stuff) I will add an warning message with a link to the article on this blog.

So do not hesitate to check out my new blog under http://andyandthevms.com

Thanks for all the Feedback and support

Andy

Donnerstag, 22. Dezember 2011

VMware Client Login automatisieren

Hi und noch ein kleines Update...

Die Anmeldung am VCenter lässt sich in einer Verknügpfung hinterlegen.
Verknüfung des VMware Clients erstellen und folgende Parameter mit angeben:

-u Username
-p Password
-locale Location  (de-DE für Deutsches Interface / en-US für Englisches Interface)
-s für VCenter Server oder ESX Host

z.B:
"C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\VpxClient.exe" -u administrator -p XXX -s 192.168.1.1 -locale en-US

Da das Passwort im Klartext in der Verknüpfung steht kann dies auch ohne -p erfolgenden.
Dann muss zwar ein Kennwort eingeben werden aber zumindest der Rest ist schin ausgefüllt.

Grüße Andy

Exchange DAG Cluster und VMware Snapshots - Problemlösung

Hallo ...
noch ein schnelles Update for Weihnachten.


In der Regel sind VMware Snapshots bei Exchange Servern kein Problem wenn der commit schnell geht.


Bei Exchange 2010 DAG-Cluster Systemen hingegen kann es vorkommen, dass der Heartbeat verloren geht und ein Clusterschwenk stattfindet. Dieses verhalten ist transparent für die Benutzer, die ganz normal weiterabeiten können. 


2 Mögliche Lösungen:


1.       Per Script nach dem Backup die Masterrollen der Datenbanken wieder verteilen wie gewünscht.


2.       Die Zeit hochsetzten, in der das Cluster merkt dass die Kommunikation verzögert ist.


Es gibt hierzu diverse Einträge bei VMware und Microsoft in den Foren und Whitepapers. Z.B.






Auch finden Sie einen Eintrag hierzu im Veeam Forum  (Auf Seite 2 mit den Lösungen).







Lösung 2 hat bei einem Kunden bisher ausgereicht.

Falls diese Lösung nicht hilft, gilt es den Snapshot Commit/Löschung schneller zu machen bzw. zu reparieren.

Bei einem VMware Snapshot Commit/Löschung werden alle Änderungen seit des Snapshot beginns in die eigentliche Datastoredatei geschrieben. Dies sind massive Random Writes.
Können diese Daten nicht schnell genug geschrieben werden, kommt es zu einem "Freeze" der virtuellen Maschine, die dann vom DAG und dessen Betriebssystem erkannt wird.

Zur Behebung dieses Phänomens gibt es diverse VMware Patches die eingespielt werden können. (Siehe VMware Knowledge Base).  Es kann aber auch am Storage liegen der hier zu hohe Latenzen aufweist wenn wir Random IOs schreiben. Hier habe ich im Feld schon erlebt, dass eine SAN Virtualisierung einen Firmwarebug hatte und nach dem Fix in Ordnung lief. Auch habe ich bei einem Kunden eine 5 Jahre alte Storage-System Firmware wiedergefunden die nach dem Update dann keine Probleme mehr machte. Falls hier Probleme da sind, über den VMware Support Analysieren lassen ob Patches eingespielt werden müssen oder es an der Hardware liegt.

Liebe Grüße Andreas Neufert

Donnerstag, 1. Dezember 2011

Veeam Backup & Replication Version 6 verfügbar :-))

Hallo :-)

Veeam  Backup & Replication Version 6 ist jetzt verfügbar. Siehe www.veeam.com

Informationen zu den Neuerungen finden Sie hier:
http://go.veeam.com/webinar-series-doug-hazelman-2011-v6-backup-replication-ty.html

Wie bisher können 30 Tage Demos von der Webseite zum testen heruntergeladen werden. Da Veeam nichts in VMware oder den GastVMs installiert ist ein Test problemlos möglich.

Bestehende Kunden können die Software umsonst verwenden solange Sie noch unter Wartung sind (Wartungsvertrag oder bei jeder Lizenz ist 1 Jahr Wartung dabei)

Liebe Grüße Andy

Montag, 21. November 2011

Wiederherstellungsprobleme bei Windows 2008 R2 mit VMXnet3 Netzwerkkarten

Hallo zusammen,

wie vielleicht schon einige schmerzlich erfahren mussten, kommt es bei der Wiederherstellung von Windows 2008 R2 Servern in virtuellen Umgebungen zu 7B Stopfehlern und zu fehlenden IP Adressinformationen. Dies wird dadurch verursacht, dass PCI-Express Netzwerk- und SCSI-Karten nach der Wiederherstellung als neue Karten erkannt werden.

Microsoft hat hierfür zwar für Windows 2008 R2 einen Patch geschrieben,
http://support.microsoft.com/kb/2344941
dieser hat es jedoch nicht in das SP1 geschafft, so dass hier ein weitere Patch zu installieren ist:
http://support.microsoft.com/kb/2550978

Übrigens zeigt das Veeam SureBackup korrekt bei der automatischen Wiederherstellungsprüfung dieses Problem an.

Somit Patch installieren und mit Veeam SureBackup prüfen ob auch wirklich alles in Ordnung ist.

Update: Dieses Verhalten betrifft auch Windows 7

Liebe Grüße

Andreas Neufert

Montag, 19. September 2011

Bilder der Veeam Party auf der VMworld (Las Vegas)

Hallo zusammen,

hier ein paar interessante Bilder der Veeam Party in den USA:
https://www.facebook.com/media/set/?set=a.10150374544480799.402638.48046820798&type=1

Eintrittskarten für die Veeam Party auf VMworld Europe in Kopenhagen können noch über die Veeam Sales Leute oder auch über mich angefragt werden. :-)

Letzzzz Partüüüüüyyyyyy

Mittwoch, 14. September 2011

Hyper-V incl. laufende VMs auf VMware Workstation

Hallo zusammen :-)

es gibt wieder News an der Demo-Umgebungs-Front.
Unser Ricky El-Qasem hat es geschaft Hyper-V unter VMware Workstation incl. laufender virtueller Maschinen aufzusetzten.

Nur warum brauche ich das Ganze überhaupt ?

Veeam Backup & Replication wird in Version 6 in der Lage sein neben VMware vSphere auch Microsoft Hyper-V zu Backupen und zu replizieren. Für einen Demoumgebung z.B. auf einem Notebook ist es wichtig gleichzeitig Hyper-V und VMware vSphere zu betreiben um Sie interessierten Kunden live zeigen zu können.

Das Setup sieht hier wie folgt aus:

Windows 7 64-Bit mit VMware Workstation 8 (ist ja noch beta)
darauf installiert:
- ein Windows 64 bit mit dem vCenter und der Hyper-V Rolle
- ein ESXi 5 System für VMware
Mehrere Gast-VMs auf beiden virtuellen Plattformen mit ActiveDirectory, Exchange, MS SQL, Linux um das Backup, die Replikation und die  Wiederherstellung davon zeigen zu können.
Ein Backup & Replikation Server der von beiden Welten (vSphere un Hyper-V) Sicherung und Wiederherstellung ausführen kann.

Wie Hyper-V unter VMware Workstation betrieben werden kann, finden Sie hier:
http://www.veeam.com/blog/nesting-hyper-v-with-vmware-workstation-8-and-esxi-5.html

Grüße Andy

Dienstag, 16. August 2011

Traue keinem unabhängigen Test bei dem du nicht selbst die Testkriterien festgelegt hast

Hallo zusammen :-)

wie heißt es doch so schön... "Traue keiner Statistik, die du nicht selbst gefälscht hast". Auf die heutige IT Welt übertragen könnte man auch sagen: "Traue keinem unabhängigen Test bei dem du nicht selbst die Testkriterien festgelegt hast".

Was macht ein Hersteller wenn er mit dem innovativeren Mitbewerberprodukt nicht mithalten kann? Er nimmt etwas Geld in die Hand, sponsort einen "unabhängigen" Prüfungsfirma die einen "neutralen" Produktvergleich erstellt und gebe Ihr einen auf das eigene Produkt zugeschnittenes Portfolio an Testkriterien mit der passenden Gewichtung an die Hand. Sobald der Report erscheint, nehme ich noch mehr Geld in die Hand und veranstalte einen riesen Presse-/Marketingzirkus rundherum.

Veeam erwartet in den nächsten Tagen noch vor unserem nächsten Backup & Replication Release eine Kapagne gegen sich.
Siehe hierzu:
http://www.veeam.com/blog/oh-tolly.html

Ein Beispiel, was bei dem Produktvergleich essentielles nicht bewertet wird:
Was fordern die Backupprogrammhersteller seit über 20 Jahren?
Testen Sie regelmäßig den Restore Ihrer Backups!
Kennen Sie jemand der dies regelmäßig oder gar bei jedem Backup umgesetzt hat? Die meisten scheuen die Zeit und Kosten.

Veeam automatisiert den Restoretest erstmalig am Markt mit seiner "SureBackup" Funktion. Ein Produktvergleich, der diese seit 20 Jahren geforderte Funktion nicht berücksichtigt ist schlicht nicht objektiv.

Liebe Leser vertraut nicht auf die Marketingaussagen der Hersteller, testet die Produkte und bildet euch selbst ein Urteil. Falls Sie hierbei Unterstützung brauchen helfen Ihnen meine Kollegen und ich sehr gerne.

...


Ist Ihnen schon einmal Aufgefallen, dass andere Hersteller auf Ihren Vorstellungsterminen Veeam spezifisch ansprechen und Punkte wie "Veeam kann nicht einmal seinen eigenen Backupserver sichern!" oder "Da wir auf dem ESX(i) System ein eigenes Stück Software starten können wir schneller sichern als Veeam" herausstellen?

Wenn es so einfach wäre Veeam in Bedrängnis zu bringen, dann hätte ich nicht den Job bei Veeam angetreten. Dass diese zwei am heufigsten genannten "Einschränkungen" eben keine "Einschränkungen" sind, sondern einfach nur falsch gestreute Marketinginformationen, möchte ich anhand dieser zwei Beispiele kurz aufzeigen:

"Veeam kann nicht seinen eigenen Backupserver sichern."
Stellen Sie sich vor, an Ihrem Backupserver würde das Betriebssystem kaputt gehen und alle Backupdaten die auf dem Server liegen sind verloren. Was würde dies bei anderen Herstellern im Wiederherstellungsfall bedeuten. Richtig Sie müssten warten bis das Betriebssystem samt Ihrer Daten wiederhergestellt sind (mehrere Studen/Tage). Ein (virtueller) Veeam Backup & Replikationserver der mit selbigem Produkt gesichert wurde, kann innerhalb von ungefähr 5 Minuten von seinem Backup gestartet werden. Dieser vom Backup gestartete Backup&Replikation Server kann wiederum einen oder mehrere ausgefallene produktive Server in wiederum ungefähr 5 Minuten vom Backup starten. Ein schnelleres Restore Szenario kenne ich bei Ausfall des kompletten Backupservers bzw. dessen Disksystem nicht. Und wenn wir schon dabei sind... Sie können sich auch sicher sein, dass der Backupserver wirklich vom Backupfile startet, weil wir die Wiederherstellbarkeit des Backupfile mit unserer SureBackup Funktion bereits automatisiert nach dem Backup geprüft haben. ;-)

"Ja aber wenn der Backupserver nicht virtualisiert wurde, kann Veeam sich selbst nicht sichern." Mmmmh? Auch diese Aussage stimmt so nicht. Die Wiederherstellung etwas ausführlicher erläutert:
Veeam Backup & Replikation Server bestehen aus 4 Teilen:
- dem Betriebssystem
- dem Veeam Backup & Replikation Programmverzeichnis
- einem MS SQL Server der nur die Jobinformationen und deren Planungszeiträume enthält
- die Backupdatenfiles

Da weder das Betriebssystem noch das Veeam Backup & Replikation Programmverzeichnis spezielle Einstellungen enthält, brauchen diese nicht zwingend gesichert werden.

Die Backupdatenfiles sind für sich alleine ohne die SQL Datenbank verwendbar. Sie können auf ein anderes Disk-System kopiert werden oder auf Tape ausgelagert werden.

Die SQL Datenbank läuft in einer virtuellen Maschine und wir sichern diese mit unserem Produkt.

Restore - wenn ein physikalischer Veeam Backup & Replikation Server ausgefallen ist:
Man nehme einen Rechner mit Windows (zur Not ein Notebook) diesem verschaffe man Zugriff auf die kopierten Backupfiles. Installiere ein naktes Backup & Replikation (Wizard einfach durchklicken) und importiere die Backupfiles des von Veeam verwendeten SQL Servers in kürzester Zeit.
Stelle danach den SQL Server her (wenige Minuten da die SQL Datenbank sehr klein ist und nur Jobdefinition und deren Zeitpläne enthält). Anschließend verbinde ich den neuen Backup & Replication Server zum SQL Server und alle Jobinformationen liegen wieder vor. Sind auf dem neuen Backup & Replikation Server die Verzeichnisse zu den kopierten Backupfiles an anderen Orten, müssen die Verweise auf die Ordner in den Jobs noch angepasst werden.

Schon bin ich in der Lage jeden produktiven Server vom Backupserver in nur 5 Minuten per Instant Restore zu starten.

Will ich nur die produktiven Server von den Backupfiles schell wiederherstellen, kann ich den zwischenschritt mit der Wiederherstellung des SQL Servers auch auslassen:
- Naktes Windows installieren oder ein bestehendes verwenden
- Backup und Replikation Server installieren und Backupfiles zugreifbar machen.
- Backupfiles importieren
- Starten eines importierten Servers in ungefähr 5 Minuten mit Instant Restore ab hier wieder möglich.

Und warum soll gleich Veeam jetzt seinen eigenen Server nicht sichern können?


Das letzte Argument:
"Da wir auf dem ESX(i) System ein eigenes Stück Software starten können wir schneller sichern als Veeam".
Mmmh...komisch ... Ihnen will hier jemand weis machen, dass der Datenabzug über ein Stück Software welches auf VMware ESX(i)läuft und durch dessen I/O Stack 2x durch muss (lesen der zu sichernden Daten + schreiben der zu sichernden Daten)schneller ist, als wenn Veeam die Daten direkt am Backupserver ohne ESX Beteiligung über das SAN vom primären Disk-Subsystem abzieht. Urteilen Sie selbst.

Und wenn wir schon dabei sind... Ja, auch Veeam hat ein solches Stückchen Software, welches Sie alternativ verwenden können. Ja, vielleicht braucht Veeam einen Tick mehr Zeit für diese "Virtual Appliance" Sicherung. Veeam bringt jedoch zunächst die Applikationen konsistent und nicht nur das Betriebssystem. Wie gesagt, dies ist eine Alternative zu dem schnelleren Direkt SAN Access Backup Modus.

Haben Sie auf Veranstaltungen oder bei Produktvorstellungen negative Aussagen zu Veeam Produkten gehört? Schreiben Sie mir, ich freue mich über jede E-Mail. Gerne führe ich Ihnen Live unsere Produkte und die angesprochenen als "negativ" dargestellten Funktionen vor, damit Sie sich ein eigenes Urteil bilden können. Meine E-Mail andreas.neufert(at)veeam.com

Liebe Grüße
Andreas Neufert

Andreas Neufert ist Systems Engineer Central Europe bei Veeam Software

Donnerstag, 11. August 2011

Cooles Notebook + Coole SSD = Datenverlust... Thinkpad W510 + SandforceSSDs Corsair Force3 / OCZ Vertex 3 + HDD Passwort Problem

Nein es ist noch nicht schon wieder Wochenende.
Ich ärgere mich nur gerade zu tode.

Was passiert, wenn man ein ultra schnelles Notebook mit einer ultra schnellen SSD ausstatten will und man es wagt ein HDD Kennwort zum Zugriffsschutz der Daten zu setzten?

Richtig, ...mann kommt nicht mehr an seine Daten.

Es wäre ja nicht so, dass die HDD Kennwort Funktion schon seit über 10 Jahren im Markt verfügbar wäre und es überraschend für die Hersteller ist, dass diese Funktion genutzt wird.


Der Reihe nach:
Ich betreibe zur Zeit an meinem Thinkpad W510 eine OCZ Vertex 2 Platte (SandForce SF-1200 Controller) und eine Intel SSD. Beide sind mit einem Standard HDD Kennwort versehen, um zu verhindern, dass wenn jemand mein Notebook entwendet, er einfach so an meine Daten kommt. (Ist zwar keine Verschlüsselung aber zumindest ein Schutz, um all diejenigen mit wenig Budget abzuhalten an meine Daten zu kommen.)

Aus Platzgründen wollte ich mir eine größere SSD anschaffen, die dazu noch das maximale an Durchsatz bietet (auch wenn der Controller des Thinkpads dies nicht zwingend schafft).

Meine Wahl viel auf die Corsair Force3 mit dem brandaktuellem Sandforce SF2200 Controller. Nach erhalt sofort verbaut ein weilchen gearbeitet und bevor ich das erste mal das Haus verlassen habe, noch schnell das HDD Kennwort gesetzt. Beim Kunde das Notebook eingeschalten, HDD Kennwort eingegeben und die Präsentation erfolgreich beendet. Zuhause das Notebook wieder eingeschaltet => Kennwort wird nicht mehr akzeptiert.
Schreibfehler? Hochstelltaste? Eine Taste ohne Funktion? Habe undgefähr 200 Kombinationen ausprobiert. Nach einigem hin und her, habe ich mich damit abgefunden, dass meine Daten weg sind und die SSD an den Service gesendet.

Austauschplatte nach 2,5 Wochen erhalten. Selbes Problem.
HDD akzeptiert nach dem setzten des Kennworts das HDD Kennwort genau ein einziges mal.
Forum von Corsair gelesen => Ich bin nicht alleine.

Händler angerufen und mit Ihm vereinbart, dass er mir zum Austausch eine OCZ Vertex 3 (ebenfalls Sandforce SF2200 Controller) sendet.
Nach wiederum 2,5 Wochen bin ich jetzt stolzer besitzer einer Vertex 3... sie ahnen es ... mit dem selben Fehler.

Im OCZ Forum finden sich noch mehr Hinweise auf eine Inkompatibilität mit Lenovo.

Ein klassisches Spiel beginnt. Ist jetzt Lenovo schuld, wie der OCZ Support suggeriert? Mein Bauchgefühl sagt mir, dass es nicht an Lenovo liegt. Meine anderen SSDs (auch die Vertex 2) laufen noch. Weiterhin war ich mal für den Service von über 40.000 Lenovo Thinkpad Notebooks verantwortlich, bei denen kein einziger mit HDD Kennwörtern und irgend welchen HDDs Probleme angemeldet hat. Ich vermute stark einen Fehler im selben Controller der SSDs.

BTW. der Preis der SSD ist inzwischen auch um 100€ gefallen.

Was bleibt... kauft nur original SSDs als Optionsteil von Lenovo.
Damit umgeht Ihr das Fingerzeigen der Hersteller.

Ich halte euch auf dem Laufenden wie es weiter geht ;o)

Freitag, 5. August 2011

Einführung in die Veeam Powershell

Ein neues Wochenende ... ein neuer Beitrag.
In der vergangenen Wochen bin ich immer wieder auf 2 Themen von Kunden angesprochen worden.
1. Ich würde gerne ein Backup Skript erstellen, wie finde ich am besten den Einstieg?
2. Bei der Near-CDP Replikation (Replikation startet sofort nach dessen Beendigung wieder) würde ich diese gerne anhalten um ein Backup zu erstellen. Wie kann ich dies steuern?

Somit kombiniere ich einfach diese beiden Anforderungen in diesem Tutorial. Viel Spaß beim lesen und viel Erfolg beim umsetzten.

Die hier gezeigten Beispiele müssen nicht zwingend in Ihre Umgebung passen. Bitte prüfen Sie den gesamten Code sorgsam bevor Sie Ihn in einer Testumgebung einsetzten. Prüfen Sie hier ob alles soweit funktioniert, keine Fehler auftreten und ob die Replikationsziele und Backups auch die passenden Daten aufweisen. Das Backup kann z.B. mit einem SureBackup Job geprüft werden und die Replikation in dem Sie die Replik der Server aus Backup & Replikation heraus ohne Netzwerkkarten (im VCenter abhängen) starten. Bitte nicht die Replik mit dem vCenter starten, hierbei werden alle übrigen Replikationsstände verworfen. Wenn Sie sich dann sicher fühlen, kann der Code in der produktive Umgebung übernommen werden. Der Author dieses Beitrags haftet nicht für eventuell auftretenden Datenverlust. Prüfen Sie Ihre Arbeit auf jedenfall gegen!!!! Als Testumgebung können Sie z.B. einen Ihrer Windows Server mit der SureBackup Funktion in ein Virtual Lab starten, dort Backup & Replication erneut installieren und den Code testen.

Anforderungen:
Aktuelle Veeam Backup & Replication Version
Falls Sie Windows 2003 Server einsetzten muss von Microsoft noch die Powershell nachinstalliert werden.
Die Skripte funktionieren nur direkt auf dem Backupserver.

Grundüberlegung und Ausgangssituation:
Wir haben einen Replikationsjob Namens SQL-REPLIKATION der zeitgesteuert oder kontinuierlich einen oder mehrere Server repliziert. Ein weiterer Job sichert als Backupjob die selben Server. Jobname hierfür SQL-BACKUP.
Ziel ist es
1. Den SQL-REPLIKATION Job anzuhalten, bzw. diesen fertig durchlaufen zu lassen.
2. Ein Backup mit SQL-BACKUP zu erstellen.
3. Anschließend den Replikationsjob wieder zu starten und zu prüfen ob die Replikation wieder angelaufen ist.

Grundüberlegungen zum Code:
Wir erstellen eine Powershell-Skriptdatei (*.ps1) die den Code aufnimmt.
Eine weitere "Start"-Datei (*.ps1 oder *.bat) die Parameter an die Powershell-Skriptdatei übergiebt.

Wir benötigen 2 variable Werte die wir an die Skriptdatei übergeben:
Replikationsjobname
Backupjobname
dateiname.ps1 -parameter1 wert1 -parameter2 wert2

# In unserem Fall
dateiname.ps1 -jobname SQL-REPLIKATION -backupjobname SQL-BACKUP

Erstellung der Startdatei:
Erstellen Sie mit dem Windows Editor eine Textdatei mit der Endung .bat .
Legen Sie diese in ein Verzeichnis ab. Editieren Sie diese mit dem Editor.

Zunächst erstellen wir in der Datei 5 Variable die wir mit folgendem füttern:
1. Parameter für den Pfad zur Powershell-EXE von Windows
2. Pfad zu der noch zu erstellenden PS1 Datei
3. Replikationsjobname
4. Backupjobname
5. Pfad zur Logdatei.

REM  PowerShell.exe
set powershell="c:\windows\system32\windowspowershell\v1.0\powershell.exe"

REM  Set Folder with the VBRStopCDPStartBackupRestartCDP.ps1 in it
set PS1=E:\Backups\VBRStopCDPStartBackupRestartCDP.ps1

REM Set CDP Jobname
set REPLIKATION=SQL-REPLIKATION

REM Set Backupjobname
set BACKUP=SQL-BACKUP

REM Output LOG
set joblog=E:\Backups\VBRStopCDPStartBackupRestartCDP.log


Danach erstellen wir die eigentliche Ausführungszeile die die Parameter im richtigen Kontext aufruft. ">>" bedeutet, dass in der Log Datei alle neuen Ereignisse immer angehängt werden.
Eventuell wird diese Log Datei über die Monate zu groß und Sie müssen das Skript später anpassen.
"%powershell%" "%PS1%" -jobname "%REPLIKATION%" -backupjobname "%BACKUP%" >> "%joblog%"

Grundlagen Powerhellskript
Write-Output "Text"
gibt einen Text aus. Bei uns ist die Ausgabe mit >> in eine Log Datei umgelenkt. Somit bleibt das Skriptfenster einfach schwarz.

$AStartTime =
setzt eine Variable mit dem Wert der hinter dem Gleich kommt. Diese Variable kann dann an beliebiger Stelle im Code mit
$AStartTime
wieder abgerufen werden.

$variable.irgendetwas
Bietet die Möglichkeit Erweiterungen der jeweiligen Variablen abzufragen.

z.B.:
Wenn wir den Veeamjob in die variable "&infodisjob" geschrieben haben, können wir mit
$infodisjob.Info.IsScheduleEnabled
abrufen, ob der Scheduler des Jobs enabled ist.

Hierbei wird .Info.IsScheduleEnabled durch Backup & Replication definiert, sprich dies ist keine direkte Funktion der Powershell.

Wo stehen jetzt die ganzen Möglichkeiten der Funktionen?

Zunächst kann in der Powershell eine Übersicht aller Veeam Befehle abgerufen werden.
add-pssnapin veeampssnapin
get-command -pssnapin veeampssnapin

Mit
get-help Veeambefehl -full
erhalten Sie alle Informationen über den Befehl.

Befehle, Informationen und Einstellungen zu den Jobs können Sie wie folgt abrufen:
$job = Get-VBRJob | ?{$_.name –eq “Jobname”}
$job | gm


Sie können eine oder mehrere Ebene tiefer springen in dem Sie einen der Befehle aus der Liste mit einem Punkt hinzufügen und z.B. folgendes aufrufen:
$job = Get-VBRJob | ?{$_.name –eq “Jobname”}
$job.getvssoptions | gm
$job.getvssoptions() | gm


Hierbei liefert der Befehl mit und ohne Klammern andere Werte.

In dem Userguide und in dem Veeam Forum finden Sie weitere Beispiele und Optionen. Warum sich Plagen wenn schon andere sich die Arbeit gemacht haben :-)
Am besten bei Google eingeben "+site:veeam.com +forum +powershell +Suchbegriff"

Übrigens finden Sie dort auch Hilfe bei Codefragen. Hierbei gillt wie immer: Zuerst die Suche verwenden, das gefundene auch Auswerten und dann Fragen stellen.

Die Skriptdatei
Erstellen Sie z.B. mit dem Windows Editor eine leere Datei mit der Endung .ps1.
Editieren Sie diese Datei mit einem Powershell Editor oder dem Windows Editor.

Und schon geht es mit der eigentlichen Arbeit los:

Übergabewerte mit param definieren:
param ([string]$JobName, [string]$BackupJobName)

Startzeitpunkt für das Log in eine variable einlesen und passend formatieren:
$AStartTime = get-date
$AStartTimeFormated = $AStartTime.ToUniversalTime()
Um Veeam befehle in der Powershell verwenden zu können müssen wir zunächst ein Veeam Powershell Plugin laden, welches mit Backup&Replication installiert wurde (Code stammt von Veeam Matt Carpenter´s PSHelperv1 Kit):
# Load Veeam Powershell Snapin 
Add-PSSnapin -Name VeeamPSSnapIn -ErrorAction SilentlyContinue

Wir prüfen jetzt ab ob der Backupserver auch ein Veeam Backup&Replication Server ist. Wir verwenden IF ELSE um eine Fehlermeldung auszugeben oder den restlichen Code auszuführen. Die } Klammer muss ganz am Schluss Ihres Code angebracht werden, da wir ja den restlichen Code nur ausführen wollen wenn der Server auch ein Backup & Replication Server ist.(Code stammt von Veeam Matt Carpenter´s PSHelperv1 Kit):
$BackupServer = Get-VBRlocalhost

IF ($BackupServer -eq $NULL)
{
Write-Output "There is an issue with the local Veeam Backup instance"
}
ELSE
{ 
Hier steht Ihr restlicher Code
}
Nun steht eine Prüfung der beiden übergebenen Job Parameter an. Sind diese auch im Backup&Replication als Jobs vorhanden. Auch hier wiederum brauchen wir zwei } am ganz unteren Ende des Codes(Code stammt von Veeam Matt Carpenter´s PSHelperv1 Kit).

$BackupJobCheck1 = Get-VBRJob | where {$_.Name -eq $JobName}


IF ($BackupJobCheck1 -eq $NULL)

{
Write-Output "Cannot start Veeam Job"
Write-Output "$JobName does not exist"
}

ELSE
{

$BackupJobCheck2 = Get-VBRJob | where {$_.Name -eq $BackupJobName}


IF ($BackupJobCheck2 -eq $NULL)

{
Write-Output "Cannot start Veeam Job"
Write-Output "$BackupJobName does not exist"
}

ELSE
{
Hier steht Ihr restlicher Code
}}

Jetzt der Bereich in dem wir den Ausführungszeitplan (Scheduler) des Replikationsjobs anhalten.
1. Wir schreiben die Zeit ins Logfile.
2. Wir schreiben, was wir ausführen ins Logfile.
3. Name des Replikationsjobs festlegen.
4. Halte den Scheduler an.
5. Lies nochmals den Replikationsjob ein, um aktuelle Statuswerte zu erhalten.
6. Setze eine Variable mit dem Wert "None" welches dem Wert des ausgeschalteten Schedulers entspricht (Diesen werden wir später verwenden)
7. Prüfe ob der Scheduler eingeschaltet ist.
8. Gebe das Ergebnis in das LOG aus.
Write-Output "Job started: $AStartTimeFormated"
Write-Output "Disabling Veeam Backup/Replication Job $JobName"
$disjob = Get-VBRJob | where {$_.name -eq $Jobname}
$disjob.DisableScheduler()
$infodisjob = Get-VBRJob | where {$_.name -eq $Jobname}
$disjobendstatus = "None"
$infodisjobanzeigeend = $infodisjob.Info.IsScheduleEnabled
Write-Output "Actual Status of the Veeam $Jobname Job: $infodisjobanzeigeend"

Eventuell ist jetzt noch immer ein Replikationsjob aktiv - wenn wir z.B. den Zeitplan mitten in der Ausführung angehalten haben. Wir warten in einer Schleife die Beendigung des letzten Jobs ab. Löschen Sie nicht die Zeile mit dem Get-VBRJob heraus, da Sie sonst bei Info.LatestStatus nicht den dann aktuellen Wert angezeigt bekommen.
DO{
$infodisjob = Get-VBRJob | where {$_.name -eq $Jobname}
Write-Output "Waiting until the Veeam $Jobname Job is finished. Waiting 10 seconds"
Start-Sleep -s 10
}
UNTIL ($infodisjob.Info.LatestStatus -ne $disjobendstatus)

$infodisjobanzeige = $infodisjob.Info.LatestStatus
Write-Output "The last state of the Veeam $Jobname Jobs was: $infodisjobanzeige"

Kaum sind wir aus der Schleife heraus, ist es an der Zeit den Backup Job auszuführen.
1. Schreiben in das Log was wir tun
2. Abrufen der Job Parameter
3. + 4. Starten des Backup Jobs (Geht theoretisch auch kürzer - dann können wir aber nicht die nun folgenden Werte in Variablen speichern (5. - 12.), um Sie später auszugeben. (Code stammt von Veeam Matt Carpenter´s PSHelperv1 Kit):
Write-Output "Start Veeam Backup Job $BackupJobName"
$BackupStartJob = Get-VBRJob | where {$_.Name -eq $BackupJobName}
$RunBackupStartJob = $BackupStartJob | Start-VBRJob
$RunBackupStartJob
$BackupStartJobResult = $RunBackupStartJob.Result
$JobDuration = $RunBackupStartJob.info.progress.Duration
$JobAvgSpeed = $RunBackupStartJob.info.progress.AvgSpeed
$JobVMSize = $RunBackupStartJob.info.progress.TotalSize
$JobVMSizeG = $JobVMSize/1GB
$JobAvgSpeedMB = $JobAvgSpeed/1MB
$JobAvgSpeedT = [System.Math]::Round($JobAvgSpeedMB, 0)
$JobVMSizeT = [System.Math]::Round($JobVMSizeG, 2)

Beinahe fertig...
Der Scheduler muss wieder gerstartet werden und es muss geprüft werden, ob die nächste Replikation auch wirklich startet. Anmerkungen:
-ne bedeutet "nicht"
Get-VBRJOB wiederum drin lassen, damit wir weiter unten den dann aktuellen Wert bei Info.IsScheduleEnabled abrufen können.
Write-Output "Enabling Veeam Backup/Replication Job $JobName again"
$ScheduleStatus = $infodisjob.Info.IsScheduleEnabled
if ($ScheduleStatus -ne "True"){
DO{
$infodisjob = Get-VBRJob | where {$_.name -eq $Jobname}
$disjob.EnableScheduler()
$ScheduleStatus = $infodisjob.Info.IsScheduleEnabled
Write-Output "Wait 30 Seconds"
Start-Sleep -s 30
}
Until ($ScheduleStatus -eq "True")
Write-Output "Is the scheduler enabled again and at least 1 job has started: $schedulestatus"

Ausgabe ins Log der Ergebnisse mit alternativem Endergebnis im Log über IF ELSE gelößt.(Grundidee des Codes stammt von Veeam Matt Carpenter´s PSHelperv1 Kit mit Anpassungen von mir):
Write-Output ""
Write-Output ":::::::::::::::::::::::::::::::::::::::::::::::::::::::" 
Write-Output ":::::::::::::::::::::::::::::::::::::::::::::::::::::::" 
Write-Output "::: Final Job Results Part Summary :::" 
Write-Output ":::::::::::::::::::::::::::::::::::::::::::::::::::::::"
$AEndTime = get-date
$AEndTimeFormated = $AEndTime.ToUniversalTime()
Write-Output "Job started at $AStartTimeFormated"
Write-Output "Job finished at $AEndTimeFormated"
Write-Output "Temporary disabled Job Name is $JobName"
Write-Output "Is now active again: $schedulestatus"
Write-Output "Backup Job Name is $BackupJobName"
IF ($BackupStartJobResult -eq "Success")
{  
Write-Output "Veeam Backup Job $BackupJobName completed successfully" 
}
ELSE
{
Write-Output "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
Write-Output "ERROR ERROR ERROR ERROR ERROR ERROR ERROE"
Write-Output "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
Write-Output "Error: Veeam Backup Job $BackupJobName result: $BackupStartJobResult"
Write-Output "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"    
}
Write-Output "Backup Job duration was $JobDuration"
Write-Output "Backup Job average throughput was $JobAvgSpeedT MB/s"
Write-Output "Virtual Machines in Backup Job $JobName totaled $JobVMSizeT GB in size"
Write-Output ""

Jetzt fehlen nur noch die gangen } von oben.
}
}
}
}


Man könnte den Code an der einen oder anderen Stelle noch verbessern.
Z.B. wäre es eine Möglichkeit für das Log die Zeitstempel vor und nach jedem Teilschritt einzubauen. Weiterhin fehlen Benachrichtigungen an Administratoren die bei bestimmten Ereignissen benachrichtigt werden. Thema E-Mail, Netzwerkmeldungen, Event Log Eintrag, Übergabe an EMS Systeme... dies ist dann zu individuell um es hier zu behandeln.

Viel Spaß beim Umsetzten, Testen !!! und Verbessern.

Es wäre nett wenn Sie Ihren angepassten Code hier als Kommentar veröffentlichen. Code Zeilen können Sie mit http://formatmysourcecode.blogspot.com/ als solchen einbauen.

Grüße Andreas Neufert

Update 09.09.2011:
Backupdatenmenge anhand der Powershell errechnen: http://ict-freak.nl/2011/08/30/veeam-calculate-destination-storage-needs-with-powershell/ "

Dienstag, 19. Juli 2011

Wie sieht der Virtualisierungsmarkt aus ? v-index.com

v-index.com ist DIE neue Ressource für die Übersicht im Virtualisierungsmarkt.
Wie ist das Verhältnis zwischen virtuellen und physikalischen Servern?
Wie viele virtuelle Server sind im Schnitt auf phsyikalischen Hosts im Markt installiert?
Welchen Trend gibt es bei der Virtualisierungssoftware?

All dies gibt es auf:

Montag, 18. Juli 2011

NTP Zeitserver für VMware Workstation/ESX Testumgebung

Hallo :-)

für die Präsentation verwende ich auf meinem Notebook eine Kombination aus VMware Workstation und darin als Gast VMware ESX.
Da ich immer wieder mit verschiedensten Zeitproblemen zu kämpfen hatte, wenn ich in Guest AD Server als Zeitgeber verwendete, habe ich auf meinem Windows 7 Systeme einen NTP Server installiert. Seither musste ich mich nicht mehr dem Thema zuwenden.

Erschwerend kam hinzu, dass ich keinen Internetzeitdienst verwenden konnte, da das Lab nicht am Internet hängt.

Lab Umgebung:
Windows 7 OS mit NTP Server von Meinberg
darauf installiert:

VMware Workstation (aktuelle Version) (keine Zeitsteuerung)

Als Gäste in der VMware Workstation laufen ein VMware ESX System (als NTP Client meine IP Adresse des Windows 7 Systems angegeben) und ein
Win 2008 R2 System für das vCenter (VMware Client Zeitsteuerung aktiv)

Auf dem ESX System laufen wiederum VMs bei den allen im VMware Client der Haken gesetzt wurde, dass Sie die Zeit vom Host übernehmen sollen.


Software auf Windows 7
http://www.meinberg.de/german/sw/ntp.htm#ntp_nt_stable

Config File:

server 127.127.1.0
fudge 127.127.1.0 stratum 0


IP Adresse 127.127.1.0 muss immer verwendet werden.
Stratum 0 war bei mir notwendig da sonst nicht alle Systeme meine Uhrzeit akzeptiert haben.

Für die Kommunikation aus Windows 7 habe ich einen Loopback Adapter eingerichtet,
der von den Gastsystemen per Bridged Network angesprochen werden kann.


Hoffe diese kurzen Zeilen helfen dem einen oder anderen.
Schreibt mir einfach einen Kommentar wenn Ihr es für euch verwenden konntet oder weitere Vorschläge habt.

Gruß Andy

Dienstag, 12. Juli 2011

Video: Veeam Backup & Replication - Application Item Restore Wizard - Microsoft Exchange



Das Video zeigt wie Veeam mit der Backup & Replication Software einzelne E-Mails in Exchange wiederherstellen kann.

Alle von mir erstellten Videos sind "quick & dirty" aufgenommen und sind nicht zwingend von bester Sprach und Videoqualität. Sie geben Ihnen jedoch einen guten ersten (technischen) Überblick mit vielen "Live" Demos.

Wünsche für weitere Videos werden gerne angenommen. Bitte senden Sie mir hierzu eine E-Mail andreas.neufert(at)veeam.com oder hinterlassen ein Leserkommentar.
SU

Video: Veeam Backup & Replication Teil 1 - Übersicht



Übersicht über die Veeam Produkte und im speziellen über die Backup & Replikation Software.

Alle von mir erstellten Videos sind "quick & dirty" aufgenommen und sind nicht zwingend von bester Sprach und Videoqualität. Sie geben Ihnen jedoch einen guten ersten (technischen) Überblick mit vielen "Live" Demos.

Wünsche für weitere Videos werden gerne angenommen. Bitte senden Sie mir hierzu eine E-Mail andreas.neufert(at)veeam.com oder hinterlassen ein Leserkommentar.

Video: Veeam Backup & Replication Teil 2 - Instant Restore



Starten Sie im Fehlerfall einen oder mehrere virtuelle Server direkt vom Backup in nur rund 5 Minuten.

Alle von mir erstellten Videos sind "quick & dirty" aufgenommen und sind nicht zwingend von bester Sprach und Videoqualität. Sie geben Ihnen jedoch einen guten ersten (technischen) Überblick mit vielen "Live" Demos.
Wünsche für weitere Videos werden gerne angenommen. Bitte senden Sie mir hierzu eine E-Mail andreas.neufert(at)veeam.com oder hinterlassen ein Leserkommentar.

Video: Veeam Backup & Replication Teil 3 - SureBackup



Wie stellt Veeam 100% sicher, dass nach eine Restore die zurückgespielten Server auf jeden Fall laufen.

Alle von mir erstellten Videos sind "quick & dirty" aufgenommen und sind nicht zwingend von bester Sprach und Videoqualität. Sie geben Ihnen jedoch einen guten ersten (technischen) Überblick mit vielen "Live" Demos.

Wünsche für weitere Videos werden gerne angenommen. Bitte senden Sie mir hierzu eine E-Mail andreas.neufert(at)veeam.com oder hinterlassen ein Leserkommentar.

Video: Veeam Backup und Replication Teil 4 - Technische Details



Erfahren Sie mehr über technischen Hintergründe des Veeam Backup & Replication Technoligie.

Alle von mir erstellten Videos sind "quick & dirty" aufgenommen und sind nicht zwingend von bester Sprach und Videoqualität. Sie geben Ihnen jedoch einen guten ersten (technischen) Überblick mit vielen "Live" Demos.

Wünsche für weitere Videos werden gerne angenommen. Bitte senden Sie mir hierzu eine E-Mail andreas.neufert(at)veeam.com oder hinterlassen ein Leserkommentar.

Montag, 11. Juli 2011

Video: Veeam Backup & Replication Teil 5 - Backupjobs einrichten



Sehen Sie wie bei Veeam Backup und Replication Backup- und SureBackup-Jobs eingerichtet werden.

Das Video ist auf Deutsch.

Alle von mir erstellten Videos sind "quick & dirty" aufgenommen und sind nicht zwingend von bester Sprach und Videoqualität. Sie geben Ihnen jedoch einen guten ersten (technischen) Überblick mit vielen "Live" Demos.

Wünsche für weitere Videos werden gerne angenommen. Bitte senden Sie mir hierzu eine E-Mail andreas.neufert(at)veeam.com oder hinterlassen ein Leserkommentar.

Dieses Blog durchsuchen