Salta al contenuto principale

How does Acronis Backup & Rescovery 11.5 automatically align partitions?

Thread needs solution

I was wondering if anyone could shine some light on what is going on behind the scenes when Acronis attempts to match up disk partitions with backed up partitions. It seems to have little or nothing to do with the name of the logical volumes as all of our backups are done on logical volumes and then restored to logical volumes of the same name. Sometimes it matches up the two perfectly, other times it can't match any of them. I'm trying to get a grasp on how these matches are attempted to be made so that I can determine the best course of action to have the best probability of Acronis figuring out where to restore my backups without having to go through the motions to tell it where to put them.

Thank you.

0 Users found this helpful

Hi

Disks are compared by NT signature.

Volume mapping:

  • MBR non-dynamic volumes are compared by size and offset on the disk.
  • GPT non-dynamic volumes are compared by GPT GUID (Global Unique Identifier).
  • LVM volumes are compared by LVM GUID. If GUIDs are not equal, then volumes are compared by name and size.
  • LDM volumes are compared by GUID. If GUIDs are not equal, then volume parts are compared by size and offset on each disk.
  • MD devices are compared by device path (for devices which device path matches regular expression "/dev/md\d*"). Otherwise, MD devices are compared by name (e.g. "mdp1") and size.

Thank you for your response however in my experience this is not working in this fashion. I am using LVM with identical LV Names. Acronis is not mapping my backups to a new clone servers identically named lv. The volume group names are different but the logical volume names themselves are identical. I do not believe that I can set a custom UUID on an lv but it is not correctly mapping based on matching lv names. Any ideas?

Thank you.

We comparing LVMs by name AND by size. This means that name and size should be equal (size +- 2MB). If only names are equal than volumes will not be mapped.

I think that correct algorithm in you case is to recover LVM structure using ""Apply RAID/LVM structure" functionality in bootable media. Then recover volumes. In this case volumes should be mapped correctly.

Can you do the following:

  • get list of disks from target server using "acrocmd list disks --output=raw"
  • get list of disks from archive using "acrocmd list content --output=raw "
  • send sysinfo from target machine

Thank you once again for your response which does explain why this is not working in our environment. Our LV sizes are often adjusted on the fly to accommodate requirements of the day, whatever they might be, so our volumes may be different in size, up to a few GB, one day to the next. That being said, we are highly unlikely to have a backup that is within +/- 2MB from the system we are trying to restore to, even if it is the same physical server as the backup was taken from.

Is there any way to nudge Acronis in the right direction? Perhaps a map to tell it which partitions to map to which volumes? Either that or an override to tell it just so long as the LVs have the same name just map them accordingly?

Thank you.

You can map volumes manually either using GUI or command line, if target volumes is equal or bigger.

The problem is that it takes a long time to do manually. We have around 30 volumes per server. The volume names never change but the volume sizes do, often. I'd like to somehow script this process so I don't have to search for and click on 30 volumes on each restore. I run up to four of these a day 5 days a week and I probably spend 2-3 hours per week doing this part of the process alone. It would be really helpful if I could override the LV size requirement for it to map appropriately. Having the volume names the same seems to me like it would be enough for it to assume that is where you want it anyways but I'm sure it is the way it is for a reason. I'd just like to be able to override this behavior for my particular needs.

Thank you. I appreciate all of your help over the last several days.

If you do it often, you can automate the recovery process using "acrocmd" - our command line tool.
You can create the script that will do the following:

  1. Get list of volumes in the backup using command acrocmd list content --loc=/a/ --arc=lvm --output=raw
  2. Get list of volumes in the target machine using command acrocmd list content --loc=/a/ --arc=lvm --output=raw
  3. Map backed up volumes to target volumes using LV names
  4. Recover volumes using acrocmd recover disk command

This script should be started in the bootable media. You can even inject this script into the media template file before creating the media using Media Builder. In this case this script will be already on the media when you boot the machine.

Also, using scripting it is possible to customize media further:
when machine is booted into the media, menu can be shown:

  1. Recover automatically (default, 15 seconds timeout)
  2. Start GUI

To customize media (to put script into the media), use media_tools.

LVM volumes are compared by LVM GUID. If GUIDs are not equal, then volumes are compared by name and size.

OK, so how can I recreate LVM volumes on a new server with the same GUID that acronis will be looking for so that it can match up the volumes on its own?

I have read through the LVM documentation that you sent me but I cannot find any references to GUID in any of it.  I only see references to UUID but when I look at the UUID of the LVM and the GUID of the backup of that same LVM they do not match.  I am confused where this GUID is coming from when the backup is created and where it is looking for the GUID when it attempts to match up the volumes during a restore.

