Создать политику резервного копирования
Создание политики доступно после активации сервиса Cloud Backup.
Создать или изменить политику можно с помощью консоли управления Yandex Cloud, Terraform, а также задать по спецификации в формате JSON
Примечание
Политики резервного копирования с некоторыми дополнительными настройками нельзя создать в консоли управления Yandex Cloud. Для создания таких политик воспользуйтесь CLI, Terraform или API.
После активации автоматически создаются следующие политики резервного копирования:
Default daily
— ежедневное создание инкрементальной копии с сохранением последних 15 копий.Default weekly
— еженедельное создание инкрементальной копии с сохранением последних 15 копий.Default monthly
— ежемесячное создание инкрементальной копии с сохранением последних 15 копий.
Примечание
Резервные копии создаются по локальному времени ВМ или сервера Yandex BareMetal. Возможно небольшое отставание от расписания в зависимости от текущей нагрузки на сервис.
-
В консоли управления
выберите каталог, в котором нужно создать политику резервного копирования. -
В списке сервисов выберите Cloud Backup.
-
Перейдите на вкладку
Политики копирования. -
Нажмите кнопку Создать политику.
-
На странице создания политики резервного копирования:
-
Введите имя. Требования к имени:
- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
Выберите тип резервных копий:
Инкрементальный
— сохраняются только отличия от предыдущей копии. При первом запуске будет создана полная копия ресурса.Полный
— сохраняются все данные виртуальной машины или сервера BareMetal.
-
В блоке Расписание запуска укажите:
- Периодичность выберите частоту создания копий:
Каждый день
. Настройте создание резервной копии либо один раз в день в указанное время, либо несколько раз в день с заданной периодичностью в указанном временном интервале.Каждую неделю
. Выберите дни недели и время, в которое в эти дни будет выполняться резервное копирование.По месяцам
. Укажите месяцы, день месяца и время, в которые будет выполняться резервное копирование.
Резервные копии создаются по локальному времени ВМ или сервера BareMetal. Возможно небольшое отставание от расписания в зависимости от текущей нагрузки на сервис.
- Периодичность выберите частоту создания копий:
-
Для инкрементальных копий вы можете включить Раз в неделю создавать полную копию и выбрать день недели, в который будет создаваться полная копия. В выбранный день вместо инкрементальной копии будет создана полная резервная копия.
-
В блоке Настройки хранения задайте политику хранения копий:
-
Хранить все копии
— будут храниться все копии, созданные по этой политике резервного копирования. -
Только последнюю
— укажите количество последних копий, которые нужно хранить, или количество дней, недель или месяцев, копии за которые нужно хранить. Остальные копии будут удаляться автоматически.
-
-
В блоке Дополнительно:
-
(Опционально) Включите Быстрое резервное копирование, чтобы ускорить создание инкрементальных копий. Наличие изменений в файле будет определяться по размеру, дате и времени последнего изменения. Если опция отключена, Cloud Backup будет сравнивать содержимое всех файлов с содержимым резервной копии. Опция не работает для томов с файловыми системами JFS, ReiserFS3, ReiserFS4, ReFS или XFS.
-
(Опционально) Включите Одновременное создание снимков нескольких томов для создания синхронизированных по времени резервных копий данных, расположенных на нескольких томах. Параметр определяет, будут ли создаваться снимки нескольких томов одновременно или последовательно.
-
-
(Опционально) Выберите Уровень сжатия данных в резервной копии. Чем выше уровень сжатия, тем больше времени занимает резервное копирование, при этом созданная копия занимает меньше места. Эффективность процесса зависит от типа копируемых данных: уже сжатые файлы, такие как JPG, PDF или MP3, плохо поддаются дополнительному сжатию, в отличие, например, от DOC или XLS.
Примечание
Уровень сжатия можно выбрать только при создании политики. Для существующей политики изменить его нельзя.
-
(Опционально) В блоке Повторение операций при сбое задания укажите настройки резервного копирования в случае сбоя копирования:
- Количество попыток — максимальное количество попыток. При достижении максимального количества повторных попыток операция будет считаться неуспешной. Попытки будут прекращены, как только операция будет успешно выполнена или по достижении указанного количества попыток, в зависимости от того, что наступит раньше.
Не действует, если резервное копирование запущено вручную. - Интервал между попытками — длительность интервала между повторениями попыток.
- Количество попыток — максимальное количество попыток. При достижении максимального количества повторных попыток операция будет считаться неуспешной. Попытки будут прекращены, как только операция будет успешно выполнена или по достижении указанного количества попыток, в зависимости от того, что наступит раньше.
-
(Опционально) В блоке Обработка ошибок настройте поведение Cloud Backup при возникновении ошибок:
- Повторение операций при сбое задания — настройки повторных попыток при ошибках копирования:
- Количество попыток — максимальное количество попыток.
- Интервал между попытками — длительность интервала между повторениями попыток.
- В случае ошибки при создании снимка повторить попытку — настройки повторных попыток при ошибках создания снимка:
- Количество попыток — максимальное количество попыток.
- Интервал между попытками — длительность интервала между повторениями попыток.
- Повторение операций при сбое задания — настройки повторных попыток при ошибках копирования:
-
(Опционально) В блоке Фильтры файлов вы можете с помощью фильтров исключить из резервных копий определенные файлы и папки или, наоборот, делать резервные копии только конкретных элементов файловой системы:
- Не выполнять резервное копирование файлов, соответствующих следующим критериям.
- Выполнять резервное копирование только файлов, соответствующих следующим критериям.
Исключающий фильтр имеет преимущество над включающим.
Чтобы включить или исключить файлы, добавьте критерии, которым они должны соответствовать, например, имена файлов, пути или маски. Поддерживаются подстановочные символы
*
и?
. Каждый критерий указывается с новой строки. В критериях не учитывается регистр.
-
-
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>
. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для создания политики резервного копирования:
yc backup policy create --help
-
Опишите конфигурацию создаваемой политики резервного копирования в виде схемы данных в формате JSON
.Пример файла конфигурации
{ "compression": "NORMAL", "format": "AUTO", "multiVolumeSnapshottingEnabled": true, "preserveFileSecuritySettings": true, "reattempts": { "enabled": true, "interval": { "type": "SECONDS", "count": "30" }, "maxAttempts": "30" }, "silentModeEnabled": true, "splitting": { "size": "1099511627776" }, "vmSnapshotReattempts": { "enabled": true, "interval": { "type": "MINUTES", "count": "5" }, "maxAttempts": "3" }, "vss": { "enabled": true, "provider": "TARGET_SYSTEM_DEFINED" }, "archive": { "name": "'[Machine Name]-[Plan ID]-[Unique ID]A'" }, "performanceWindow": { }, "retention": { "rules": [ { "maxCount": "10" } ], "beforeBackup": true }, "scheduling": { "backupSets": [ { "time": { "weekdays": [ "MONDAY" ], "repeatAt": [ { "minute": "5" } ], "type": "WEEKLY" } } ], "enabled": true, "maxParallelBackups": "2", "randMaxDelay": { "type": "MINUTES", "count": "30" }, "scheme": "ALWAYS_INCREMENTAL", "weeklyBackupDay": "MONDAY" }, "cbt": "ENABLE_AND_USE", "fastBackupEnabled": true, "quiesceSnapshottingEnabled": true }
Сохраните готовую конфигурацию в файл с расширением
.json
.В примере приведена конфигурация политики резервного копирования, которая будет создавать инкрементальные резервные копии виртуальной машины или сервера BareMetal каждый понедельник в 00:05 (UTC+0). При этом храниться будут только десять последних копий.
См. полную спецификацию политики резервного копирования.
-
Создайте политику резервного копирования:
yc backup policy create \ --name <имя_политики> \ --settings-from-file <путь_к_файлу_конфигурации>
Где:
--name
— имя создаваемой политики резервного копирования.--settings-from-file
— путь к файлу с конфигурацией политики резервного копирования в формате JSON.
Результат:
id: cbq5rwepukxn******** name: test2 created_at: "2023-07-03T08:24:16.735555276Z" updated_at: "2023-07-03T08:24:16.746377738Z" enabled: true settings: compression: NORMAL format: AUTO multi_volume_snapshotting_enabled: true preserve_file_security_settings: true reattempts: enabled: true interval: type: SECONDS count: "30" max_attempts: "30" silent_mode_enabled: true splitting: size: "1099511627776" vm_snapshot_reattempts: enabled: true interval: type: MINUTES count: "5" max_attempts: "3" vss: enabled: true provider: TARGET_SYSTEM_DEFINED archive: name: '''[Machine Name]-[Plan ID]-[Unique ID]A''' performance_window: {} retention: rules: - max_count: "10" before_backup: true scheduling: backup_sets: - time: weekdays: - MONDAY repeat_at: - minute: "5" type: WEEKLY enabled: true max_parallel_backups: "2" rand_max_delay: type: MINUTES count: "30" scheme: ALWAYS_INCREMENTAL weekly_backup_day: MONDAY cbt: ENABLE_AND_USE fast_backup_enabled: true quiesce_snapshotting_enabled: true folder_id: d2q792qpemb4********
Подробнее о команде читайте в справочнике CLI.
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы создать политику резервного копирования:
-
Опишите в конфигурационном файле Terraform параметры политики резервного копирования:
resource "yandex_backup_policy" "my_policy" { archive_name = "[Machine Name]-[Plan ID]-[Unique ID]a" cbt = "USE_IF_ENABLED" compression = "NORMAL" fast_backup_enabled = true format = "AUTO" multi_volume_snapshotting_enabled = true name = "<имя_политики_резервного_копирования>" performance_window_enabled = true preserve_file_security_settings = true quiesce_snapshotting_enabled = true silent_mode_enabled = true splitting_bytes = "9223372036854775807" vss_provider = "NATIVE" reattempts { enabled = true interval = "1m" max_attempts = 10 } retention { after_backup = false rules { max_age = "365d" repeat_period = [] } } scheduling { enabled = false max_parallel_backups = 0 random_max_delay = "30m" scheme = "ALWAYS_INCREMENTAL" weekly_backup_day = "MONDAY" execute_by_time { include_last_day_of_month = true monthdays = [] months = [1,2,3,4,5,6,7,8,9,10,11,12] repeat_at = ["04:10"] repeat_every = "30m" type = "MONTHLY" weekdays = [] } } vm_snapshot_reattempts { enabled = true interval = "1m" max_attempts = 10 } }
Где:
-
archive_name
— имя сгенерированных архивов. Необязательный параметр. Переменные параметра:Machine Name
— имя виртуальной машины или сервера BareMetal.Plan ID
— идентификатор плана.Unique ID
— уникальный идентификатор.
Последний символ имени сгенерированных архивов не должен быть переменной.
-
cbt
— конфигурация отслеживания содержимого резервных копий. Необязательный параметр. Принимает значения:CHANGED_BLOCK_TRACKING_UNSPECIFIED
— не задано.USE_IF_ENABLED
— использовать, если включено.ENABLE_AND_USE
— включить и использовать.DO_NOT_USE
— не использовать.
Значение по умолчанию
DO_NOT_USE
. -
compression
— степень сжатия резервной копии. Необязательный параметр. Принимает значения:NORMAL
— стандартное сжатие.HIGH
— сильное сжатие.MAX
— максимальное сжатие.OFF
— отключено.
Значение по умолчанию
NORMAL
. -
fast_backup_enabled
— быстрое резервное копирование для отслеживания изменений в файлах. Когда включено, наличие изменений в файле определяется по его размеру и временной метке. Когда выключено, для проверки наличия изменений содержимое файла сравнивается с содержимым, сохраненным в резервной копии. Принимает значенияtrue
илиfalse
. -
format
— формат резервной копии. Необязательный параметр. Принимает значения:VERSION_11
— устаревший формат, не рекомендуется его использовать.VERSION_12
— рекомендованный формат для быстрого резервного копирования и восстановления.AUTO
— автоматический выбор формата. По умолчанию используетсяVERSION_12
. Исключение — создание инкрементальных копий для образов, созданных в других версиях.
-
multi_volume_snapshotting_enabled
— создание резервных копий нескольких томов одновременно. Необязательный параметр. Принимает значенияtrue
илиfalse
. -
name
— имя политики резервного копирования. -
performance_window_enabled
— временные окна для ограничения производительности резервного копирования. Необязательный параметр. Принимает значенияtrue
илиfalse
. Значение по умолчаниюfalse
. -
preserve_file_security_settings
— сохранение настроек безопасности файлов. Необязательный параметр. Принимает значенияtrue
илиfalse
. Значение по умолчаниюtrue
. Рекомендуется использовать значениеtrue
. -
quiesce_snapshotting_enabled
— режимquiescing
при создании резервных копий. Необязательный параметр. Принимает значенияtrue
илиfalse
. Значение по умолчаниюfalse
. -
silent_mode_enabled
— режим тишины, предполагающий минимальное взаимодействие с пользователем. Необязательный параметр. Принимает значенияtrue
илиfalse
. Значение по умолчаниюtrue
. -
splitting_bytes
— параметр для определения размера для разделения резервных копий. Необязательный параметр. Значение по умолчанию9223372036854775807
. -
vss_provider
— настройки VSS-службы. Необязательный параметр. Принимает значенияNATIVE
илиTARGET_SYSTEM_DEFINED
. Значение по умолчаниюNATIVE
. -
reattempts
— параметры повторения операций резервного копирования в случае сбоев:enabled
— повторять попытки создать резервную копию при возникновении некритических ошибок (например, при сбое подключения к целевому диску). Необязательный параметр. Принимает значенияtrue
илиfalse
. Значение по умолчаниюtrue
.interval
— интервал повторных попыток. Необязательный параметр. Значение по умолчанию5m
.max_attempts
— максимальное количество попыток. При достижении максимального количества повторных попыток операция будет считаться неуспешной. Необязательный параметр. Значение по умолчанию5
.
-
retention
— параметры хранения резервных копий:-
after_backup
— применять правила хранения резервных копий после завершения операции резервного копирования. Принимает значенияtrue
илиfalse
. -
rules
— правила хранения резервных копий:max_age
— удаление резервных копий, возраст которых превышаетmax_age
.max_count
— удаление резервных копий, если их количество превышаетmax_count
.repeat_period
— период применения правил.
Атрибуты
max_age
иmax_count
— взаимоисключающие. Использование одного делает невозможным использование другого.
-
-
scheduling
— параметры расписания резервного копирования:-
enabled
— включение планирования резервного копирования. Необязательный параметр. Принимает значенияtrue
илиfalse
. Значение по умолчаниюtrue
. -
max_parallel_backups
— максимальное количество процессов резервного копирования, которые могут выполняться параллельно. Необязательный параметр. Значение по умолчанию0
— неограниченное количество процессов. -
random_max_delay
— настройка случайной задержки между выполнением параллельных задач. Необязательный параметр. Значение по умолчанию30m
. -
scheme
— схема расписания резервного копирования. Необязательный параметр. Принимает значения:ALWAYS_INCREMENTAL
— всегда инкрементальная.ALWAYS_FULL
— всегда полная.WEEKLY_FULL_DAILY_INCREMENTAL
— еженедельно: полная, ежедневно: инкрементальная.WEEKLY_INCREMENTAL
— еженедельно: инкрементальная.
Значение по умолчанию
ALWAYS_INCREMENTAL
. -
weekly_backup_day
— день недели, в который будут выполняться еженедельные операции копирования. Необязательный параметр. Значение по умолчаниюMONDAY
. -
execute_by_time
— настройки выполнения резервного копирования в определенное время:include_last_day_of_month
— выполнение резервного копирования в последний день месяца. Необязательный параметр. Принимает значенияtrue
илиfalse
. Значение по умолчаниюfalse
.monthdays
— список дней, когда применяется расписание. Необязательный параметр. Используется в форматеMONTHLY
.months
— список месяцев, когда применяется расписание. Необязательный параметр.repeat_at
— список значений времени в форматеЧЧ:ММ
(24-часовой формат), когда применяется расписание. Необязательный параметр.repeat_every
— частоты повторения резервного копирования. Необязательный параметр.type
— тип расписания. Принимает значения:HOURLY
(ежечасно),DAILY
(ежедневно),WEEKLY
(еженедельно),MONTHLY
(ежемесячно).weekdays
— список дней недели, когда будет применена резервная копия. Используется в форматеWEEKLY
.
-
-
vm_snapshot_reattempts
— параметры повторения операций создания резервных копий в случае сбоев:enabled
— повторение попыток создать резервную копию при возникновении ошибок. Необязательный параметр. Принимает значенияtrue
илиfalse
. Значение по умолчаниюtrue
.interval
— длительность интервала между повторениями попыток. Необязательный параметр. Значение по умолчанию5m
.max_attempts
— максимальное количество попыток. При достижении максимального количества повторных попыток операция будет считаться неуспешной. Необязательный параметр. Значение по умолчанию5
.
Более подробную информацию о параметрах ресурса
yandex_backup_policy
см. в документации провайдера . -
-
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
Terraform создаст все требуемые ресурсы. Проверить появление ресурсов можно в консоли управления
или с помощью команды CLI:yc backup policy list
-
Чтобы создать политику резервного копирования, воспользуйтесь методом REST API create для ресурса Policy или вызовом gRPC API PolicyService/Create.