Создание бекапа для ВМ
После того как мы настроили ВМ необходимо её забекапировать на всякий случай. Для создания бекапа в облаке существуют два инструмента: снапшот и образ.
Разница между снапшотом и имиджем в размере. Образ больше весит и делается дольше. Но он быстрее раскатывается. Мы создадим и имидж, и снапшот. Для ВМ, которую мы подготовили ранее: https://teletype.in/@cameda/7eoIHj2pvv0
И снапшот, и имидж создаются не для ВМ, а для диска этой ВМ. Поэтому нам потребуется идентификатор диска.
yc compute instance get srv-1 --format=json | jq -r '.boot_disk' | grep disk_id
Выполнять операции бекапирования лучше на выключенной ВМ, чтобы не было никаких изменений в файловой системе и память была очищена. Поэтому ВМ предварительно выключаем.
yc compute instance stop fhmfmvmvs62t20ueehuh
yc compute snapshot create \ --name first-snapshot \ --description "my SuperVM with user+prog+pass" \ --disk-id fhm6cvqjmtle9uuhsk7j \ --async
yc compute image create \ --name first-image \ --description "my SuperVM with user+prog+pass" \ --source-disk-id fhm6cvqjmtle9uuhsk7j \ --async
По снапшотам и образам можно посмотреть разную полезную информацию:
yc compute snapshot list yc compute snapshot get fd8g935utkmhjm4c3990 yc compute snapshot list-operations fd8g935utkmhjm4c3990
yc compute image list yc compute image get fd8gh1a629f446saf3p4 yc compute image list-operations fd8gh1a629f446saf3p4
После того как мы создали образ/снапшот из можно восстановить в любой зоне доступности. Именно так и осуществляется перенос ВМ между разными зонами.
Создать новый диск на основе снапшота:
export FOLDER_ID=$(yc config get folder-id) yc compute disk create \ --folder-id $FOLDER_ID \ --zone ru-central1-c \ --name first-snap-disk \ --type network-hdd \ --block-size 4K \ --source-snapshot-id fd8g935utkmhjm4c3990 \ --description "my SuperVM with user+prog+pass" \ --async
Создать новый диск на основе образа:
yc compute disk create \ --folder-id $FOLDER_ID \ --zone ru-central1-b \ --name first-image-disk \ --type network-hdd \ --block-size 4K \ --source-image-id fd8gh1a629f446saf3p4 \ --description "my SuperVM with user+prog+pass" \ --async
Создадим два диска в зонах ru-central1-b и ru-central1-c. Напомню, что изначальный диск находится в зоне ru-central1-a. Также при переносе можно выбрать другой тип диска, чем тот, что был ранее.
Таким образом становится понятно, что образы/снапшоты - это не только удобный инструмент для бекапирования ВМ, но также служит и для переноса ВМ между зонами доступности.
yc compute snapshot add-labels --id fd8g935utkmhjm4c3990 --labels snap=supervm --async yc compute image add-labels --id fd8gh1a629f446saf3p4 --labels img=supervm --async
yc compute snapshot delete fd8g935utkmhjm4c3990 yc compute image delete fd8gh1a629f446saf3p4
Полезные ссылки:
Снимки, что это: https://cloud.yandex.ru/docs/compute/concepts/snapshot
Создать снимок: https://cloud.yandex.ru/docs/compute/operations/disk-control/create-snapshot
Про перенос ВМ в другую зону доступности: https://cloud.yandex.ru/docs/compute/operations/vm-control/vm-change-zone