Thank you.

I doubt that you can create logical volume (don't mess with physical volume) with specific UUID.

 

To view logical volume UUID use command "lvdisplay"

 

To solve your problem create logical volumes with the same name and size as in the backup. Then start recovery process.
 

I was referring to your comment that first GUID's are compared.  I could not find this in any Acronis documentation so I was wondering if you could elaborate on that comment.  I am trying to restore to dis-similar hardware so we are resizing the volumes on the new hardware so we are trying to rely solely on the name of the volume as opposed to the name/size combination.  I figured if I could force a GUID match that may be the solution we so badly need.  Our volumes are at or near capacity so we need to resize them to make room for new software which is why our volumes on the new servers we are restoring to are much larger than the volumes that we are taking our backups from.  I would imagine this is a fairly common case for both bare metal builds as well as hardware upgrades.

On another note I am also having trouble mounting backups as a filesystem.  I am using the following command from the Acronis linux based bootable media.  This is directly from the 11.5 documentation:

acrocmd mount --mount_point=/mnt/backups --loc=sdb1:/ --arc=my_archive --volume=Dyn1

I receive the following error: The type of location is unsupported.

I've relocated the backup that I'm trying to mount to an nfs share and tried the following command and I still get the same error.

acrocmd mount --mount_point=/mnt/backups --loc=nfs://192.168.1.100/backups:/ --arc=my_archive --volume=Dyn1

Then I tried relocating the backup to the local filesystem and altered the command yet again and I still receive the same exact error.

acrocmd mount --mount_point=/mnt/backups --loc=/home/backups --arc=my_archive --volume=Dyn1

I've tried substituting 1-1 for Dyn1, using other dynamic volume names, alternate mount points and nothing I try seems to work in regard to mounting a backup to the local filesystem.

Thank you.

Currently we check both LVM volume name and size. There is no way to override this.

 

What you can do is to manually (using scripting) map backed up volumes to newly created volumes.

 

Regarding mounting - I will check are we support mounting inside our media. Mounting is definetely supported on live Linux machine where our Agent for Linux is installed. It is not the same as mounting inside bootable media.
 

Ramil Yusupov wrote:

Currently we check both LVM volume name and size. There is no way to override this.

 

What you can do is to manually (using scripting) map backed up volumes to newly created volumes.

I know that we've gone around on this a few times already but it is disappointing that there are no examples on what the best practices are in terms of how to go about doing this.  The documentation you have referred me to is specific to LVM and has nothing to do with Acronis.  What I need to see is how exactly you are suggesting I create new larger LVM volumes and then tell Acronis which volume to restore to which new LVM.  I have been unable to find a single example of some type of a loop which would do the matching and assemble the string of volumes to pass to the 'acrocmd recover disks' command via the --volume and --target_volume parameters.

Just say for example this is the layout of the existing system which will be backed up:

/dev/sda

  /dev/sda1 150MB /boot filesystem

  /dev/sda2 400GB LVM Member

/dev/sdb

  /dev/sdb1 400GB LVM Member

/dev/sdc

  /dev/sdc1 400GB LVM Member

 

LVM pv's

/dev/sda2

/dev/sdb1

/dev/sdc1

 

LVM vg's

vg01 on /dev/sda2

vg02 on /dev/sdb1

vg03 on /dev/sdc1

 

LVM lv's

vg01

  lv01 100GB

  lv02 100GB

  lv03 200GB

vg02

  lv11 100GB

  lv12 100GB

  lv13 200GB

vg03

  lv21 100GB

  lv22 100GB

  lv23 200GB

 

And we want the new system to look like this:

/dev/sda

  /dev/sda1 150MB /boot filesystem

  /dev/sda2 1TB LVM Member

/dev/sdb

  /dev/sdb1 1TB LVM Member

LVM pv's

/dev/sda2

/dev/sdb1

 

LVM vg's

vg01 on /dev/sda2

vg02 on /dev/sdb1

 

LVM lv's

vg01

  lv01 200GB

  lv02 200GB

  lv03 400GB

vg02

  lv11 200GB

  lv12 200GB

  lv13 400GB

  lv21 200GB

  lv22 200GB

  lv23 400GB

So we have fewer physical drives but they are much larger than the old drives.  We also are consolodating vg's because of the reduced number of physical drives.  We are at the same time expanding all of the filesystems.  Where can I see some example code on how this would be scripted?  What I primarily need is just an example loop which would run through an 'acrocmd list content' of a backup and as it loops through each volume show how then new volumes will be mapped to the old.  I've been working on this for several weeks and unfortunately with all of the roadblocks I have not gotten very far.

Thank you.