Backup policies
Backups of Yandex Cloud resources are created in Cloud Backup automatically according to backup policies.
The backup policy specifies:
- Backup frequency: By hour, day, week, or month. The time is provided for the UTC
time zone. - Backup type: Full or incremental. For more information, see Backup types.
- Snapshot retention settings.
Note
Backups can be created with a little delay from the schedule, depending on the current load on the service.
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 snapshots 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 the 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 |
Making snapshots of 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's size and timestamp. When disabled, files are checked for changes by comparing their contents to backed up files. |
|
quiesceSnapshottingEnabled |
Using quiescing mode when creating snapshots. |
|
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 amount of interactions with users whenever 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 |
Setting up snapshot creation reattempts in the event of failures.
Attribute | Description | Possible values |
---|---|---|
vmSnapshotReattempts.enabled |
Retry creating a VM snapshot if an error occurs. |
|
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
(using the preset time) and sinceLastExecTime
(with the 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 |
Repeat backup interval in time 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 number of parallel backups allowed. 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 |
Value of the 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 to make weekly backups on. | Integer from 1 to 7 |