Aktionen

Veeam 8.0 Status und Restore etc per Commandline PowerShell abfragen

Aus znilwiki

Version vom 18. Februar 2016, 10:05 Uhr von BLinz (Diskussion | Beiträge) (→‎VM im BackupJob deaktivieren)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Sammlung von Befehlen rund um Veeam 8.0 und der PowerShell.
Ziel bei der Erstellung dieser Sammlung war die Entwicklung einer Skript-gesteuerten Lösung für die Wiederherstellung bestimmter VM' anhand des VM-Namens und/oder die Wiederherstellung einzelner Verzeichnisse aus diesen VM's auf Basis von Debian Linux.



Vorbereitung

Zunächst müssen wir in der PowerShell die Veeam-Erweiterungen laden:

Add-PSSnapin VeeamPSSnapin

Danach stehen die nachfolgenden Befehle zur Verfügung.



Backup Jobs



Liste der vorhandenen Jobs

Die vorhandenen Aufträge bekommt man mit

Get-VBRBackup | Format-Table -AutoSize -Property JobName,TypeToString,CreationTime,VMCount

Ausgabe:

JobName       TypeToString  CreationTime        VmCount
-------       ------------  ------------        -------
QB-Testbackup VMware Backup 12.01.2016 11:14:24       5
ZNIL-Linux    VMware Backup 12.01.2016 12:42:48       3



Das ganz ausführlich:

Get-VBRBackup 
Get-VBRBackup | fl

Ausgabe:

Info                  : Veeam.Backup.Model.CBackupInfo
Id                    : c84839e6-6631-4eab-af9e-54a67f4ad877
JobName               : QB-Testbackup
Name                  : QB-Testbackup
Path                  : QB-Testbackup
CreationTime          : 12.01.2016 11:14:24
LastPointCreationTime : 12.01.2016 11:42:06
VmCount               : 5
JobTargetHostId       : 6745a759-2205-4cd2-b172-8ec8f7e60ef8
JobTargetHostProtocol : Auto
JobType               : Backup
JobSourceType         : VDDK
BackupPlatform        : EVmware
JobTargetType         : Other
TypeToString          : VMware Backup
JobId                 : f185bdf3-f78c-41bd-844c-62c596584aad
RepositoryId          : 88788f9e-d8f5-4eb4-bc4f-9b3f5403bcec
ParentBackupId        :
DirPath               : D:\Backup\QB-Testbackup
MetaFileName          : QB-Testbackup.vbm
MetaUpdateTime        : 12.01.2016 11:45:25
MetaVersion           : 22
IsMetaExist           : True
IsSnapReplica         : False
IsViReplica           : False
IsHvReplica           : False
IsLegacyReplica       : False
IsReplica             : False
IsBackup              : True
IsBackupSync          : False
IsSqlBackup           : False
IsEndPointBackup      : False
IsTapeBackup          : False
DbAccessorId          : 00000000-0000-0000-0000-000000000000
DbMethods             : Veeam.Backup.Core.CLocalDbMethodsInterceptor
LastUsedCryptoSpec    :

Info                  : Veeam.Backup.Model.CBackupInfo
Id                    : 9117d92c-b02a-44fb-978b-d739ec339937
JobName               : ZNIL-Linux
Name                  : ZNIL-Linux
Path                  : ZNIL-Linux
CreationTime          : 12.01.2016 12:42:48
LastPointCreationTime : 12.01.2016 12:45:15
VmCount               : 3
JobTargetHostId       : 6745a759-2205-4cd2-b172-8ec8f7e60ef8
JobTargetHostProtocol : Auto
JobType               : Backup
JobSourceType         : VDDK
BackupPlatform        : EVmware
JobTargetType         : Other
TypeToString          : VMware Backup
JobId                 : abae2aad-6244-49f5-8c6f-ef857a85ca17
RepositoryId          : 88788f9e-d8f5-4eb4-bc4f-9b3f5403bcec
ParentBackupId        :
DirPath               : D:\Backup\ZNIL-Linux
MetaFileName          : ZNIL-Linux.vbm
MetaUpdateTime        : 12.01.2016 12:55:46
MetaVersion           : 10
IsMetaExist           : True
IsSnapReplica         : False
IsViReplica           : False
IsHvReplica           : False
IsLegacyReplica       : False
IsReplica             : False
IsBackup              : True
IsBackupSync          : False
IsSqlBackup           : False
IsEndPointBackup      : False
IsTapeBackup          : False
DbAccessorId          : 00000000-0000-0000-0000-000000000000
DbMethods             : Veeam.Backup.Core.CLocalDbMethodsInterceptor
LastUsedCryptoSpec    :




