Veeam BuR - Rücksicherung per Powershell
Tach Digitalfreunde,
da ist nun folgende Situation:
Ein Veeam B&R Server wurde abgelöst durch etwas anderes. Der Server ist mit ganz anderer Backup-Software völlig neu aufgesetzt worden. Das System arbeitet bereits so. (Mir ist unbekannt was das für ein System ist, ich hab darauf auch kein Zugriff)
Es gibt aber noch LTO5-Bänder aus dem Veeam mit Datenauslagerungen. Diese Bänder sollen nun wieder rückgesichert werden auf ein SMB-Storage.
Ich habe nun die Möglichkeit, ein mit einem einzelnen LTO5-Laufwerk vorübergehend einen PC mit Server 2022 (Eval., Standard) und Veeam B&R 12 diese Bänder einmalig auszulesen und zu Löschen, damit sie dem neuen Backup-Programm zur Verfügung stellt werden können.
Die Bänder sind nicht Passwortgeschützt, es sind keine VMs oder Systeme gesichert, es sind zu 99% nur dumme Daten. Die Band-Sets sind beschriftet und somit als zusammenhängende Bandsicherungen mit z. B. Band 1 bis 4 identifizierbar.
Hat da jemand / Gibt es da ein PowerShell Script, was es mir ermöglicht ->
Bei Retrospect könnte man die Bänder ohne Inhaltserfassung direkt in einem Durchlauf zurücksichern. Genial, wenn das auch mit Veeam ginge.
Bei den Powershell-Script müsste ich angeben können von welchem Band-Laufwerk er auslesen soll,
wohin er die Daten schreiben soll (SMB://Ordner),
und von wie vielen bändern pro Set er die Daten holen soll.
Das wäre eine enorme Erleichterung, wenn es sowas mehr oder weniger unkompliziert bereits fertig vorläge.
Danke
Kreuzberger
da ist nun folgende Situation:
Ein Veeam B&R Server wurde abgelöst durch etwas anderes. Der Server ist mit ganz anderer Backup-Software völlig neu aufgesetzt worden. Das System arbeitet bereits so. (Mir ist unbekannt was das für ein System ist, ich hab darauf auch kein Zugriff)
Es gibt aber noch LTO5-Bänder aus dem Veeam mit Datenauslagerungen. Diese Bänder sollen nun wieder rückgesichert werden auf ein SMB-Storage.
Ich habe nun die Möglichkeit, ein mit einem einzelnen LTO5-Laufwerk vorübergehend einen PC mit Server 2022 (Eval., Standard) und Veeam B&R 12 diese Bänder einmalig auszulesen und zu Löschen, damit sie dem neuen Backup-Programm zur Verfügung stellt werden können.
Die Bänder sind nicht Passwortgeschützt, es sind keine VMs oder Systeme gesichert, es sind zu 99% nur dumme Daten. Die Band-Sets sind beschriftet und somit als zusammenhängende Bandsicherungen mit z. B. Band 1 bis 4 identifizierbar.
Hat da jemand / Gibt es da ein PowerShell Script, was es mir ermöglicht ->
- den Inhalt der Bänder zu erfassen
- die Bänder auszulesen und in einen frei gewählten Ort zurückzuschreiben
- die Inhaltsliste aus Veeam wieder zu entfernen
- fertsch
Bei Retrospect könnte man die Bänder ohne Inhaltserfassung direkt in einem Durchlauf zurücksichern. Genial, wenn das auch mit Veeam ginge.
Bei den Powershell-Script müsste ich angeben können von welchem Band-Laufwerk er auslesen soll,
wohin er die Daten schreiben soll (SMB://Ordner),
und von wie vielen bändern pro Set er die Daten holen soll.
Das wäre eine enorme Erleichterung, wenn es sowas mehr oder weniger unkompliziert bereits fertig vorläge.
Danke
Kreuzberger
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 73761515161
Url: https://administrator.de/forum/veeam-bur-ruecksicherung-per-powershell-73761515161.html
Ausgedruckt am: 25.12.2024 um 02:12 Uhr
8 Kommentare
Neuester Kommentar
So wie @NordicMike es schon beschrieb.
Ist nix besonderes. Jedes Band ein Objekt. Hier mal mein altes um Bänder in anderen Pool zu verschieben.
Braucht keine UID. Klarname reicht um Bänder oder Pool anzusteuern. Das einfach mit anderen Kommandos kombinieren.
Ist nix besonderes. Jedes Band ein Objekt. Hier mal mein altes um Bänder in anderen Pool zu verschieben.
Braucht keine UID. Klarname reicht um Bänder oder Pool anzusteuern. Das einfach mit anderen Kommandos kombinieren.
Get-VBRTapeMedium -MediaPool "Free" | Where-Object {$_.Name -like "Tape*"} | Foreach-Object {Get-VBRTapeMedium -Name $_.Name | Move-VBRTapeMedium -MediaPool "Park"}
Du musst die Pool Namen kennen.
Im Prinzip hast du links dein Menü. Jedes Item in der GUI wird mit PowerShell abgebildet.
Get-VBRTapeMedium -MediaPool "Free"
Holt erstmal alle Bänder in dem Fall aus einen Medien Pool den ich selber "Free" genannt hab.
Where-Object {$_.Name -like "Tape*"}
Veeam vergibt doch normal generische Namen - war früher so. Tape 1, Tape 2, Tape 3, ... Mit den Befehl kann man alle Objekte rausholen, die den Namen tragen.
Warum? Wenn ein Band neu erkannt wird, bekommt es mitunter eine neue Nummer. Offset ist die letzte Nummer. Fliegt z.B. Tape 1 raus, kommt es als Tape 9 wieder.
Man kann die Bezeichnung - wir arbeiten hier OHNE Barcode - frei ändern. Laut meine inneren Monk hab ich einfach dann wieder umbenannt, so dass im Ergebnis Tape 1, Tape 2.... heraus kommt.
Get-VBRTapeMedium -Name $_.Name
Ist etwas doppelt gemoppelt. Den Code hätte man schöner aufbauen können. Im Prinzip wird hier nochmal das Object zum jeweilige Band herbeigholt und via | gepiped.
Move-VBRTapeMedium -MediaPool "Park"}
Hier braucht es kein Bandangabe mehr, da das Objekt zuvor ja genau definiert wurde. Band wird nur logisch von Free in Park verschoben.
Das ist aber alles die Arbeit mit Medien-Pools. Daran kann man anknüpfen und statt es zu schieben XYZ damit machen. Katalogisieren etc. Alles eben halt die Veeam Kommandos so hergeben.
Deine Bemühungen mit dem Restore würden ja hierein münden: https://helpcenter.veeam.com/docs/backup/powershell/start-vbrtapeobjects ...
https://helpcenter.veeam.com/docs/backup/powershell/start-vbrtapeobjects ...
Du hst hier allerdings schon eine Katalogisierung vorliegen. -CatalogItem $item[3] wird dann wiederhergestellt.
Get macht ja nix. Um ein Gefühlt zu bekommen am besten mit schauen die Items auszulesen. Wenn die das beinhalten, was du wiederherstellen willst bist du schon fast fertig. Das Ganze dann mit Start- Kommando anstoßen.
Get ist immer gefahrlos. Hier tut PS nix. Du bekommst Objekte, Listen etc. zurück.
https://helpcenter.veeam.com/docs/backup/powershell/start-vbrtapeobjects ...
Da sind Code Bsp.
Ich hab es selber vor langer Zeit gemacht und kein Veeam + Tape Lib hier!
Auf den Seiten steht schon alles. Musst nur irgendwo anfangen. Am besten von hinten. Das ist Restore. Hast du alles dafür? Ggf. Antwort NEIN - Katalog nicht aufgebaut. Dann geht es damit los.
https://helpcenter.veeam.com/docs/backup/powershell/start-vbrtapecatalog ...
Die Nummer da wären bei mir Tape 1, Tape 2 ....
Danach sind die im Katalog. Eigentlich müsstest du dann schon halb fertig sein! Denn der Recover Befehl will ja einen Katalog oben. Den hast du damit ja für alle Bänder angelegt.
Nun sollte man "einfach" einen Befehl wie oben zum Recovern abfeueren können, der dann auch die Daten findet und an neuen Ort - oder alten - wiederherstellt.
https://helpcenter.veeam.com/docs/backup/vsphere/cataloging_tapes.html?v ...
Das wäre die GUI Variante.
"cataloging" ist das Schlagwort, mit dem du in den PowerShell Bsp. suchen musst. Dann findet man auch wie man eine Katalogisierung anstößst.
Ich hab es wirklich lange nicht gemacht. Scheint aber nur mit vorheriegen Katalog zu gehen. Nur den hat man entweder oder baut ihn neu auf....
Im Prinzip hast du links dein Menü. Jedes Item in der GUI wird mit PowerShell abgebildet.
Get-VBRTapeMedium -MediaPool "Free"
Holt erstmal alle Bänder in dem Fall aus einen Medien Pool den ich selber "Free" genannt hab.
Where-Object {$_.Name -like "Tape*"}
Veeam vergibt doch normal generische Namen - war früher so. Tape 1, Tape 2, Tape 3, ... Mit den Befehl kann man alle Objekte rausholen, die den Namen tragen.
Warum? Wenn ein Band neu erkannt wird, bekommt es mitunter eine neue Nummer. Offset ist die letzte Nummer. Fliegt z.B. Tape 1 raus, kommt es als Tape 9 wieder.
Man kann die Bezeichnung - wir arbeiten hier OHNE Barcode - frei ändern. Laut meine inneren Monk hab ich einfach dann wieder umbenannt, so dass im Ergebnis Tape 1, Tape 2.... heraus kommt.
Get-VBRTapeMedium -Name $_.Name
Ist etwas doppelt gemoppelt. Den Code hätte man schöner aufbauen können. Im Prinzip wird hier nochmal das Object zum jeweilige Band herbeigholt und via | gepiped.
Move-VBRTapeMedium -MediaPool "Park"}
Hier braucht es kein Bandangabe mehr, da das Objekt zuvor ja genau definiert wurde. Band wird nur logisch von Free in Park verschoben.
Das ist aber alles die Arbeit mit Medien-Pools. Daran kann man anknüpfen und statt es zu schieben XYZ damit machen. Katalogisieren etc. Alles eben halt die Veeam Kommandos so hergeben.
Deine Bemühungen mit dem Restore würden ja hierein münden: https://helpcenter.veeam.com/docs/backup/powershell/start-vbrtapeobjects ...
https://helpcenter.veeam.com/docs/backup/powershell/start-vbrtapeobjects ...
$host = Get-VBRServer -Name target.tech.local
$item = Find-VBRTapeCatalogItem
Start-VBRTapeObjectStorageRestore -Server $host -Path "C:\Backup restore\Azure Blob Container" -CatalogItem $item[3]
Du hst hier allerdings schon eine Katalogisierung vorliegen. -CatalogItem $item[3] wird dann wiederhergestellt.
Get macht ja nix. Um ein Gefühlt zu bekommen am besten mit schauen die Items auszulesen. Wenn die das beinhalten, was du wiederherstellen willst bist du schon fast fertig. Das Ganze dann mit Start- Kommando anstoßen.
Get ist immer gefahrlos. Hier tut PS nix. Du bekommst Objekte, Listen etc. zurück.
https://helpcenter.veeam.com/docs/backup/powershell/start-vbrtapeobjects ...
Da sind Code Bsp.
Ich hab es selber vor langer Zeit gemacht und kein Veeam + Tape Lib hier!
Auf den Seiten steht schon alles. Musst nur irgendwo anfangen. Am besten von hinten. Das ist Restore. Hast du alles dafür? Ggf. Antwort NEIN - Katalog nicht aufgebaut. Dann geht es damit los.
https://helpcenter.veeam.com/docs/backup/powershell/start-vbrtapecatalog ...
$tape = Get-VBRTapeMedium -Name "00140009","00140010"
Start-VBRTapeCatalog -Medium $tape
Die Nummer da wären bei mir Tape 1, Tape 2 ....
Danach sind die im Katalog. Eigentlich müsstest du dann schon halb fertig sein! Denn der Recover Befehl will ja einen Katalog oben. Den hast du damit ja für alle Bänder angelegt.
Nun sollte man "einfach" einen Befehl wie oben zum Recovern abfeueren können, der dann auch die Daten findet und an neuen Ort - oder alten - wiederherstellt.
https://helpcenter.veeam.com/docs/backup/vsphere/cataloging_tapes.html?v ...
Das wäre die GUI Variante.
"cataloging" ist das Schlagwort, mit dem du in den PowerShell Bsp. suchen musst. Dann findet man auch wie man eine Katalogisierung anstößst.
Ich hab es wirklich lange nicht gemacht. Scheint aber nur mit vorheriegen Katalog zu gehen. Nur den hat man entweder oder baut ihn neu auf....
@kreuzberger auch wenn mei Bsp. etwas hinkt, ist es eine schön Übung.
Verschieben von Pool A nach Pool B dauert nicht lange. Ist nur logische Zuordnund Du bekommst ein Gefühl dann für den Code
"Tape 1" <- nur 1 Band "Tape*" alle die mit Tape beginnen, wenn man -like verwendet.
Hast du ein Band mal rasch verschoben passt es doch schon! Du hast eine Sache mit einen Band gemacht. Ach ja, was war das? Richtig! Du sollst ja irgendwie Katalog aufbauen mit einen Band. Etwas anderer Befehl und ab dafür.
Nach einen "Get" kannst du auch mal munter ein " | Select * " schreiben. Und schauen was das Objekt so alles beinhaltet. Datum, UID, Namen, XML .....
Get tut nicht weh. Damit bekommst du ein Gefühl dafür!
Verschieben von Pool A nach Pool B dauert nicht lange. Ist nur logische Zuordnund Du bekommst ein Gefühl dann für den Code
"Tape 1" <- nur 1 Band "Tape*" alle die mit Tape beginnen, wenn man -like verwendet.
Hast du ein Band mal rasch verschoben passt es doch schon! Du hast eine Sache mit einen Band gemacht. Ach ja, was war das? Richtig! Du sollst ja irgendwie Katalog aufbauen mit einen Band. Etwas anderer Befehl und ab dafür.
Nach einen "Get" kannst du auch mal munter ein " | Select * " schreiben. Und schauen was das Objekt so alles beinhaltet. Datum, UID, Namen, XML .....
Get tut nicht weh. Damit bekommst du ein Gefühl dafür!
Moin,
Mal ne blöde Frage: warum musst du das mit der Powershell machen?
Steht dir die GUI nicht zur Verfügung?
Du willst den Prozess ja nicht automatisieren, sondern, so höre ich es raus, einmalig durchführen. Mitunter bist du da für diesen Einzelfall schneller.
Und was willst du genau restoren? Alle Versionsstände auf den Bändern? Was ist auf den Tapes eigentlich drauf? Sind da die 2Disk-Container drauf? Wenn du die widerherstellst, hast du mit der neuen Backup-Software auch nichts gewonnen, denn die müsstest du ja auch noch wiederherstellen! Und wenn du die Backups sauber migrieren willst, dann jeden Versionsstand, der auf den Bändern ist und diesen dann mit der neuen Software ebenfalls sichern…
Mal ne blöde Frage: warum musst du das mit der Powershell machen?
Steht dir die GUI nicht zur Verfügung?
Du willst den Prozess ja nicht automatisieren, sondern, so höre ich es raus, einmalig durchführen. Mitunter bist du da für diesen Einzelfall schneller.
Und was willst du genau restoren? Alle Versionsstände auf den Bändern? Was ist auf den Tapes eigentlich drauf? Sind da die 2Disk-Container drauf? Wenn du die widerherstellst, hast du mit der neuen Backup-Software auch nichts gewonnen, denn die müsstest du ja auch noch wiederherstellen! Und wenn du die Backups sauber migrieren willst, dann jeden Versionsstand, der auf den Bändern ist und diesen dann mit der neuen Software ebenfalls sichern…