VK Cloud logo
Обновлена 15 апреля 2024 г. в 08:50

Загрузка образов ОС большого объема

В VK Cloud действуют ограничения на размер загружаемых образов операционных систем. При превышении лимита появляется сообщение вида:

An error occurred (InvalidArgument) when calling the UploadPart operation: Part number must be an integer between 1 and 10000, inclusive

Далее рассмотрена загрузка образов размером более 500 ГБ через объектное хранилище Cloud Storage VK Cloud.

Будут использоваться:

  • виртуальная машина размером не менее 500 ГБ;
  • локальная машина семейства Linux с установленной утилитой gzip.

1. Подготовительные шаги

  1. Проверьте возможность миграции. Виртуальная машина должна соответствовать следующим требованиям:

    • операционная система ВМ имеет 64-битную архитектуру;
    • текущий пользователь обладает правами администратора;
    • к ВМ подключен хотя бы один диск;
    • ВМ использует эмуляцию BIOS.

    Для миграции ВМ с эмуляцией UEFI используйте Hystax или перенесите данные на новую виртуальную машину с эмуляцией BIOS.

  2. Создайте аккаунт и бакет uc_bucket.

  3. Убедитесь, что у вас установлен и настроен AWS CLI. Укажите в нем данные для подключения к бакету (Access key ID и Secret key). Откройте конфигурационный файл ~/.aws/config и внесите в него изменения:

    [default]region = ru-mskoutput = jsons3 =    max_concurrent_requests = 20    max_queue_size = 10000    multipart_threshold = 1024MB    multipart_chunksize = 384MB    addressing_style = path
  4. Создайте ВМ Ubuntu 22.04 в облаке VK Cloud.

  5. Установите на ВМ утилиту gzip.

  6. Создайте диск размером не менее 600 ГБ и подключите его к ВМ.

2. Загрузите образ в объектное хранилище

  1. Выполните команду:

    dd if=/dev/vdX bs=32M | gzip -c | aws s3 cp - s3://uc_bucket/image.raw.gz --endpoint-url http://hb.ru-msk.vkcs.cloud
  2. Убедитесь, что загрузка началась, с помощью команды:

    aws s3api list-multipart-uploads --bucket uc_bucket --endpoint-url http://hb.ru-msk.vkcs.cloud
  3. Проверьте партиции с помощью команды:

    aws s3api list-parts --bucket uc_bucket --endpoint-url http://hb.ru-msk.vkcs.cloud --key image.raw.gz  --upload-id 3ceXH7brs7r8DohqQ9BsJzfjkkhMxQux67Z8MQXYGh9BvfrmffLufWMzwiLWPbU3XkWE3ibSefgQ1GU81ER66EEHfKMZM8xxqRsDkBaN63XXXX
  4. Дождитесь загрузки в объектное хранилище. Вывод команды aws s3api list-multipart-uploads не должен содержать данных в блоке Uploads.

3. Загрузите образ на диск VK Cloud

  1. Подключитесь к ВМ с помощью SSH.

  2. Проверьте наличие подключенного диска с помощью команды lsblk.

  3. Переместите образ на диск с помощью команды:

    wget https://uc_bucket.hb.bizmrg.com/image.raw.gz -O /dev/vdb/image.raw.gz
  4. Распакуйте образ с помощью команды:

    gunzip -c image.raw.gz | dd of=/dev/vdb bs=32M

4. Создайте образ из диска

Воспользуйтесь инструкцией.

5. Проверьте работоспособность образа

Создайте ВМ, выбрав в качестве операционной системы загруженный образ, согласно инструкции.

Удалите неиспользуемые ресурсы

Созданные ресурсы тарифицируются и потребляют вычислительные ресурсы. Если они вам больше не нужны: