# Как экспортировать образы дисков виртуальных машин Compute Cloud


## Описание задачи {#case-description}

Необходимо загрузить образ одного или нескольких дисков ВМ в локальное хранилище.

## Решение {#case-resolution}

Образ или снимок диска ВМ можно использовать только в рамках Yandex Cloud.
Напрямую из интерфейса [Консоли управления](https://kz.console.yandex.cloud) или средствами YC CLI загрузить его к себе на компьютер не получится.

Для решения вашей задачи вы можете воспользоваться сторонним ПО или стандартными средствами ОС для создания образа или резервной копии вашего диска, например, утилитой `dd` на машинах с Linux, а затем загрузить образ на локальную машину.
Для этого выполните следующие действия:

 {% note warning "**Обратите внимание**" %}
  
  Утилита `dd` работает с образами дисков как с блочными устройствами, а не как с файловыми системами.

  Если запустить операцию копирования диска на виртуальной машине, которая в этот момент запущена непосредственно с этого диска — возможна рассогласованность данных в получившемся файле образа. Чтобы избежать этого, настоятельно рекомендуем остановить ВМ и создать из ее системного диска новый образ, а не запускать операцию копирования диска на уже работающей системе.

 {% endnote %}

1. Остановите ВМ, образ диска которой нужно скопировать. Это можно сделать средствами консоли управления или командой в YC CLI:

   ```bash
   yc compute instance stop <имя_ВМ>
   ```

2. Создайте образ диска ВМ, который нужно скопировать, [по этой инструкции](../../../compute/operations/image-create/create-from-disk.md).

3. Создайте временную ВМ на базе Linux — на ней вы сможете выполнить операцию копирования.

4. При создании ВМ [подключите к ней дополнительный диск](../../../compute/operations/vm-control/vm-attach-disk.md).
   Затем в качестве его наполнения укажите созданный ранее образ.

5. [Подключитесь к созданной временной ВМ по SSH](../../../compute/operations/vm-connect/ssh.md).

6. Примонтируйте к ней дополнительный диск (который нужно скопировать), [следуя этой инструкции](../../../compute/operations/vm-control/vm-attach-disk.md#mount-disk-and-fix-uuid).

7. Создайте новую SSH-сессию и скопируйте дополнительный диск на локальную машину командой:

   ```bash
   ssh <имя_пользователя>@<IP_адрес_ВМ> "sudo dd if=/dev/sdb status=progress | gzip -c" > sda.img.gz
   ```

   При этом образ диска будет сохранен в каталог на локальной машине, откуда была запущена SSH-сессия.

Если вам нужно передать образ диска в рамках Yandex Cloud, вы можете предоставить публичный доступ к образу диска. 
Для этого назначьте роль `compute.images.user` системной группе `allAuthenticatedUsers`. Роль `compute.images.user` не предоставляет полномочий на удаление или изменение ваших образов.