Liste der VM's in einem BackupJob

Wir wollen nur Wissen welche VMs in einem Job sind:

Get-VBRJob -Name QB-Testbackup | Get-VBRJobObject | Format-Table -Property Name,ApproxSizeString,IsFolder,IsIncluded,IsExcluded,Id -AutoSize

Ausgabe:

Name     ApproxSizeString IsFolder IsIncluded IsExcluded Id
----     ---------------- -------- ---------- ---------- --
QB-DB01  16,0 GB             False       True      False 2a8f37e5-f408-4539-ab38-f7d067dcf462
QB-DB02  16,0 GB             False       True      False 807298fb-8013-453f-8381-e14d4e6439d5
QB-DB03  16,0 GB             False       True      False 10dae9e3-21bf-49cd-8c3e-bd2aed45ab09
QB-NFS01 16,2 GB             False       True      False 3607a20d-ad9e-4a61-b300-3ce0ff4f84f8
QB-NFS02 21,2 GB             False       True      False 2bfcaf55-b1cd-4bff-aef4-58db55c8123e

Die Reihenfolge der Auflistung entspricht auch der Reihenfolge in der die VM's während der Ausführung des Jobs gesichert werden:

Veeam PowerShell EditBackupJob 001.png




VM im BackupJob deaktivieren

Die VM wird nur deaktiviert, nicht komplett aus dem Job entfernt:

Get-VBRJob -Name QB-Testbackup | Get-VBRJobObject -Name QB-DB01 | Remove-VBRJobObject

Ausgabe:

Keine Rückgabe durch den Befehl!

Kontrolle:

Get-VBRJob -Name QB-Testbackup | Get-VBRJobObject | Format-Table -Property Name,ApproxSizeString,IsFolder,IsIncluded,IsExcluded,Id -AutoSize

Ausgabe:

Name     ApproxSizeString IsFolder IsIncluded IsExcluded Id
----     ---------------- -------- ---------- ---------- --
QB-DB01  16,0 GB             False      False       True 2a8f37e5-f408-4539-ab38-f7d067dcf462
QB-DB02  16,0 GB             False       True      False 807298fb-8013-453f-8381-e14d4e6439d5
QB-DB03  16,0 GB             False       True      False 10dae9e3-21bf-49cd-8c3e-bd2aed45ab09
QB-NFS01 16,2 GB             False       True      False 3607a20d-ad9e-4a61-b300-3ce0ff4f84f8
QB-NFS02 21,2 GB             False       True      False 2bfcaf55-b1cd-4bff-aef4-58db55c8123e




VM im BackupJob wieder aktivieren

Important.png
Hinweis: Nein, ich hab noch nicht herausgefunden wie ich die VM wieder per PowerShell aktivieren kann!





VM aus BackupJob löschen

Get-VBRJob -Name QB-Testbackup | Get-VBRJobObject -Name QB-DB01 | Remove-VBRJobObject -Completely

Ausgabe:

Keine Rückgabe durch den Befehl!

Kontrolle:

Get-VBRJob -Name QB-Testbackup | Get-VBRJobObject | Format-Table -Property Name,ApproxSizeString,IsFolder,IsIncluded,IsExcluded,Id -AutoSize

Ausgabe:

Name     ApproxSizeString IsFolder IsIncluded IsExcluded Id
----     ---------------- -------- ---------- ---------- --
QB-DB02  16,0 GB             False       True      False 807298fb-8013-453f-8381-e14d4e6439d5
QB-DB03  16,0 GB             False       True      False 10dae9e3-21bf-49cd-8c3e-bd2aed45ab09
QB-NFS01 16,2 GB             False       True      False 3607a20d-ad9e-4a61-b300-3ce0ff4f84f8
QB-NFS02 21,2 GB             False       True      False 2bfcaf55-b1cd-4bff-aef4-58db55c8123e




