Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Cloud Registry
    • Yandex AI Studio
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Video
    • Stackland
    • Yandex Cloud Router
    • Yandex Managed Service for Trino
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Yandex StoreDoc
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Managed Service for YDB
    • Managed Service for Sharded PostgreSQL
    • Managed Service for YTsaurus
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • SpeechKit
    • DataSphere
    • Vision OCR
    • Translate
    • VibeCraft
    • Yandex Cloud Detection and Response
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • SmartCaptcha
    • Cloud Desktop
    • GOST Gateway
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Container Registry
    • Managed Service for GitLab
    • SourceCraft
    • Managed Service for Prometheus®
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Message Queue
    • IoT Core
    • Data Streams
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Yandex Cloud Quota Manager
    • Cloud Apps
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Yandex Cloud Trust
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Сделано на Gravity UI
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Yandex Compute Cloud
    • Все инструкции
        • Изменить диск
        • Настроить создание снимков диска по расписаниям
        • Перенести диск в другой каталог
        • Перенести диск в другую зону доступности
        • Перенести образ диска в стороннее S3-хранилище
        • Зашифровать диск
        • Получить информацию о диске
        • Настроить права доступа к диску
        • Удалить диск
    • Просмотр операций с ресурсами
    • Просмотр метрик Monitoring
  • Yandex Container Solution
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

В этой статье:

  • Подготовьте бакет и доступ к нему
  • Подготовьте копию диска и вспомогательную ВМ
  • Установите утилиты и сохраните ключ
  • Подключите бакет
  • Выберите устройство и выгрузите образ
  • Проверьте образ в хранилище
  • Завершите перенос
  • Восстановите образ на отдельный диск
  • Как удалить временные ресурсы
  1. Пошаговые инструкции
  2. Диски
  3. Управление
  4. Перенести образ диска в стороннее S3-хранилище

Перенос образа диска Yandex Compute Cloud в S3-совместимое хранилище стороннего провайдера

Статья создана
Yandex Cloud
Обновлена 12 октября 2026 г.
Открыть в Markdown
  • Подготовьте бакет и доступ к нему
  • Подготовьте копию диска и вспомогательную ВМ
  • Установите утилиты и сохраните ключ
  • Подключите бакет
  • Выберите устройство и выгрузите образ
  • Проверьте образ в хранилище
  • Завершите перенос
  • Восстановите образ на отдельный диск
  • Как удалить временные ресурсы

Вы можете сохранить побайтовую копию диска Compute Cloud в объектном хранилище другого провайдера. Такая копия позволяет хранить данные за пределами Yandex Cloud и использовать их для восстановления.

В этой инструкции вы создадите диск из снимка, подключите его к вспомогательной ВМ на Linux и выгрузите образ диска или раздела с помощью s3fs, dd и gzip. Результат — сжатый образ в файле .img.gz. Создание и запуск ВМ у другого провайдера потребуют отдельного восстановления.

Примечание

В примере используется приватный бакет Selectel в регионе ru-7. Для другого S3-совместимого хранилища замените параметры подключения и проверьте требования провайдера к доступу и размеру объектов.

Чтобы перенести образ диска в S3-совместимое хранилище стороннего провайдера:

  1. Подготовьте бакет и доступ к нему.
  2. Подготовьте копию диска и вспомогательную ВМ.
  3. Установите утилиты и сохраните ключ.
  4. Подключите бакет.
  5. Выберите устройство и выгрузите образ.
  6. Проверьте образ в хранилище.
  7. Завершите перенос.
  8. Восстановите образ на отдельный диск.

Если созданные ресурсы вам больше не нужны, удалите их.

