====== How To Setup The Temporary Directory For Your Backup Set ======
The setup of the temporary directory is often overlooked and customers typically tend to use the default setting which is fine for simple file or cloud file backup sets. However, for non-file backup sets like databases or virtual machines this is a very important backup set setting. The location of the temporary directory and or the free space allocated to the temporary directory can make or break a successful backup (and restore) and affect the overall performance.
===== How does CloudBacko use the temporary directory? =====
CloudBacko Pro / Lite / Home makes use of the temporary directory for both backup and restore jobs.
==== Backup ====
For a backup job, it is used to temporarily store the:
* Backup set index files, an updated set of index files is generated after each backup. The index files are synchronized to each individual backup destination at the end of each backup job.
* File list.
* Incremental/differential delta files generated during backups.
* For some backup sets, e.g. VM or database the actual database files will be spooled to the temporary folder (CloudBacko Pro makes a copy of the entire database and saves the database files in the temporary directory) in order to achieve a consistent snapshot for backups.
==== Restore ====
For a restore job, it is used to temporarily store the:
* Full and incremental/differential delta files retrieved from the backup destination.
* Merging of incremental/differential delta files as part of the restore process.
===== Factors that determine the disk space usage or free space required for the temporary directory =====
The following factors need to be taken into account when determining the free space required for the temporary directory drive or partition:
==== Backup set type ====
For database backup sets; MS SQL Server in ODBC mode or Lotus Domino/Oracle/MySQL/MariaDB on Linux platform, CloudBacko Pro needs to makes a copy of the entire database in the temporary directory. The free space required on temporary directory must be at least equal to the size of the database you have selected for backup. For example, if you intend to make a backup of a 1TB MS SQL Server database in ODBC mode, the location where you define temporary directory must have at least 1TB of free disk space to accommodate the database file(s).
==== In-file delta - Delta ratio setting ====
The default “Delta ratio” setting is 50% for all backup set types, which means that CloudBacko Pro / Lite / Home can generate an incremental or differential delta of up to 50% of the full file size. If you are backing a very large files or databases, for example a backup of a 1TB database then you will need to reserve up to 500GB of free space in drive where your temporary directory is located in order to accommodate the delta file.
| {{public:faq:temp009.png?700}} |
==== Number of destinations configured on the backup set ====
When generating incremental or differential delta files, each individual backup destination will require its own individual delta file. Therefore, the disk space required for the drive where your temporary directory is located will increase with each additional backup destination.
===== Is there a quick way to calculate the maximum free space required? =====
Database backup sets which use the spooling method requires additional free disk space than backup sets which utilize Microsoft Volume Shadow Copy Service (VSS) to obtain a consistent snapshot.
You can use the following formula to calculate the free space required for the temporary directory depending on the backup set type.
==== Backup Sets with spooling ====
^ Backup Set Type ^ Operating System ^
| MySQL Database Server | Windows / Linux / FreeBSD / macOS |
| MariaDB Database | Windows / Linux / FreeBSD |
| Oracle Database | Windows / Linux |
| Lotus Domino | Linux |
| MS SQL Server ODBC mode | Windows |
| MS Windows System Backup* | Windows |
| MS Windows System State* | Windows |
* Both MS Windows System Backup and MS Windows System State the image can be spooled to a separate partition to the CloudBacko temporary directory.
Total File Size Spooled + [(Total File Size * Delta Ratio) * number of backup destinations] = Maximum Free Space Required
**__Example:__**
Backup of 1TB MS SQL Server using ODBC mode with default delta ratio setting of 50% will require up to 1.5TB of free space on the temporary directory location.
^ Database Size ^ Delta Ratio 50% ^ Backup Destinations ^ Free Space Required ^
| 1TB | 500GB | 1 | 1.5TB |
| 1TB | 500GB | 2 | 2TB |
| 1TB | 500GB | 3 | 2.5GB |
| 1TB | 500GB | 4 | 3TB |
==== Backup Set without spooling ====
^ Backup Set Type ^ Operating System ^
| File | Windows / Linux / FreeBSD / macOS |
| MS SQL Server VSS mode | Windows |
| MS Exchange Database | Windows |
| MS Hyper-V | Windows |
| Microsoft Office 365 | Windows / macOS |
| Cloud File | Windows / macOS |
| VMware (VDDK)* | Windows |
*A VMware ESXi/vCenter backup using VDDK mode, the incremental/differential delta files are directly generated by VMware host itself and therefore the temporary directory is not used for this purpose.
**__Example:__**
Backup of 1TB Hyper-V guest with default delta ratio setting of 50% will require up to 500GB of free space on the temporary directory location.
^ VM Size ^ Delta Ratio 50% ^ Backup Destinations ^ Free Space Required ^
| 1TB | 500GB | 1 | 500GB |
| 1TB | 500GB | 2 | 1TB |
| 1TB | 500GB | 3 | 1.5TB |
| 1TB | 500GB | 4 | 2TB |
(Total File Size * Delta Ratio) * number of backup destinations = Maximum Free Space Required
The calculations are based on the current database size, they do not take into account database growth over time. It is recommended for fast growing databases that the maximum free space required should be reviewed on a regular basis to avoid potential backup problems.
===== What are the default settings for temporary directory location? =====
The default location is dependent on the O/S platform of the machine where CloudBacko is installed.
^ Operating System ^ Temporary folder default location ^
| Windows | %USERPROFILE%\temp |
| Linux / FreeBSD | /root/temp |
| macOS | /Users/%username%/temp |
===== Where should the temporary directory be located? =====
As large files are copied or saved to the temporary directory as part of a database backup or restore job, to ensure optimal backup and restore performance the location of the temporary directory should be on a local drive rather than a network drive.
It is __not recommended__ to set the temporary directory on:
* The O/S or system drive, if the system drive runs out of disk space this could cause the machine to crash.
* The same drive as the database files as this could affect the performance of the production system.
===== Where Can I Find the Temporary Directory Settings? =====
On the CloudBacko Pro / Lite / Home backup client GUI the temporary directory settings can be found in [Backup Set] > [%BackupSet_Name%] > [Others].
| {{public:faq:temp011.png?700}} |
===== Do I have to delete the files in the temporary directory in order to ensure there is sufficient free space? =====
CloudBacko Pro / Lite / Home will automatically remove any temporary files when a backup job has completed by default*. This feature can be configured by selecting the “Remove temporary files after backup” option on the backup set.
| {{public:faq:temp015.png?700}} |
*This setting is not available for ShadowProtect Backup Sets
In some cases where CloudBacko is unexpectedly terminated, e.g. the process is killed in Windows Task Manager or CloudBacko crashes during a backup job, before it had an opportunity to delete the temporary files then it is recommended to manually delete the files in the temporary folder.
===== Are there any other factors to take into account? =====
==== Anti-virus software ====
If the machine has anti-virus software installed please make sure the temporary directory is excluded. As some anti-virus software may lock or quarantine files created by CloudBacko Pro / Lite / Home for example incremental /differential delta files and most importantly the backup set index files causing backup or restore errors.
==== Exclude the Temporary Folder From Backup Source ====
CloudBacko Pro / Lite / Home may lock its own index files as part of the backup job if these files are included in the backup source. So make sure the temporary folder is excluded from the backup source.