Backup policies
Backups of Yandex Cloud resources are created in Cloud Backup automatically according to backup policies.
Creating policies becomes available after you activate Cloud Backup.
After activation, the system automatically creates the following backup policies:
Default daily
: Daily incremental VM backup with the last 15 backups retained.Default weekly
: Weekly incremental VM backup with the last 15 backups retained.Default monthly
: Monthly incremental VM backup with the last 15 backups retained.
By default, VMs in Cloud Backup are not linked to any backup policies. To start creating backups, link VMs to one or more policies.
The backup policy specifies:
- Backup frequency: By hour, day, week, or month. All times are now UTC±00:00
. - Backup type: Full or incremental. For more information, see Backup types.
- Settings for storing backups.
Note
Backups are created according to the local time of the VM. There may be a slight delay in the schedule depending on the current service load.
Storing backups
You can set up backup storage for the policy. The following can be stored for each VM included in the policy:
- All backups created under this policy.
- Only the last several backups.
- Only the backups younger than a certain age, e.g., those created during the last few days.
The settings apply to all VMs in the policy.
If you make changes to the backup retention rules, by default they will take effect as soon as you create another backup. For more information on the setup parameters of the backup retention rules, see the next section.
Backup policy specification
In Cloud Backup, you can create or update backup policies based on a specification in JSON
Full backup policy specification in Cloud Backup:
{
"compression": "string",
"format": "string",
"multiVolumeSnapshottingEnabled": bool,
"preserveFileSecuritySettings": bool,
"reattempts": {
"enabled": bool,
"interval": {
"type": "string",
"count": "string"
},
"maxAttempts": "string"
},
"silentModeEnabled": bool,
"splitting": {
"size": "string"
},
"vmSnapshotReattempts": {
"enabled": bool,
"interval": {
"type": "string",
"count": "string"
},
"maxAttempts": "string"
},
"vss": {
"enabled": bool,
"provider": "string"
},
"archive": {
"name": "string"
},
"performanceWindow": {
"enabled": bool
},
"retention": {
"rules": [
{
"backupSet": [
"string"
],
"maxAge": {
"type": "string",
"count": "string"
},
"maxCount": "string",
}
],
"beforeBackup": bool
},
"scheduling": {
"backupSets": [
{
"time": {
"weekdays": [
"string"
],
"repeatAt": [
{
"hour": "string",
"minute": "string"
}
],
"repeatEvery": {
"type": "string",
"count": "string"
},
"timeFrom": {
"hour": "string",
"minute": "string"
},
"timeTo": {
"hour": "string",
"minute": "string"
},
"monthdays": [
"string"
],
"includeLastDayOfMonth": bool,
"months": [
"string"
],
"type": "string"
},
"sinceLastExecTime": {
"delay": {
"type": "string",
"count": "string"
}
},
}
],
"enabled": bool,
"maxParallelBackups": "string",
"randMaxDelay": {
"type": "string",
"count": "string"
},
"scheme": "string",
"weeklyBackupDay": "string"
},
"cbt": "string",
"fastBackupEnabled": bool,
"quiesceSnapshottingEnabled": bool
}
Specification description:
Attribute | Description | Possible values |
---|---|---|
compression |
Backup compression ratio. |
|
format |
Backup format. |
|
multiVolumeSnapshottingEnabled |
Backing up multiple volumes at the same time. |
|
preserveFileSecuritySettings |
Preserving file security settings. |
|
cbt |
Changed Block Tracking (configuration for tracking backup contents). |
|
fastBackupEnabled |
Fast backup: Setting for tracking changes to files. When enabled, file changes are detected by the file size and timestamp. When disabled, files are checked for changes by comparing their contents to backed up files. |
|
quiesceSnapshottingEnabled |
Using quiescing when creating backups. |
|
Attribute sections with multiple nested values.
Setting up backup reattempts in the event of failures.
Attribute | Description | Possible values |
---|---|---|
reattempts.enabled |
Retry creating a backup if noncritical errors occur (for example, when failing to connect to a target disk). |
|
reattempts.interval.type |
Unit of time used to set the reattempt interval. |
|
reattempts.interval.count |
Duration of the interval between reattempts. | Integer |
reattempts.maxAttempts |
Maximum number of reattempts. If reached, the operation is considered failed. | Integer |
silentModeEnabled |
Silent mode. Reduces the number of user interactions wherever possible. Disabled by default. |
|
splitting.size |
Splitting a backup into volumes of a preset size in bytes. If no value is specified, a backup is saved as a single file. | Integer |
Configuring backup reattempts on failure.
Attribute | Description | Possible values |
---|---|---|
vmSnapshotReattempts.enabled |
Retry a backup if errors occur. |
|
vmSnapshotReattempts.interval.type |
Unit of time used to set the reattempt interval. |
|
vmSnapshotReattempts.interval.count |
Duration of the interval between reattempts. | Integer |
vmSnapshotReattempts.maxAttempts |
Maximum number of reattempts. If reached, the operation is considered failed. | Integer |
Volume Shadow Copy Service (VSS) setup. The service notifies applications with VSS support of the upcoming backup start. The applications save information from memory to disk, which ensures data integrity during backup.
Attribute | Description | Possible values |
---|---|---|
vss.enabled |
Enable VSS. |
|
vss.provider |
Choosing a VSS provider. |
|
archive.name |
Name of the archive being created. | Line that may contain the following variables: [Machine Name] , [Plan ID] , [Plan Name] , [Unique ID] , and [Virtualization Server Type] . |
performanceWindow |
Enable a performance window to limit the impact of backups and storage maintenance on performance. |
|
Setting up rules for storing backups. The maxAge
and maxCount
attributes are mutually exclusive. Using one of them disables the use of the other.
Attribute | Description | Possible values |
---|---|---|
retention.rules.backupSet |
A set of backups for which the retention settings are specified. | Line |
retention.rules.maxAge.type |
Set a backup retention rule to delete outdated backups depending on their age in specified time units. |
|
retention.rules.maxAge.count |
Maximum backup retention period in time units set by the maxAge.type attribute. |
Integer |
retention.rules.maxCount |
Set a backup retention rule to delete outdated backups depending on the specified maximum number of stored backups. | Integer |
retention.beforeBackup |
Apply backup retention rules before the end of the backup. When creating a policy by default or via the management console, the beforeBackup=false rule is set. The backup retention rule settings will take effect as soon as another backup is created. |
|
Setting up a backup schedule. The time
(based on preset time) and sinceLastExecTime
(with preset interval between backups) attributes are mutually exclusive. Using one of them disables the use of the other.
Attribute | Description | Possible values |
---|---|---|
scheduling.backupSets.time.weekdays |
Days of the week to make backups on. You can specify multiple values separated by commas. |
|
scheduling.backupSets.time.repeatAt.hour |
Time to repeat backups at: hours. | Integer from 0 to 23 |
scheduling.backupSets.time.repeatAt.minute |
Time to repeat backups at: minutes. | Integer from 0 to 59 |
scheduling.backupSets.time.repeatEvery.type |
Units of time used to set the repeat backup interval. |
|
scheduling.backupSets.time.repeatEvery.count |
Backup reattempt interval in units set by the repeatEvery.type attribute. |
Integer |
scheduling.backupSets.time.timeFrom.hour |
Start time for the backup interval (from): hours. | Integer from 0 to 23 |
scheduling.backupSets.time.timeFrom.minute |
Start time for the backup interval (from): minutes. | Integer from 0 to 59 |
scheduling.backupSets.time.timeTo.hour |
End time for the backup interval (to): hours. | Integer from 0 to 23 |
scheduling.backupSets.time.timeTo.minute |
End time for the backup interval (to): minutes. | Integer from 0 to 59 |
scheduling.backupSets.time.monthdays |
Day of the month to make backups on. You can specify multiple values separated by commas. | Integer from 1 to 31 |
scheduling.backupSets.time.includeLastDayOfMonth |
Making backups on the last day of each month. |
|
scheduling.backupSets.time.months |
Months to make backups in. You can specify multiple values separated by commas. | Integer from 1 to 12 |
scheduling.backupSets.time.type |
Backup frequency. |
|
scheduling.backupSets.sinceLastExecTime.delay.type |
Units of time used to set the interval between backups. |
|
scheduling.backupSets.sinceLastExecTime.delay.count |
Duration of the interval between backups in time units set by the delay.type attribute. |
Integer |
scheduling.enabled |
Making scheduled backups. |
|
scheduling.maxParallelBackups |
Maximum permissible number of parallel backups. Unlimited if no value is specified. | Integer |
scheduling.randMaxDelay.type |
Units of time used to set the maximum delay before running parallel jobs. |
|
scheduling.randMaxDelay.count |
Maximum delay before running parallel jobs in time units set by the randMaxDelay.type attribute. The delay is determined randomly but it may not exceed the value set here. |
Integer |
scheduling.scheme |
Backup schedule scheme. |
|
scheduling.weeklyBackupDay |
Day of the week for the weekly backup. | Integer from 1 to 7 |