Skip to main content

Upload and create an image

Last update:

You can upload the following images to the Selectel image storage:

You can create a disk image from any local or network cloud server disk.
The disk can be either a boot or an extra disk.

Such an image can be used for:

  • for quick setup of identical cloud servers — cloning a server. If the operating system and software are installed on a server, you can deploy already configured servers from the boot disk image. This is faster than configuring the necessary setup for multiple servers;
  • changing the boot disk type;
  • transferring a server to other pools, projects, or accounts;
  • exporting a cloud server network volume;
  • if the image from which the server was previously created is deleted, you can create an image from the server disk and, if necessary, create an identical cloud server.

Limitations

When uploading an image to the Selectel image storage from a file or via a link, the image size must be less than 2048 GB (2 TB).

If you need to upload an image from a larger file, upload it via S3.

You can create an image from a disk smaller than 2048 GB (2 TB).

Upload an image from a file

In the Selectel image storage, an image can be uploaded from a file of a specific size from your local computer. Read more about image size limitations in the Limitations subsection.

  1. In the Control panel, on the top menu, click Products and select Cloud Servers.

  2. Go to the Images section.

  3. Click Create image.

  4. Enter the image name.

  5. Select a location to upload the image to.

    Images smaller than 16 GB are automatically replicated to adjacent pool segments in the location.

  6. Select an operating system.

  7. Select a file as the image source.

  8. Click Upload.

  9. Select the image format or container format. Read more about formats in the Custom images subsection.

    If you are uploading an archive with the .ova container format, we recommend unpacking the archive before uploading so the image works correctly.

    If you are not sure which formats to specify, specify the raw image format and the bare container format.

  10. Optional: select the Specify minimum disk and memory size checkbox and specify the RAM in MB and disk size in GB. This is the minimum disk and RAM size required to create a server from this image. For images in .iso format, you cannot specify minimum values.

    After an image is created, you cannot change the minimum disk and memory size in the Control panel. To change the minimum values, you will need to recreate the image or use the OpenStack CLI.

  11. Click Create.

In the Selectel image storage, an image can be uploaded via a public link to a file of a specific size containing an image. Read more about image size limitations in the Limitations subsection.

  1. In the Control panel, on the top menu, click Products and select Cloud Servers.

  2. Go to the Images section.

  3. Click Create image.

  4. Enter the image name.

  5. Select a location to upload the image to.

    Images smaller than 16 GB are automatically replicated to adjacent pool segments in the location.

  6. Select an operating system.

  7. Select a URL as the image source.

  8. Enter a link to the image file in the https://example.com/file.raw format.

  9. Select the image format or container format. Read more about formats in the Custom images subsection.

    If you are uploading an archive with the .ova container format, we recommend unpacking the archive before uploading for the image to work correctly.

    If you are not sure which formats to specify, specify the raw image format and the bare container format.

  10. Optional: select the Specify minimum disk and memory size checkbox and specify the RAM in MB and disk size in GB. This is the minimum disk and RAM size required to create a server from this image. For images in .iso format, you cannot specify minimum values.

    After an image is created, you cannot change the minimum disk and memory size in the Control panel. To change the minimum values, you will need to recreate the image or use the OpenStack CLI.

  11. Click Create.