Подготовьте бакет и доступ к немуПодготовьте бакет и доступ к нему

  1. Создайте бакет в Selectel:

    • Укажите имя, например disk-snapshot-dr-bucket. Если имя занято, выберите другое и замените его в командах ниже.

    • Выберите приватный доступ.

    • Выберите тип адресации Path-Style, который используется в команде подключения бакета ниже.

    • Выберите холодный класс хранения.

      Важно

      Перед загрузкой ознакомьтесь с условиями тарификации, включая чтение данных и минимальный срок хранения.

  2. На вкладке Подключение создайте ключ S3 с именем disk-snapshot-bucket-key. В поле владельца ключа выберите Мне для разового переноса либо отдельного сервисного пользователя Selectel для постоянного использования.

  3. Для сервисного пользователя предоставьте доступ к нужному проекту и бакету:

    • чтение и запись объектов;
    • просмотр содержимого бакета;
    • операции составной загрузки (multipart upload).

    Требования к ролям приведены в инструкции по подключению s3fs.

  4. Сохраните Access key и Secret key в защищенном месте. Они понадобятся на вспомогательной ВМ.

Подготовьте копию диска и вспомогательную ВМПодготовьте копию диска и вспомогательную ВМ

  1. Если у вас еще нет снимка диска, образ которого вы хотите перенести к другому облачному провайдеру, создайте его.
  2. Создайте вспомогательную ВМ с Ubuntu или Debian либо используйте существующую. У ВМ должен быть HTTPS-доступ к эндпоинту Selectel.
  3. Создайте диск из снимка в той же зоне доступности, что и вспомогательная ВМ.
  4. Подключите созданный диск к вспомогательной ВМ как дополнительный.
  5. Подключитесь к вспомогательной ВМ по SSH.

Важно

s3fs использует временные файлы и локальный кеш. Запись через gzip не гарантирует отсутствие локальной буферизации. Проверьте свободное место в /tmp или в каталоге, заданном параметром tmpdir утилиты s3fs: планируйте запас вплоть до размера загружаемого сжатого образа.

Установите утилиты и сохраните ключУстановите утилиты и сохраните ключ

Следующие команды до завершения выгрузки выполняйте на вспомогательной ВМ в одной сессии Bash от имени root.

  1. Откройте сессию и установите утилиты:

    sudo -i
    apt-get update
    apt-get install -y s3fs gzip
    set -o pipefail
    umask 077
    

    pipefail позволит обнаружить ошибку dd, даже если следующая команда gzip завершится успешно.

  2. Введите ключи доступа к внешнему бакету:

    read -r -p "Access key: " S3_ACCESS_KEY
    read -r -p "Secret key: " S3_SECRET_KEY
    printf "\n"
    printf "%s:%s\n" "$S3_ACCESS_KEY" "$S3_SECRET_KEY" \
      > "$HOME/.passwd-s3fs"
    unset S3_ACCESS_KEY S3_SECRET_KEY
    chmod 600 "$HOME/.passwd-s3fs"
    

    В этой сессии файл ~/.passwd-s3fs находится по пути /root/.passwd-s3fs.

Подключите бакетПодключите бакет

  1. Создайте каталог монтирования:

    mkdir -p /dr-s3mount
    
  2. Смонтируйте бакет:

    s3fs disk-snapshot-dr-bucket /dr-s3mount \
      -o passwd_file="$HOME/.passwd-s3fs" \
      -o endpoint=ru-7 -o url=https://s3.ru-7.storage.selcloud.ru \
      -o use_path_request_style -o max_dirty_data=512 -o ensure_diskfree=2048
    mountpoint /dr-s3mount
    

    Сверьте регион (endpoint) и эндпоинт S3 API (url) с параметрами на вкладке подключения вашего бакета. Для другого провайдера замените имя бакета, регион и эндпоинт. Описание остальных параметров s3fs приведено в справочнике проекта.

Продолжайте только после успешной проверки mountpoint.