VM zum BAckupJob hinzufügen

$BackupJob = Get-VBRJob -Name QB-Testbackup
$VM2Add = Find-VBRViEntity -Name QB-DB01
Add-VBRViJobObject -Job $BackupJob -Entities $VM2Add

Ausgabe:

ConnHost               : Veeam.Backup.Core.Common.CHost
Type                   : Vm
Reference              : vm-2342
Id                     : ab75c9f6-e323-47c8-a486-98b4be26bc83_vm-2342
Name                   : QB-DB01
Path                   : 192.168.244.200\DGHBCS\CS-Cluster\QB-DB01
VmHostName             : csesxi02.dghbcstest.local
VmFolderName           : Questback
IsLegacyFaultTolerance : False
FaultToleranceType     : None
GuestInfo              : Veeam.Backup.Model.CGuestInfo
Uuid                   : 4216e1a4-ced5-e2d9-57b7-26e1108e5a7e
PowerState             : PoweredOn
IsTemplate             : False
ProvisionedSize        : 18428690838
UsedSize               : 18428690261
ConnHostId             : ab75c9f6-e323-47c8-a486-98b4be26bc83


Kontrolle:

Get-VBRJob -Name QB-Testbackup | Get-VBRJobObject | Format-Table -Property Name,ApproxSizeString,IsFolder,IsIncluded,IsExcluded,Id -AutoSize
Name     ApproxSizeString IsFolder IsIncluded IsExcluded Id
----     ---------------- -------- ---------- ---------- --
QB-DB02  16,0 GB             False       True      False 807298fb-8013-453f-8381-e14d4e6439d5
QB-DB01  0,0 KB              False      False       True 2a8f37e5-f408-4539-ab38-f7d067dcf462
QB-DB03  16,0 GB             False       True      False 10dae9e3-21bf-49cd-8c3e-bd2aed45ab09
QB-NFS01 16,2 GB             False       True      False 3607a20d-ad9e-4a61-b300-3ce0ff4f84f8
QB-NFS02 21,2 GB             False       True      False 2bfcaf55-b1cd-4bff-aef4-58db55c8123e
QB-DB01  17,2 GB             False       True      False d1dc7b7b-38c2-4495-9a50-2b89335064be


Wie man sieht werden neue VM's wieder unten an den Job angehängt.
Wie können also auf diese Art die Reihenfolge des Jobs beeinflussen.
Veeam erkennt eine VM die gelöscht und wieder hinzugefügt wurde wieder. Die nächste Sicherung / Laufzeit des BackupJobs unterscheidet sich nicht von den vorherigen Sicherungen.



Wiederherstellungspunkte bzw. Sicherungspunkte

Nachfolgend erhalten wir die in einem BackupJob enthalten vorhandenen Sicherungspunkte, also eine Liste der vorhandenen Backupdatensätze.
Einfach ausgedrückt: Eine Liste der VM's die gesichert wurden und Zeitpunkten zur Wiederherstellung.



Alle VM's in einem Job

Get-VBRBackup -Name "QB-Testbackup" | Get-VBRRestorePoint | Format-Table -Property VmName,CreationTime,Type -AutoSize

Ausgabe:

VmName   CreationTime            Type
------   ------------            ----
QB-DB01  12.01.2016 11:14:58 Rollback
QB-DB02  12.01.2016 11:14:58 Rollback
QB-DB03  12.01.2016 11:21:24 Rollback
QB-NFS01 12.01.2016 11:21:36 Rollback
QB-NFS02 12.01.2016 11:27:15 Rollback
QB-DB01  12.01.2016 11:42:39     Full
QB-DB02  12.01.2016 11:42:39     Full
QB-DB03  12.01.2016 11:43:34     Full
QB-NFS01 12.01.2016 11:43:34     Full
QB-NFS02 12.01.2016 11:44:18     Full


Das ganze noch einmal - aber nach VM's sortiert:
Neueste Sicherung zuerst:

Get-VBRBackup -Name "QB-Testbackup" | Get-VBRRestorePoint | Sort-Object VmName | Format-Table -Property VmName,CreationTime,Type -AutoSize

Älteste Sicherung zuerst:

Get-VBRBackup -Name "QB-Testbackup" | Get-VBRRestorePoint | Sort-Object VmName,CreationTime | Format-Table -Property VmName,CreationTime,Type -AutoSize

Ausgabe:

VmName   CreationTime            Type
------   ------------            ----
QB-DB01  12.01.2016 11:14:58 Rollback
QB-DB01  12.01.2016 11:42:39 Rollback
QB-DB01  12.01.2016 13:18:26     Full
QB-DB02  12.01.2016 11:14:58 Rollback
QB-DB02  12.01.2016 11:42:39 Rollback
QB-DB02  12.01.2016 13:20:00     Full
QB-DB03  12.01.2016 11:21:24 Rollback
QB-DB03  12.01.2016 11:43:34 Rollback
QB-DB03  12.01.2016 13:21:25     Full
QB-NFS01 12.01.2016 11:21:36 Rollback
QB-NFS01 12.01.2016 11:43:34 Rollback
QB-NFS01 12.01.2016 13:22:56     Full
QB-NFS02 12.01.2016 11:27:15 Rollback
QB-NFS02 12.01.2016 11:44:18 Rollback
QB-NFS02 12.01.2016 13:24:27     Full




Für einzelne VM

Das ganze noch einmal - aber nur für eine bestimmte VM:

Get-VBRBackup -Name "QB-Testbackup" | Get-VBRRestorePoint | where {$_.VmName -eq "QB-DB02"} | Sort-Object VmName,CreationTime | Format-Table -Property VmName,CreationTime,Type -AutoSize

Alternativ kann man dem Befehl auch direkt den Namen der VM mitgeben:

Get-VBRRestorePoint -Name "QB-DB02" | Sort-Object VmName,CreationTime | Format-Table -Property VmName,CreationTime,Type -AutoSize

Ausgabe:

VmName  CreationTime            Type
------  ------------            ----
QB-DB02 12.01.2016 11:14:58 Rollback
QB-DB02 12.01.2016 11:42:39 Rollback
QB-DB02 12.01.2016 13:20:00     Full



Die Anzahl der vorhandenen Backups bekommen wir so:

@(Get-VBRBackup -Name "QB-Testbackup" | Get-VBRRestorePoint | where {$_.VmName -eq "QB-DB02"}).Count

Ausgabe:

3



Nur das letzte Backup:

Get-VBRBackup -Name "QB-Testbackup" | Get-VBRRestorePoint | where {$_.VmName -eq "QB-DB02"} | select -Last 1

Alternativ kann man dem Befehl auch direkt den Namen der VM mitgeben:

Get-VBRRestorePoint -Name "QB-DB02" | select -Last 1

Ausgabe:

Info               : Veeam.Backup.Model.COibInfo
Id                 : 4764e324-720e-4e5f-80b8-8eba2e4d9965
LinkIdNullable     :
OriginalOibId      : 4764e324-720e-4e5f-80b8-8eba2e4d9965
LinkId             : 00000000-0000-0000-0000-000000000000
CreationTime       : 12.01.2016 13:20:00
CreationTimeUtc    : 12.01.2016 12:20:00
CreationTimeString : 12.01.2016 13:20:00
Type               : Full
Algorithm          : Syntethic
PointId            : 3c363c0a-666a-43ae-890f-157bc06890ef
ObjectId           : b427ba14-34c5-4c28-8b43-a36a3953a4d4
StorageId          : ec8d66c5-0695-41c1-87d5-b192129badde
InsideDir          : ab75c9f6-e323-47c8-a486-98b4be26bc83 (vm-2345)
FailoverState      :
IsCorrupted        : False
IsConsistent       : True
ApproxSize         : 17197694976
VmName             : QB-DB02
Name               : QB-DB02
State              : Nothing
EffectiveMemoryMb  : 1024
GuestInfo          : Veeam.Backup.Model.CGuestInfo
AuxData            : Veeam.Backup.Core.CViOibAuxData
ParentId           : 00000000-0000-0000-0000-000000000000
DisplayName        : QB-DB02
HvAuxData          :
HasIndex           : True
HasExchange        : False
HasSharePoint      : False
HasSql             : False
HasAd              : False
AdditionalRestore  : {}
Fqdn               :
BackupId           : c84839e6-6631-4eab-af9e-54a67f4ad877
LinkableType       : Oib
IsFull             : True


