Создать расписание, по которому будут создаваться снимки дисков
Настроить автоматическое создание снимков дисков по расписанию
Чтобы настроить автоматическое создание снимков дисков по расписанию:
-
В консоли управления
выберите каталог, в котором находится диск. -
Выберите сервис Compute Cloud.
-
На панели слева выберите
Снимки дисков. -
На вкладке Расписания снимков нажмите кнопку Создать.
-
Задайте параметры расписания снимков:
-
Введите имя расписания в формате:
- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
Если требуется, укажите произвольное текстовое описание расписания.
-
Выберите диски, снимки которых нужно создавать по расписанию. В одно расписание можно добавить несколько дисков, а один диск можно добавить в несколько расписаний в пределах лимитов.
Создавать можно снимки сетевых дисков HDD, SSD и нереплицируемых SSD, а также сверхбыстрых сетевых хранилищ с тремя репликами (SSD).
Для нереплицируемых SSD и сверхбыстрых сетевых хранилищ с тремя репликами (SSD) момент времени, когда фиксируется содержимое диска, не детерминирован.
Для снимков с локальных дисков на выделенных хостах используйте сервис Yandex Cloud Backup (поддерживает ОС Ubuntu, CentOS, CentOS Stream и Windows Server).
-
В поле Создавать снимки выберите периодичность создания снимков:
По часам
,По дням
,По неделям
илиПо cron-выражению
. Время создания снимка указывается в часовом поясе UTC±00:00 . -
В поле Начиная с укажите дату, начиная с которой будет работать расписание.
-
Выберите политику хранения снимков:
- Хранить все снимки — будут храниться все снимки, созданные по этому расписанию.
- Только последние — укажите количество последних снимков, которые нужно хранить, или количество дней, снимки за которые нужно хранить. Остальные снимки, созданные по этому расписанию, будут удаляться автоматически.
Примечание
На количество и суммарный объем снимков в облаке действуют квоты.
-
-
Нажмите кнопку Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команд CLI для работы с расписаниями:
yc compute snapshot-schedule --help yc compute snapshot-schedule create --help
-
Создайте расписание с помощью cron-выражения:
yc compute snapshot-schedule create <имя_расписания> \ --expression <cron-выражение>
Примечание
Время создания снимка указывается в часовом поясе UTC±00:00
.Если необходимо задать политику хранения снимков, добавьте параметр
--snapshot-count
или--retention-period
. Например:--snapshot-count 5
— хранение последних 5 снимков.--retention-period 72h
— хранение снимков за последние 3 дня.
Чтобы установить дату начала для расписания, используйте параметр
--start-at
. Например:--start-at "2022-12-31T16:39:00+05:00"
— начало 31 декабря 2022 г. в 16:39 UTC+5.--start-at "2h"
— начало два часа назад от текущего момента.
Подробнее о команде
yc compute snapshot-schedule create
см. в справочнике CLI. -
Получите идентификаторы дисков, чтобы добавить их в расписание:
yc compute disk list --format yaml
Результат:
- id: epdcq9g3co9s******** folder_id: e1ea8s8l71li******** created_at: "2022-10-13T14:37:44Z" ... instance_ids: - fhm1c7u23aiq******** disk_placement_policy: {}
-
Добавьте диски в расписание:
yc compute snapshot-schedule add-disks <имя_или_идентификатор_расписания> \ --disk-id <идентификатор_диска_1>,<идентификатор_диска_2>
Результат:
done (3s) id: fc8e52mvchb2******** folder_id: e1ea8s8l71li******** ... expression: 36 14 */1 * * snapshot_count: "3" snapshot_spec: {}
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле Terraform параметры ресурса, который необходимо создать:
resource "yandex_compute_snapshot_schedule" "default" { name = "<название_расписания>" schedule_policy { expression = "<cron-выражение>" } snapshot_count = <количество_снимков_для_каждого_диска> snapshot_spec { description = "<описание_снимка>" labels = { <ключ_метки_снимка> = "<значение_метки_снимка>" } } disk_ids = ["<идентификатор_диска_1>", "<идентификатор_диска_2>"] }
Где:
name
— название расписания. Обязательный параметр.schedule_policy
— блок с параметрами расписания. Содержит полеexpression
с cron-выражением. Обязательный параметр.snapshot_count
— максимальное количество снимков для каждого диска. Необязательный параметр.snapshot_spec
— блок с дополнительными параметрами снимка. Необязательный параметр. Может содержать поля:description
— описание снимка.labels
— метка снимка в формате<ключ> = "<значение>"
.
disk_ids
— идентификаторы дисков, для которых будут создаваться снимки. Обязательный параметр.
Более подробную информацию о параметрах ресурса
yandex_compute_snapshot_schedule
в Terraform, см. в документации провайдера . -
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
-
После этого в указанном каталоге будет создано расписание. Проверить появление расписания и его настройки можно в консоли управления
yc compute snapshot-schedule get <имя_расписания>
-
Получите список дисков с помощью метода REST API list для ресурса Disk или вызова gRPC API DiskService/List.
Создавать можно снимки сетевых дисков HDD, SSD и нереплицируемых SSD, а также сверхбыстрых сетевых хранилищ с тремя репликами (SSD).
Для нереплицируемых SSD и сверхбыстрых сетевых хранилищ с тремя репликами (SSD) момент времени, когда фиксируется содержимое диска, не детерминирован.
Для снимков с локальных дисков на выделенных хостах используйте сервис Yandex Cloud Backup (поддерживает ОС Ubuntu, CentOS, CentOS Stream и Windows Server).
-
Создайте расписание снимков с помощью метода REST API create для ресурса SnapshotSchedule или вызова gRPC API SnapshotScheduleService/Create.
Снимки будут автоматически создаваться и удаляться, только пока расписание работает (статус ACTIVE
).
Примеры
Снимки создаются каждый день
Чтобы настроить ежедневное создание снимков:
-
Создайте расписание с помощью cron-выражения:
yc compute snapshot-schedule create sched-1 \ --description "Ежедневное" \ --expression "10 16 ? * *" \ --start-at "2022-12-31T19:04:05+03:00" \ --snapshot-count 7 \ --labels "machine=file-server"
В результате будет создано расписание:
- С именем
sched-1
и описаниемЕжедневное
. - С созданием снимков каждый день в 19:10 по МСК.
- С датой начала 31 декабря 2022 г. 19:04 по МСК.
- С сохранением последних семи снимков.
- С меткой
machine
и значением меткиfile-server
.
- С именем
-
Получите идентификаторы дисков, чтобы добавить их в расписание:
yc compute disk list --format yaml
Результат:
- id: epdcq9g3co9s******** folder_id: e1ea8s8l71li******** created_at: "2022-10-13T14:37:44Z" name: disk-2 type_id: network-hdd zone_id: ru-central1-a size: "21474836480" block_size: "4096" product_ids: - f2euv1kekdgv******** status: READY source_image_id: fd88d14a6790******** instance_ids: - ephothb6lppn******** disk_placement_policy: {} - id: fhm7mip40dqh******** folder_id: e1ea8s8l71li******** created_at: "2022-10-10T05:00:04Z" name: disk-1 type_id: network-hdd zone_id: ru-central1-a size: "21474836480" block_size: "4096" product_ids: - f2euv1kekdgv******** status: READY source_image_id: fd88d14a6790******** instance_ids: - fhm1c7u23aiq******** disk_placement_policy: {}
-
Добавьте диски в расписание:
yc compute snapshot-schedule add-disks sched-1 \ --disk-id epdcq9g3co9s********,fhm7mip40dqh********
Результат:
done (3s) id: fc8bplhqmh2b******** folder_id: e1ea8s8l71li******** created_at: "2022-10-03T13:28:01Z" name: sched-1 description: Ежедневное labels: machine: file-server status: ACTIVE schedule_policy: start_at: "2022-12-31T16:04:05Z" expression: 10 16 ? * * snapshot_count: "7" snapshot_spec: {}