Выберите устройство и выгрузите образВыберите устройство и выгрузите образ

  1. Посмотрите подключенные устройства:

    lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS,MODEL,SERIAL
    

    Сверьте размер и идентификатор с информацией о диске. Устройство /dev/vda1 обозначает только раздел, а /dev/vda — весь диск, включая таблицу разделов. На вспомогательной ВМ имя подключенного диска может отличаться.

  2. Выгрузите образ. В примере выбран раздел /dev/vda1: замените значение SOURCE на проверенный путь к нужному диску или разделу.

    SOURCE=/dev/vda1
    IMAGE="$(hostname).$(basename "$SOURCE").$(date -u +%Y%m%dT%H%M%SZ).img.gz"
    export IMAGE
    
    dd if="$SOURCE" bs=4M status=progress | gzip -c > "/dr-s3mount/$IMAGE"
    

    pipefail позволяет обнаружить ошибку dd, даже если gzip завершился успешно. При сбое объект может остаться неполным — не используйте его для восстановления.

    hostname в имени файла относится к вспомогательной ВМ. Отдельно запишите идентификатор исходного диска.

Проверьте образ в хранилищеПроверьте образ в хранилище

  1. Размонтируйте бакет:

    cd /root
    umount /dr-s3mount
    

    Если размонтирование завершилось с ошибкой, устраните ее, прежде чем продолжать.

  2. Снова подключите бакет командой из раздела Подключите бакет. Повторное подключение позволяет проверить сохраненный объект, а не данные локального кеша предыдущего монтирования.

  3. В панели управления Selectel убедитесь, что объект появился в бакете, имеет ненулевой размер и выбранный класс хранения.

  4. На другой целевой ВМ можно проверить целостность скачанного архива:

    gzip -t "img_file.gz"
    

    Вместо img_file.gz укажите имя скачанного файла. Команда читает архив целиком и проверяет его целостность. Это может занять время; учитывайте стоимость чтения и исходящего трафика у внешнего провайдера.

Завершите переносЗавершите перенос

На вспомогательной ВМ размонтируйте бакет:

umount /dr-s3mount

Сохраните имя объекта, устройство-источник, размер диска и время копирования. Перед удалением исходного диска выполните пробное восстановление на отдельный диск: целостность gzip сама по себе не доказывает способность системы корректно загружаться.

Восстановите образ на отдельный дискВосстановите образ на отдельный диск

Этот способ побайтово записывает содержимое образа на целевое устройство. Образ целого диска восстанавливайте на целый диск, а образ раздела — на отдельный раздел. Размер целевого диска или раздела должен быть не меньше исходного.

Внимание

Все данные целевого устройства будут перезаписаны. При восстановлении образа целого диска будет перезаписана и его таблица разделов. Образ отдельного раздела не содержит таблицу разделов исходного диска.

  1. Скачайте .img.gz на ВМ с Linux, подключите целевой диск и определите его имя:

    lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS,MODEL,SERIAL
    

    Убедитесь, что выбран дополнительный диск, а не загрузочный диск ВМ. Диск и его разделы не должны быть смонтированы. Размонтируйте их перед записью.

  2. Выполните команды в Bash. Вместо значения IMAGE укажите имя скачанного архива. Замените /dev/REPLACE_ME на целевой диск, например /dev/vdc, если сохранен образ целого диска, или на целевой раздел, например /dev/vdc1, если сохранен образ раздела:

    set -o pipefail
    IMAGE="node3.vdb.20261012T082919Z.img.gz"
    TARGET="/dev/REPLACE_ME"
    
    # Проверить целостность архива перед записью.
    gzip -t "$IMAGE" || exit 1
    
    # Распаковать непосредственно на диск, без промежуточного .img.
    if ! gzip -dc "$IMAGE" |
      sudo dd of="$TARGET" bs=4M iflag=fullblock conv=fsync status=progress
    then
      echo "Ошибка восстановления. Целевой диск может быть записан частично."
      exit 1
    fi
    echo "Запись образа на диск завершена."
    

Как удалить временные ресурсыКак удалить временные ресурсы

После успешной проверки восстановления вы можете удалить неиспользуемые ресурсы:

  • вспомогательную ВМ;
  • копии дисков;
  • снимки.

Была ли статья полезна?

Предыдущая
Перенести диск в другую зону доступности
Следующая
Зашифровать диск
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Сделано на Gravity UI
Проект Яндекса
© 2026 ООО «Яндекс.Облако»