- Plesk for Linux
Question
How do backups to remote storage (FTP or cloud) work?
Answer
Starting from Plesk Onyx 17.5, when a backup is configured to be created on remote storage, Plesk does not create a full local copy of it. Instead, Plesk transfers the backup in parts:
-
First, a backup file of the largest Plesk Domain (database, mailbox, website content) is created locally as a temporary archive in
/var/lib/psa/dumps. -
Then this created archive is transferred to the remote storage in parts of 100MB without additional compression.
-
Simultaneously with the upload of the backup part to the remote storage, creation of the next subsequent archive is starting.
- Backups are uploaded into the single file
backup_<YYMMDDHHmm>.taron the remote storage (if multivolume backup is not selected).
The information on how files are organized inside the archive is available here
Note: If the One Drive remote storage is used, backup files are split into parts according 'writeBufferSize', because the OneDrive does not support streaming upload
-
After an archive part has been uploaded to the remote storage, it is removed from the Plesk server.
- The Plesk Backup Manager signs remote backups and does not allow the restoration of backups with invalid signatures by default.
Note: Since parts of backup files are created simultaneously, it is good practice to have free space equal to at least half of the full backup size. The minimum available free disk space before the backup is initiated should equal the total size of the two largest Subscriptions on the Plesk server.
See https://webpros.atlassian.net/browse/PPS-17052: The rule about 2 largest Subscriptions is applied only if:
- The parameter splitSize is not empty
- Parameters keepLocalBackup & keepLocalBackupIfFailed are empty
- It is FTP backup
If any of the above rule doesn't apply then full backup equivalent to all subscriptions will be created on local storage before moving to external storage
The following resources on the remote storage are affected during the backup creation process:
- Inbound traffic on the remote storage equals to the size of the uploaded backups.
- Outbound traffic is insignificant and is used for checking the structure of uploaded backups.
- Consumed disk space equals the size of the uploaded backups.
- Files are uploaded into the remote storage during the execution of a single durable operation.
Comments
Atif Bangash is this procedure still correct? This still comes with problems. Assume you have a server with 500 GB of which 70 GB are free. Backups are set to be split up into parts of 3 GB. Your largest subscription is 150 GB. If only one file is created for the largest subscription locally, there is no way to backup the full server to a remote location AND this behavior creates all kinds of undesired side effects.
Bonus issue: the backup process should be at least clever enough to detect how much local storage space is needed and terminate if the remaining disk space is not large enough. However, this does not seem to be the case.
Please sign in to leave a comment.