Das vorletzte Backup bekommt man mit:

Get-VBRRestorePoint -Name "QB-DB02" | select -Skip 1 -Last 1

für die Backups wwiederum davor den Wert von Skip entsprechend anpassen



VMware




Vorhandene ESX-Server ermitteln

Get-VBRServer -Type ESXi | Format-Table -AutoSize -Property Name,Type

Ausgabe:

Name                      Type
----                      ----
esxi-kimsufi.fooken.net   ESXi
esxi-soyoustart.znil.org  ESXi
amd-e-350.znil.local      ESXi
csesxi02.dghbcstest.local ESXi
csesxi01.dghbcstest.local ESXi




Bestimmten ESXi-Server abfragen

Get-VBRServer -Name "csesxi02.dghbcstest.local"

Ausgabe:

Info               : csesxi02.dghbcstest.local (VMware ESXi Server)
ParentId           : ab75c9f6-e323-47c8-a486-98b4be26bc83
Id                 : 777bbf25-1313-4ea5-913a-8516ac2d2b7a
Name               : csesxi02.dghbcstest.local
RealName           : csesxi02.dghbcstest.local
Reference          : host-63
Description        :
IsUnavailable      : False
Type               : ESXi
ApiVersion         : V60
PhysHostId         : 57931a49-b8c9-4b55-822f-8bedeac77491
ProxyServicesCreds :




ResourcePool eines ESXi abfragen

Get-VBRServer -Name "csesxi02.dghbcstest.local" | Find-VBRViResourcePool

Ausgabe:

Important.png
Hinweis: Wenn es keine Rückgabe gibt habt Ihr auch keine Ressourcepools! In diesem Fall müsst ihr den "Standard"-Resourcepool nehmen, siehe weiter unten


ConnHost  : Veeam.Backup.Core.Common.CHost
Type      : ResourcePool
Reference : resgroup-2885
Id        : ab75c9f6-e323-47c8-a486-98b4be26bc83_resgroup-2885
Name      : Test-Ressourcenpool1
Path      : Test-Ressourcenpool1

ConnHost  : Veeam.Backup.Core.Common.CHost
Type      : ResourcePool
Reference : resgroup-2886
Id        : ab75c9f6-e323-47c8-a486-98b4be26bc83_resgroup-2886
Name      : Produktiv-VMs
Path      : Produktiv-VMs



Für die Wiederherstellung brauchen wir einen Zeiger auf den entsprechenden ResourcePool. Habt Ihr keine so muss der Zeiger auf den root-ResourcePool sein:

Find-VBRViEntity -ResourcePools -Name "Resources"

Ausgabe:

ConnHost  : Veeam.Backup.Core.Common.CHost
Type      : ResourcePool
Reference : resgroup-27
Id        : ab75c9f6-e323-47c8-a486-98b4be26bc83_resgroup-27
Name      : Resources
Path      : 192.168.244.200\DGHBCS\CS-Cluster\Resources


Habt Ihr mehrere "Cluster" oder einzelne Hosts so gibt es diesen Resource-Pool auch mehrfach.
Den richtigen wählt Ihr dann so:

Über den Clusternamen (Hier "CS-CLUSTER")

Find-VBRViEntity -ResourcePools -Name "Resources" | Where {$_.Path -like "*CS-Cluster*"}

Im Zweifel lasst euch per

Find-VBRViEntity -ResourcePools

alle bekannten ResourcePools anzeigen und filtert dann mit obiger Methode den gewünschten heraus.



Netzwerke eines ESXi abfragen

Als Tabelle:

Get-VBRServer -Name "csesxi02.dghbcstest.local" | Get-VBRViServerNetworkInfo | Format-Table -AutoSize -Property NetworkName,Id,Type

Ausgabe:

NetworkName    Id                 Type
-----------    --                 ----
LAN-THM        LAN-THM        ViSimple
Kinder         Kinder         ViSimple
LAN-TFOO       LAN-TFOO       ViSimple
LAN-ZNIL       LAN-ZNIL       ViSimple
MANAGEMENT     MANAGEMENT     ViSimple
INTERNET       INTERNET       ViSimple
Dummy          Dummy          ViSimple
LAN-Consulting LAN-Consulting ViSimple



Alle Felder (hier nur für ein bestimmtes Netzwerk):

Get-VBRServer -Name "csesxi02.dghbcstest.local" | Get-VBRViServerNetworkInfo | where {$_.NetworkName -eq "MANAGEMENT"}

Ausgabe:

NetworkName : MANAGEMENT
Id          : MANAGEMENT
Name        : MANAGEMENT
Path        : MANAGEMENT
Type        : ViSimple
NetworkId   :




Linux: Wiederherstellung von Dateien per FLR-Appliance

Anders als bei Windows brauchen wir unter Linux die FLR-Appliance.
Veeam deployed dabei eine kleine Linux-VM welche sich die Festplatten der gesicherten Linux-VM mountet.
Man kann dann über die GUI (falls darüber gestartet) oder über FTP auf die Daten zugreifen.

Passwort für die FLR-Appliance

Der Benutzername ist root, das Password für diesen legen wir im Menü fest:
Veeam-FLR-001.png40x40.pngVeeam-FLR-002.png40x40.pngVeeam-FLR-003.png
Hier dann einfach ein neues Kennwort festlegen!



Start der FLR Appliance

Das ganze in einen Einzeiler zu quetschen ... wäre möglich, aber kompliziert.
Besser ist mal auf den Vorschlag aus dem Veeam Beispielen zu hören und sich das ganze Stück für Stück zusammen zu bauen.
Nachfolgend was wir alles brauchen - und in welche Variablen wir das ganze packen:


Vorbereitung: Stück-für-Stück

  • $BackupJob_Name Name des BackupJobs
  • $VM_Name Name der VM
  • $VM_RestorePoint RestorePoint (welche Sicherung?)
  • $ESXi_Server ESXi-Server auf die FLR-Appliance gestartet werden soll
  • $ESXi_NetworkInfo Netzwerk in das die FLR-Appliance soll - muss vom Veeam-Server aus erreichbar sein
  • $ESXi_ResourcePool Ressource-Pool in welchen die Appliance gestartet werden soll
  • $FLR_IP IP-Adresse welche die FLR-Appliance bekommen soll
  • $FLR_NetworkMask und die dazu gehörige Netzwerkmaske
  • $FLR_Gateway und das Standardgateway
  • $FLR_FTP ob der FTP-Zugang gstartet werden soll ($True/$False)
  • $FLR_Appliance nach dem Start der FLR-Appliance steht hier der Zeiger drin welchen wir zum Stoppen dieser benötigen
Important.png
Hinweis: Wenn Ihr eine Fehlermedlung wie
Sie müssen auf der rechten Seite des Operators "-" einen Wertausdruck angeben. bekommt: Unterstriche, nicht Bindestriche in den Variablen-Namen!





$BackupJob_Name:
Der Name des Jobs aus der Übersicht in der GUI oder wie er in der Abfrage in der Powershell ausgegeben wird, siehe auch #Liste_der_vorhandenen_Jobs

$BackupJob_Name = "QB-Testbackup"



$VM_Name:
Der Name der VM wie diese in der VMware vSphere Webconsole oder im vSphere Client dargesteellt wird.
Kann auch aus dem BackupJob ausgelesen werden: RestorePoints für einzelne VM

$VM_Name = "QB-DB01"



$VM_RestorePoint:
Der Name des RestorePoints den die FLR-Appliance mounten soll, siehe auch RestorePoints für einzelne VM
Hier nehmen wir die letzte Sicherung:

$VM_RestorePoint = Get-VBRRestorePoint -Name "QB-DB02" | select -Last 1



$ESXi_Server:
Der ESXi-Server auf welchen die Appliance gestartet werden soll. Siehe auch #Bestimmten_ESXi-Server_abfragen

