Aktionen

Veeam Tape Library Bänder aus Mailslot automatisch importieren

Aus znilwiki

Ausgangslage

Wir haben eine Tape Library in Veeam mit Mailslots. Das Exportieren innerhalb des Backup-to-Tapes Jobs klappt ganz wunderbar.
Cool wäre das er beim entnehmen der Bänder aus dem Mailslots einfach dort die neuen wieder einlegt und diese dann auch automatisch wieder importiert.
Das ist die Tape Library in Veeam:

ClipCapIt-210111-151625.PNG



Lösung 1

Das geht - Stand 11.01.2021 mit Veeam 10 / 11 / 12 - nur per Powershell.

Das Skript

Wir erstellen folgende Datei

C:\Scripts\VeeamTapeImport.ps1

mit folgendem Inhalt:

# Load Veeam Powershell Extensions
# In neueren Veeam Versionen (11 und höher) nicht mehr notwendig und deshalb auskommentiert
# Add-PSSnapin VeeamPSSnapin
# Connect to local Server
Connect-VBRServer
# Wait a Moment
timeout 5
# Get TapeLibrary and Import Tapes from Mediaslots
Get-VBRTapeLibrary -Name "IBM 3573-TL 1400" | Import-VBRTapeMedium
# Disconnect
Disconnect-VBRServer

Der Parameter -Name - dort müsst Ihr den Namen der Library eintragen wie er auch in der Veeam Console angezeigt wird (markieren, F2 drücken und kopieren)

Alternativ: Hier eine Version die nur Wochentags importiert, nicht am Wochenende:

$Wochentag = Get-Date -Format "dddd"
If (($Wochentag -notlike "Samstag") -And ($Wochentag -notlike "Sonntag")) {
    # Connect to local Server
    Connect-VBRServer
    # Wait a Moment
    timeout 5
    # Get TapeLibrary and Import Tapes from Mediaslots
    Get-VBRTapeLibrary -Name "IBM 3573-TL 1400" | Import-VBRTapeMedium
    # Disconnect
    Disconnect-VBRServer
}

Auf einem englischen System solltet Ihr die Bezeichnungen für Samstag und Sonntag entsprechend anpassen.


Die Aufgabe

In der Aufgabenplanung erstellen wir einen neue Aufgabe per Aufgabe erstellen

ClipCapIt-210111-152059.PNG
ClipCapIt-210111-152144.PNG
ClipCapIt-210111-152220.PNG
ClipCapIt-210111-152258.PNG
ClipCapIt-210111-152258.PNG
powershell.exe
-ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -WindowStyle Hidden -File C:\Scripts\VeeamTapeImport.ps1
ClipCapIt-210111-152432.PNG
ClipCapIt-210111-152500.PNG



Lösung 2: bei MFA etc.

Das mit dem PowerShell-Skript funktioniert.
Jedoch hatte ich mit dem Ausführen Bauchschmerzen. Denn inzwischen ist bei vielen Kunden der Zugriff zu Veeam eingeschränkt. Der Benutzer Administrator darf nicht mehr dran, die Benutzer haben alle MFA aktiviert und jeder Admin sein eigenes Konto.
Man kann zwar ein Dienstkonto in Veeam definieren bei dem man MFA deaktiviert. Das muss aber auch die Administratoren-Rolle haben, sonst ist der PowerShell-Zugriff nicht erlaubt. Das Konto darf also alles, inklusive Anmeldung an der Managementkonsole.
Die Lösung: Wir hängen das Skript einfach an einen Backup-Job:

ClipCapIt-250219-140658.PNG

In einem Job unter

Storage => Advanced Settings => Scripts

lassen wir das Skript vor oder nach einem beliebigen Job laufen.
Als Befehlszeile die gleiche wie man diese auch in Lösung 1 in der Aufgabenplanung eingerichtet hätte:

powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -WindowStyle Hidden -File C:\Scripts\VeeamTapeImport.ps1
ClipCapIt-250219-141043.PNG
ClipCapIt-250219-141250.PNG

Testen

Startet die Aufgabe einmal von Hand oder das PowerShell-Skript per Doppelklick oder aus der Shell heraus.
In Veeam in den Logs (z.B. Last 24 Hours) sollte die Importversuche zu sehen sein:

ClipCapIt-210111-152832.PNG



Kommentare

Loading comments...