Get Virtualizor

How incremental backup works?


Basic Overview

Incremental backup refers to backup the changes of the data on the basis of last backup (maybe full or incremental backup). Since the changes are limited, the incremental backup is much smaller and quicker than a full backup. So, when a full recovery is needed, the restoration process would need the last backup plus all its incremental backups until the point-in-time of the restoration.

Note

When the license expires for backuply and you fail to renew it then restore will not work for backup files taken using backuply option

And for backups, it will switch backup to legacy mode and continue.

Backuply license is needed for Master panel and also for the slave servers for which you want to use backups.


Note

Please enable guest agent in VM for better accuracy


Requirements

  • Supported Virtualization:
    KVM
    Virtuozzo KVM (Only in VHS paid version)
    Virtuozzo Container (Only in VHS paid version)
    Proxmox KVM
  • Supported Storage:
    File-based
    LVM-based

Understanding incremental backups in virtualizor

Incremental backups are very small sized backups which consist of changes made since the previous incremental backup. For the incremental backup to take place, a full backup is mandatory. Once a full backup is taken, next backup process will produce small(depends on the changes made since the previous backup) incremental backups which will be linked to the full backup.


A set of incremental backups and its corresponding linked full backup is called as chain. Virtualizor will maintain these chains for each virtual machines in their own separate database. A new chain will be created in case if the VM is shutdowns or restarts or is restored.

Chain 1

Let’s consider the above example where source disk is the VPS disk. If we take an Incremental backup for this disk, then a new chain is created where initially a full backup is created. Now if we take an incremental backup again, it will now create a small backup i.e., inc0. As you further take more incremental backup, more inc backup files will be created. Inc backups will keep adding to the existing chain unless and until the chain point broken. If the chain point is broken due to VM shutdown or restart, a new chain will be created.


In Virtualizor, backup folder structure for KVM and Virtuozzo KVM is as follows: If backup plan directory is “/dir” then the backups will be stored as follows:

Chain 1:
/__dir__/{{VPSUUID}}/__UNIX_TIMESTAMP_1__/full
/__dir__/{{VPSUUID}}/__UNIX_TIMESTAMP_1__/inc0
/__dir__/{{VPSUUID}}/__UNIX_TIMESTAMP_1__/inc1
/__dir__/{{VPSUUID}}/__UNIX_TIMESTAMP_1__/inc2.....


Chain 2:
/__dir__/{{VPSUUID}}/__UNIX_TIMESTAMP_2__/full
/__dir__/{{VPSUUID}}/__UNIX_TIMESTAMP_2__/inc0
/__dir__/{{VPSUUID}}/__UNIX_TIMESTAMP_2__/inc1
/__dir__/{{VPSUUID}}/__UNIX_TIMESTAMP_2__/inc2.....

where,
/__dir__/ is backup path
{{VPSUUID}} Virtual machine’s UUID
UNIX_TIMESTAMP is current unix time stamp.

Here the UNIX_TIMESTAMP represents the chain in which its corresponding full and incremental backups will be stored.

image


In case of Virtuozzo container, folder structure is different.
Chain 1:
/__dir__/{{VPSUUID}}/__ UNIX_TIMESTAMP __/{{VZUUID}}/CHAINUUID/full
/__dir__/{{VPSUUID}}/__ UNIX_TIMESTAMP __/{{VZUUID}}/{{CHAINUUID}}/inc0
/__dir__/{{VPSUUID}}/__ UNIX_TIMESTAMP __/{{VZUUID}}/{{CHAINUUID}}/inc1
/__dir__/{{VPSUUID}}/__ UNIX_TIMESTAMP __/{{VZUUID}}/{{CHAINUUID}}/inc2.....

Chain 2:
/__dir__/{{VPSUUID}}/__ UNIX_TIMESTAMP __/{{VZUUID}}/{{CHAINUUID}}/full
/__dir__/{{VPSUUID}}/__ UNIX_TIMESTAMP __/{{VZUUID}}/{{CHAINUUID}}/inc0
/__dir__/{{VPSUUID}}/__ UNIX_TIMESTAMP __/{{VZUUID}}/{{CHAINUUID}}/inc1
/__dir__/{{VPSUUID}}/__ UNIX_TIMESTAMP __/{{VZUUID}}/{{CHAINUUID}}/inc2.....
where,
/__dir__/ is backup path
{{VPSUUID}} Virtual machine’s UUID
UNIX_TIMESTAMP is current unix time stamp.
{{VZUUID}} is Virtual Machine’s UUID
{{CHAINUUID}} is chain the chain ID created by Virtuozzo during backup

Let’s consider the above example where source disk is the VPS disk. If we take an Incremental backup for this disk, then a new chain is created where initially a full backup is created. Now if we take an incremental backup again, it will now create a small backup i.e., inc0. As you further take more incremental backup, more inc backup files will be created. Inc backups will keep adding to the existing chain unless and until the chain point broken. If the chain point is broken due to VM shutdown or restart, a new chain will be created.


In Virtualizor, backup folder structure for KVM and Virtuozzo KVM is as follows: If backup plan directory is “/dir” then the backups will be stored as follows:

Chain 1:
/__dir__/{{VPSUUID}}/__UNIX_TIMESTAMP_1__/full
/__dir__/{{VPSUUID}}/__UNIX_TIMESTAMP_1__/inc0
/__dir__/{{VPSUUID}}/__UNIX_TIMESTAMP_1__/inc1
/__dir__/{{VPSUUID}}/__UNIX_TIMESTAMP_1__/inc2.....


Chain 2:
/__dir__/{{VPSUUID}}/__UNIX_TIMESTAMP_2__/full
/__dir__/{{VPSUUID}}/__UNIX_TIMESTAMP_2__/inc0
/__dir__/{{VPSUUID}}/__UNIX_TIMESTAMP_2__/inc1
/__dir__/{{VPSUUID}}/__UNIX_TIMESTAMP_2__/inc2.....

where,
/__dir__/ is backup path
{{VPSUUID}} Virtual machine’s UUID
UNIX_TIMESTAMP is current unix time stamp.

Here the UNIX_TIMESTAMP represents the chain in which its corresponding full and incremental backups will be stored.

image

Limitations

  • - For Virtuozzo Container, remote backup is not supported at the moment.
  • - If the Virtual Machine is restored or restarted, then the next backup will always be full. i.e., new chain will be created, wherein for Virtuozzo CT the case is for restoration and backup deletion.
  • - In KVM / Virtuozzo KVM for local backup method, if you have 4 incremental backups say 0,1,2,3 and you delete the 2nd backup then before deleting it we will create a link between 1 and 3 and then proceed to delete the 2nd backup. Such a scenario is not possible for remote backups or Virtuozzo CT backup and if you deleted the 2nd backup then all the consecutive backups after 2nd backup will be deleted. I.e., only 0,1 will remain.
  • - In local backup for Virtuozzo KVM and KVM, if you set rotation as 2 then we will keep only two active backups and merge others in full backup. So if you have two backups 0 and 1 whose full backups is "full", after taking backup file 2 will be created and in rotation we will merge backup 0 in "full". So keeping only 2 backups at last i.e. 1, 2 and this process will go on. For remote backup the scenario is a bit different here, we will apply rotation on chains here.
  • - For Virtuozzo CT we apply rotation on chains only.
    Was this page helpful?
    Newsletter Subscription
    Subscribing you to the mailing list