$ESXi_Server = Get-VBRServer -Name "csesxi02.dghbcstest.local"



$ESXi_NetworkInfo:
Das Netzwerk mit dem die FLR-Appliance verbunden werden soll, siehe auch #Netzwerke_eines_ESXi_abfragen

$ESXi_NetworkInfo = Get-VBRServer -Name "csesxi02.dghbcstest.local" | Get-VBRViServerNetworkInfo | where {$_.NetworkName -eq "MANAGEMENT"}



$ESXi-ResourcePool:
Der Ressourcenpool in welchem die FLR-Appliance gestartet werden soll. Habt ihr keinen so nehmt den root-ResourcePool!
Siehe auch #Resource_Pools_eines_ESXi_abfragen
Bestimmter Resource-Pool:

$ESXi_ResourcePool = Find-VBRViEntity -ResourcePools -Name "VeeamPool"

root-ResourcePool:

$ESXi_ResourcePool = Find-VBRViEntity -ResourcePools -Name "Resources"

root-ResourcePool eines bestimmten Pfades, zum Beispiel Cluster:

$ESXi_ResourcePool = Find-VBRViEntity -ResourcePools -Name "Resources" | Where {$_.Path -like "*CS-Cluster*"}




$FLR_IP:
IP-Adresse der Appliance. Werden die Netzwerk-Parameter weggelassen so wird DHCP verwendet

$FLR_IP = "192.168.244.13"



$FLR_Gateway:
und noch das Standardgateway:

$FLR_Gateway = "192.168.244.1"



$FLR_NetworkMask:
Subnetmaske dazu:

$FLR_NetworkMask = "255.255.255.0"



$FLR_FTP:
Startet den FTP-Server innerhalb der Appliance:

$FLR_FTP = -EnableFTP



Vorbereitung: Zusammenfassung

Hier noch einmal alle Parameter am Stück:

$VM_Name = "QB-DB01"
$VM_RestorePoint = Get-VBRRestorePoint -Name "$VM_Name" | select -Last 1
$ESXi_Server = Get-VBRServer -Name "csesxi02.dghbcstest.local"
$ESXi_NetworkInfo = Get-VBRServer -Name "csesxi02.dghbcstest.local" | Get-VBRViServerNetworkInfo | where {$_.NetworkName -eq "MANAGEMENT"}
$ESXi_ResourcePool = Find-VBRViEntity -ResourcePools -Name "Resources" | Where {$_.Path -like "*CS-Cluster*"}
$FLR_IP = "192.168.244.13"
$FLR_NetworkMask = "255.255.255.0"
$FLR_Gateway = "192.168.244.1"




Start der FLR-Appliance

Nachdem wir zuvor alle unsere Variablen gefüllt haben sind wir bereit für den Start:

$FLR_Appliance = Start-VBRLinuxFileRestore -RestorePoint $VM_RestorePoint -Server $ESXi_Server -ResourcePool $ESXi_ResourcePool -NetworkInfo $ESXi_NetworkInfo -IP $FLR_IP -NetworkMask $FLR_NetworkMask -Gateway $FLR_Gateway -EnableFTP


In der Variablen $FLR_Appliance ist nun ein Zeiger auf die Appliance/den Restore Vorgang:

$FLR_Appliance | fl

Ausgabe:

RestoreSession       : Veeam.Backup.Core.CRestoreSession
IsSessionSuccessfull :
Exception            :
ProgressMessage      : Starting up appliance...


Lasst euch nicht von der ProgressMessage verunsichern - wenn der Prompt zurück kam läuft die Kiste.
Nun kann man per FTP auf die FLR-Appliance zugreifen um an die Daten zu kommen:

Veeam-FLR-004.png


Der Pfad innerhalb der FTP-Sitzung zum / ist immer der VM-Name + -root, in diesem Fall also

/QB-DB03-root/




Stoppen der FLR-Appliance

Zum einen geht das über die GUI:

Veeam-FLR-005.png


Aber natürlich auch wieder in unserer PowerShell-Sitzung:

Stop-VBRLinuxFileRestore -LinuxFlrObject $FLR_Appliance