none
Syntax Start-WBHyperVRecovery ? RRS feed

Antworten

  • Hi,

    das Script nutzt das windows-interne Backup. Dieses nutzt vhd-Dateien zur Speicherung der Backups. Der einfachste Weg für dich wäre, dir die Daten der VM aus dieser Backup-VHD zu holen und an eine neue Maschine anzuhängen. Alternativ benutz die GUI, evtl. ist die Sicherung der aufgeführt und kann zurückgesichert werden.

    Die Beschreibung des PowerShell-Befehls ist eigentlich ok, wenn auch relativ aufwendig. Mit den korrekten Parametern solltest du eine Wiederherstellung hinbekommen. Nehmen wir uns den Befehl und insbesondere das zweite Beispiel mal vor:

    Example 2: Recover a VM to an alternate location
    This example recovers a VM to an alternate location.
    The first command gets the backup set object from the system catalog and stores it in the variable named $Backup.
    The second command recovers the VM that has the ID F7D8AAF4-D086-47CC-8264-61F80527BFF4 to an alternate location.

    Die VM soll ein einen anderen Standort wiederhergestellt werden. Der erste der beiden Befehle lautet

    $Backup = Get-WBBackupSet

    In die Variable $Backup werden die Informationen geschrieben, die ein Aufruf von "Get-WBBackupSet" erzeugt. Ruf mal den Befehl

    Get-WBBackupSet

    auf und schau dir mal die Ausgabe an. Dort sollten deine Sicherungen enthalten sein.

    Weiter mit dem Befehl. Laut Beispiel soll die VM mit der GUID "F7D8AAF4-D086-47CC-8264-61F80527BFF4" wiederhergestellt werden. Deine Aufgabe ist es nun herauszufinden, welche GUID deine VM hat. Dies bitte notieren, weiter gehts. Der Befehl zur Wiederherstellung lautet:

    Start-WBHyperVRecovery -BackupSet $Backup -VMInBackup $Backup.Application[0].Component[1] -RecoveryTarget F:\Dir1 -AlternateLocation -RecreatePathWARNING: The virtual machines may not start if the network settings aredifferent after recovery. Verify the settings of the virtual machines usingHyperV manager before attempting to start.WARNING: If a virtual machine you are trying to recover to alternate locationwas backed up from this host, this will delete and overwrite the originalvirtual machine if it still exists.WarningStart recovery of application HyperV to F:\dir1 ?[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): YRecovering component F7D8AAF4-D086-47CC-8264-61F80527BFF4 :Recovering component F7D8AAF4-D086-47CC-8264-61F80527BFF4 : Preparing to recover.Completed.

    Das Ganze ist ein bisschen lang und beinhaltet, denke ich, die Aufgabe des Befehls. Der korrekte Befehl müsste lauten:

    Start-WBHyperVRecovery -BackupSet $Backup -VMInBackup $Backup.Application[0].Component[1] -RecoveryTarget F:\Dir1 -AlternateLocation -RecreatePath

    Die Werte hinter "-VMInBackup" müssen vermutlich angepasst werden, falls mehrere VMs aufgelistet werden. Einfach mal ein bisschen probieren.

    Gruß, Jan

    P.S. Google fragen bringt nichts, die erste Seite bringt entweder die von dir aufgeführte Hilfe im TechNet oder Blogs, in denen überall das gleiche steht, nämlich das dieses CmdLet funktioniert. Wirklich probiert scheint es noch kaum jemand zu haben...


    Autor, MCITP Windows Server 2008 R2 Virtualization Administrator, MCITP Server & Enterprise Administrator, MCITP Exchange 2010, Blogger @ technikblog.rachfahl.de ,Blogger @ www.hyper-v-server.de & DJ

    Freitag, 19. April 2013 20:24
    Moderator

Alle Antworten

  • Hi,

    das Script nutzt das windows-interne Backup. Dieses nutzt vhd-Dateien zur Speicherung der Backups. Der einfachste Weg für dich wäre, dir die Daten der VM aus dieser Backup-VHD zu holen und an eine neue Maschine anzuhängen. Alternativ benutz die GUI, evtl. ist die Sicherung der aufgeführt und kann zurückgesichert werden.

    Die Beschreibung des PowerShell-Befehls ist eigentlich ok, wenn auch relativ aufwendig. Mit den korrekten Parametern solltest du eine Wiederherstellung hinbekommen. Nehmen wir uns den Befehl und insbesondere das zweite Beispiel mal vor:

    Example 2: Recover a VM to an alternate location
    This example recovers a VM to an alternate location.
    The first command gets the backup set object from the system catalog and stores it in the variable named $Backup.
    The second command recovers the VM that has the ID F7D8AAF4-D086-47CC-8264-61F80527BFF4 to an alternate location.

    Die VM soll ein einen anderen Standort wiederhergestellt werden. Der erste der beiden Befehle lautet

    $Backup = Get-WBBackupSet

    In die Variable $Backup werden die Informationen geschrieben, die ein Aufruf von "Get-WBBackupSet" erzeugt. Ruf mal den Befehl

    Get-WBBackupSet

    auf und schau dir mal die Ausgabe an. Dort sollten deine Sicherungen enthalten sein.

    Weiter mit dem Befehl. Laut Beispiel soll die VM mit der GUID "F7D8AAF4-D086-47CC-8264-61F80527BFF4" wiederhergestellt werden. Deine Aufgabe ist es nun herauszufinden, welche GUID deine VM hat. Dies bitte notieren, weiter gehts. Der Befehl zur Wiederherstellung lautet:

    Start-WBHyperVRecovery -BackupSet $Backup -VMInBackup $Backup.Application[0].Component[1] -RecoveryTarget F:\Dir1 -AlternateLocation -RecreatePathWARNING: The virtual machines may not start if the network settings aredifferent after recovery. Verify the settings of the virtual machines usingHyperV manager before attempting to start.WARNING: If a virtual machine you are trying to recover to alternate locationwas backed up from this host, this will delete and overwrite the originalvirtual machine if it still exists.WarningStart recovery of application HyperV to F:\dir1 ?[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): YRecovering component F7D8AAF4-D086-47CC-8264-61F80527BFF4 :Recovering component F7D8AAF4-D086-47CC-8264-61F80527BFF4 : Preparing to recover.Completed.

    Das Ganze ist ein bisschen lang und beinhaltet, denke ich, die Aufgabe des Befehls. Der korrekte Befehl müsste lauten:

    Start-WBHyperVRecovery -BackupSet $Backup -VMInBackup $Backup.Application[0].Component[1] -RecoveryTarget F:\Dir1 -AlternateLocation -RecreatePath

    Die Werte hinter "-VMInBackup" müssen vermutlich angepasst werden, falls mehrere VMs aufgelistet werden. Einfach mal ein bisschen probieren.

    Gruß, Jan

    P.S. Google fragen bringt nichts, die erste Seite bringt entweder die von dir aufgeführte Hilfe im TechNet oder Blogs, in denen überall das gleiche steht, nämlich das dieses CmdLet funktioniert. Wirklich probiert scheint es noch kaum jemand zu haben...


    Autor, MCITP Windows Server 2008 R2 Virtualization Administrator, MCITP Server & Enterprise Administrator, MCITP Exchange 2010, Blogger @ technikblog.rachfahl.de ,Blogger @ www.hyper-v-server.de & DJ

    Freitag, 19. April 2013 20:24
    Moderator
  • Hallo,

    der Fehler lag im component[1]. 

    Ein $Backup.Application liefert folgendes:

    Identifier                                        WriterId                                          Component
    ----------                                        --------                                          ---------
    HyperV                                            66841cd4-6ded-4f4b-8f17-fd23f8ddc3de              {Win7Test}

    Folgender Befehl funktioniert:

    Start-WbHyperVRecovery -BackupSet $Backup -VMInbackup $Backup.Application[0].component[0]

    Gruß, Daniel

    Dienstag, 23. April 2013 09:23
  • Hi,

    wie ich vermutet habe :)

    Gruß, Jan


    Autor, MCITP Windows Server 2008 R2 Virtualization Administrator, MCITP Server & Enterprise Administrator, MCITP Exchange 2010, Blogger @ technikblog.rachfahl.de ,Blogger @ www.hyper-v-server.de & DJ

    Mittwoch, 24. April 2013 11:34
    Moderator