Как экспортировать образы дисков виртуальных машин Compute Cloud
Описание задачи
Необходимо загрузить образ одного или нескольких дисков ВМ в локальное хранилище.
Решение
Образ или снимок диска ВМ можно использовать только в рамках Yandex Cloud.
Напрямую из интерфейса Консоли управления
Для решения вашей задачи вы можете воспользоваться сторонним ПО или стандартными средствами ОС для создания образа или резервной копии вашего диска, например, утилитой dd
на машинах с Linux, а затем загрузить образ на локальную машину.
Для этого выполните следующие действия:
Обратите внимание
Утилита dd
работает с образами дисков как с блочными устройствами, а не как с файловыми системами.
Если запустить операцию копирования диска на виртуальной машине, которая в этот момент запущена непосредственно с этого диска — возможна рассогласованность данных в получившемся файле образа. Чтобы избежать этого, настоятельно рекомендуем остановить ВМ и создать из ее системного диска новый образ, а не запускать операцию копирования диска на уже работающей системе.
-
Остановите ВМ, образ диска которой нужно скопировать. Это можно сделать средствами консоли управления или командой в YC CLI:
yc compute instance stop <имя_ВМ>
-
Создайте образ диска ВМ, который нужно скопировать, по этой инструкции.
-
Создайте временную ВМ на базе Linux — на ней вы сможете выполнить операцию копирования.
-
При создании ВМ подключите к ней дополнительный диск.
Затем в качестве его наполнения укажите созданный ранее образ. -
Примонтируйте к ней дополнительный диск (который нужно скопировать), следуя этой инструкции.
-
Создайте новую SSH-сессию и скопируйте дополнительный диск на локальную машину командой:
ssh <имя_пользователя>@<IP_адрес_ВМ> "sudo dd if=/dev/sdb status=progress | gzip -c" > sda.img.gz
При этом образ диска будет сохранен в каталог на локальной машине, откуда была запущена SSH-сессия.
Если вам нужно передать образ диска в рамках Yandex Cloud, вы можете предоставить публичный доступ к образу диска.
Для этого назначьте роль compute.images.user
системной группе allAuthenticatedUsers
. Роль compute.images.user
не предоставляет полномочий на удаление или изменение ваших образов.