Forum Discussion

arsalanali's avatar
arsalanali
Level 4
9 years ago

BMR Restore issues

Hello everyone,

Environment:

NBU Server:

OS: Windows 2008 R2  (VM hosted on ESX)

Source Client: Windows 2008 R2 (VM hosted on ESX) Hard disk: 3 (20G, 5G, 10G)

Destination Client: Windows 2008 R2 (VM hosted on ESX) Hard disk: 01 (40G)

NBU Server and Client version: 7.6.0.4

What i did:

I took a full "BMR Option enabled" backup of client with "ALL LOCAL DRIVES" directive, and it completed with status code 0.

As this is DSR restore, i copied the current config to eiditable one and made changes to NIC Mac and ran "Prepare to discover" option.

New config is discovered, now edited the config and changed Disk layout to match it with the source one.

Ran prepare to restore.

Issues:

Now when i rebooted the destination client using PXE boot, it started the process, but when it detected Dissimilar disks, it opened DDR utility insted of using the disk layout which i provided in Configuration. 

anyhow, i created the same disk layout that i created in config using DDR.

After successfully partitioning the disks, it gave an error "The restore stopped due to following error <?>".

I have attached the screenshots and bmrrst logs.

Please help me diagnose the problem.

Waiting for you kind response.

Regards,

  • Well here is why it went into DDR.

    "

     DEBUG ddr_detect.cpp:IsDissimilarDiskRestore() The saved and discovered disks do not match, running DDR,"

    Did you initialize the edited config with the discovered config?

     

    Now to the meat of it:

    2 DEBUG CWindowsVdsFacade.cpp:importDisk() Could not find disk pack for disk \Device\Harddisk0
    1 DEBUG CWindowsVdsFacade.cpp:getPack() Failed to get disk pack for disk ID: 26b92f66-62d2-4d6e-b1a8-b10e907142bb
    2 DEBUG CWindowsVdsFacade.cpp:importDisk() Failed to add disk \Device\Harddisk0 into basic disk pack.
    2 DEBUG CWindowsVdsFacade.cpp:clearDisk() Could not import disk.
    3 DEBUG CWinPeLdmDiskRestoreWorker.cpp:clearDisk() Could not clear the disk, rc=10004
    	Root Cause: <?>
    3 DEBUG CWindowsLdmDiskRestoreWorker.cpp:initializeDisk() Could not clear the discovered disk, name=\Device\Harddisk0, rc=1
    3 DEBUG CWindowsLdmDiskRestoreWorker.cpp:createDiskGroups() Could not initialize disk, name=\Device\Harddisk0, rc=1
    3 DEBUG CWindowsRestoreStrategy.cpp:configureDisks() Disk configuration step failed.
    4 DEBUG CWindowsRestoreStrategy.cpp:retry() Retrying disk step: Create Disk Groups
    4 DEBUG CWinPeDiskRestoreStrategy.cpp:updateStep() Retrying...
    4 DEBUG CWinPeDiskRestoreStrategy.cpp:step() Current step=Create Disk Groups
    1 DEBUG CWindowsVdsFacade.cpp:IsDynamic() GetPack failed, ret=-2147212265

     

    There was an issue in 7.6 that should have been resolved in 7.6.0.2, but for sure was added to 7.6.1 bmrrst code that involved checking disks on a newly created vm to find out if they were dynamic or not which was hindered by the new disk being un-intialized.

    The following did result in a workaround. (Let me know if you need infomration on how to bring up a command prompt on the booted restore environment.

    Workaround:

    At time of failure, bring up a command prompt on the client and perform the following commands:

    diskpart 
    select disk 0 
    clean all 
    create part primary 
    active 
    format fs=ntfs quick 
    assign letter=c:

    Then restart the restore.

  • Well here is why it went into DDR.

    "

     DEBUG ddr_detect.cpp:IsDissimilarDiskRestore() The saved and discovered disks do not match, running DDR,"

    Did you initialize the edited config with the discovered config?

     

    Now to the meat of it:

    2 DEBUG CWindowsVdsFacade.cpp:importDisk() Could not find disk pack for disk \Device\Harddisk0
    1 DEBUG CWindowsVdsFacade.cpp:getPack() Failed to get disk pack for disk ID: 26b92f66-62d2-4d6e-b1a8-b10e907142bb
    2 DEBUG CWindowsVdsFacade.cpp:importDisk() Failed to add disk \Device\Harddisk0 into basic disk pack.
    2 DEBUG CWindowsVdsFacade.cpp:clearDisk() Could not import disk.
    3 DEBUG CWinPeLdmDiskRestoreWorker.cpp:clearDisk() Could not clear the disk, rc=10004
    	Root Cause: <?>
    3 DEBUG CWindowsLdmDiskRestoreWorker.cpp:initializeDisk() Could not clear the discovered disk, name=\Device\Harddisk0, rc=1
    3 DEBUG CWindowsLdmDiskRestoreWorker.cpp:createDiskGroups() Could not initialize disk, name=\Device\Harddisk0, rc=1
    3 DEBUG CWindowsRestoreStrategy.cpp:configureDisks() Disk configuration step failed.
    4 DEBUG CWindowsRestoreStrategy.cpp:retry() Retrying disk step: Create Disk Groups
    4 DEBUG CWinPeDiskRestoreStrategy.cpp:updateStep() Retrying...
    4 DEBUG CWinPeDiskRestoreStrategy.cpp:step() Current step=Create Disk Groups
    1 DEBUG CWindowsVdsFacade.cpp:IsDynamic() GetPack failed, ret=-2147212265

     

    There was an issue in 7.6 that should have been resolved in 7.6.0.2, but for sure was added to 7.6.1 bmrrst code that involved checking disks on a newly created vm to find out if they were dynamic or not which was hindered by the new disk being un-intialized.

    The following did result in a workaround. (Let me know if you need infomration on how to bring up a command prompt on the booted restore environment.

    Workaround:

    At time of failure, bring up a command prompt on the client and perform the following commands:

    diskpart 
    select disk 0 
    clean all 
    create part primary 
    active 
    format fs=ntfs quick 
    assign letter=c:

    Then restart the restore.

  • Thanx mnolan.

     

    Yeah i did initialize the disk with the discoverd config. and i also read on the forum that there was an issue with 7.6.0.1 so i updated mine to 7.6.0.4 but even after that i am getting the error. 

     

    Ok i'll try your workaround and let you know.

     

     

    Regards,

  • Hello mnolan,

     

    Your workaround worked for me, many thanks.

    But i am curious if this Disk error  thing is NBU version specific or VM based Disk specific !!

    BMR ran successfully after those commands and restored the OS with all the disk mapping specified in the config.

     

     

    Regards,