Upload an image via S3

  1. Upload the image to S3 using segmented upload.

  2. Get an IAM token for your project (X-Auth-Token).

  3. In the request output, copy the value in the X-Subject-Token field.

  4. Open CLI on your local computer.

  5. Create an image via API:

    curl 'https://<pool>.cloud.api.selcloud.ru/image/v2/images' \
    -H 'X-Auth-Token: <x_auth_token>' \
    -H 'Content-Type: application/json;charset=utf-8' \
    --data '{"name":"<image_name>","disk_format":"<image_format>","container_format":"<container_format>"}'

    Specify:

    • <pool>pool where the image will be uploaded, for example ru-1 (see the URL in the URL list). The list of available pools can be viewed in the Selectel Infrastructure table;

    • <x_auth_token> — IAM token for the project that you copied in step 3;

    • <image_name> — image name;

    • <image_format> — image format. Read more about image formats in the Custom images subsection. If you are not sure which format to specify, specify raw;

    • <container_format> — container format. Read more about container formats in the Custom images subsection.

      If you are uploading an archive with the .ova container format, we recommend unpacking the archive before uploading for the image to work correctly.

      If you are not sure which format to specify, specify bare.

  6. In the request output, copy the value in the id field.

  7. Get the link to the image in S3.

  8. Upload the image to the image storage:

    curl 'https://<pool>.cloud.api.selcloud.ru/image/v2/images/<image_id>/import' \
    -X POST \
    -H 'Content-Type: application/octet-stream' \
    -H 'X-Image-Meta-Store: <pool_segment>' \
    -H 'X-Auth-Token: <x_auth_token>' \
    --data-raw '{"method":{"name":"web-download","uri":"<object_storage_url>"}}'

    Specify:

    • <pool>pool where the image will be uploaded, for example ru-1 (see the URL in the URL list). The list of available pools can be viewed in the Selectel Infrastructure table;
    • <image_id> — ID of the image that you copied in step 6;
    • <pool_segment>pool segment where the image will be uploaded, for example ru-1a. The list of available pool segments can be viewed in the Selectel Infrastructure table;
    • <x_auth_token> — IAM token that you copied in step 3;
    • <object_storage_url> — link to the image in S3 like https://<uuid>.selstorage.ru/container_name/object_name, which you obtained in step 7.

Upload vmdk from a file or via a link

Read more about image size limitations in the Limitations subsection.

  1. Export the virtual machine from VMware in .ovf format. Read more in the Export an OVF Template section of the VMware documentation.

    If the virtual disk is MONOLITHIC_SPARSE or MONOLITHIC_FLAT, you can skip this step, but we recommend exporting the VM in .ovf format.

  2. In the Control panel, on the top menu, click Products and select Cloud Servers.

  3. Go to the Images section.

  4. Click Create image.

  5. Enter the image name.

  6. Select a location to upload the image to.

    Images smaller than 16 GB are automatically replicated to adjacent pool segments in the location.

  7. Select an operating system.

  8. Select a file or URL as the image source.

  9. If you selected a file, click Upload. If you selected a URL, enter the link to the image file in the https://example.com/file.raw format.

  10. Select the image format:

    • vmdk — if the virtual machine was exported from VMware in .ovf format or you are uploading a virtual disk of type MONOLITHIC_SPARSE;
    • raw — if you are uploading a virtual disk of type MONOLITHIC_FLAT.
  11. Select the container format:

    • ovf — if the virtual machine was exported from VMware in .ovf format;
    • bare — if you are uploading a virtual disk of type MONOLITHIC_SPARSE or MONOLITHIC_FLAT.
  12. Optional: select the Specify minimum disk and memory size checkbox and specify the RAM in MB and disk size in GB. This is the minimum disk and RAM size required to create a server from this image. For images in .iso format, you cannot specify minimum values.

    After an image is created, you cannot change the minimum disk and memory size in the Control panel. To change the minimum values, you will need to recreate the image or use the OpenStack CLI.

  13. Click Create.

Create an image from a disk

See the limitations on the disk size you can create an image from.

The image creation process depends on the disk type.

  1. If the disk is connected to a cloud server, we recommend turning off the cloud server — an inconsistent image may be created from a running disk.

  2. In the Control panel, on the top menu, click Products and select Cloud Servers.

  3. Go to the Servers section.

  4. In the server's menu, select Create local disk image.

  5. Enter the image name.

  6. Optional: select the Specify minimum disk and memory size checkbox and specify the RAM in MB and disk size in GB. This is the minimum disk and RAM size required to create a server from this image. For images in .iso format, you cannot specify minimum values.

  7. Click Create.