---
title: 'Модифицировать готовый образ'
sidebar_label: 'Модифицировать готовый образ'
sidebar_position: 4
description: 'Как модифицировать готовые образы Selectel'
---

import Formbricks from '@theme/MDXComponents/Formbricks'

# Модифицировать готовый образ

Вы можете модифицировать готовые образы — например, преобразовать образ для увеличения скорости передачи данных до 5 Гбит/с или включить для образа загрузку по UEFI.

1. [Настройте OpenStack CLI](#configure-openstack-cli).

2. [Создайте сетевой диск из готового образа](#create-volume-from-default-image).

3. [Создайте собственный образ из диска](#create-custom-image-from-volume).

4. [Примените свойства к собственному образу](#apply-propetries-to-custom-image).

5. [Удалите сетевой диск](#delete-volume).

## 1. Настроить OpenStack CLI \{#configure-openstack-cli}

Используйте подраздел [Настроить OpenStack CLI средствами ОС](/cloud-servers/tools/openstack-cli/configure-openstack-cli.mdx#configure-openstack-in-os) или [Настроить OpenStack CLI в Docker-контейнере⁠](/cloud-servers/tools/openstack-cli/configure-openstack-cli.mdx#configure-openstack-in-docker-container) инструкции OpenStack CLI.

## 2. Создать сетевой диск из готового образа \{#create-volume-from-default-image}

1. [Откройте OpenStack CLI](/cloud-servers/tools/openstack-cli/).

2. Создайте диск:

   ```bash
   openstack volume create \
       --image <image> \
       --size <size> \
       --type <volume_type> \
       --availability-zone <pool_segment> \
       <volume_name>
   ```

   Укажите:

   * `<image>` — ID или имя [готового образа](/cloud-servers/images/about-images.mdx#default-images), который будет источником для создания диска. Список образов можно посмотреть с помощью команды `openstack image list`;
   * `<size>` — размер диска в ГБ. Для диска минимальный размер должен быть равен размеру источнику, из которого он создан. Учитывайте [лимиты сетевых дисков](/cloud-servers/volumes/about-network-volumes.mdx#network-volume-limits) на максимальный размер;
   * `<volume_type>` — ID или имя [типа сетевого диска](/cloud-servers/volumes/about-network-volumes.mdx#network-volume-types). Например, `universal2.ru-9a` — имя для создания сетевого диска с типом SSD Универсальный v2 в [сегменте пула](/infrastructure/availability-matrix.mdx#network-volumes) ru-9a. Список типов диска можно посмотреть с помощью команды `openstack volume type list` или в таблице [Список типов сетевого диска во всех сегментах пула](/cloud-servers/volumes/about-network-volumes.mdx#network-volume-types-full-list);
   * `<pool_segment>` — [сегмент пула](/infrastructure/locations.mdx#pool), в который загрузится образ, например `ru-9a`. Список доступных сегментов пула можно посмотреть в таблице [Инфраструктура Selectel](/infrastructure/locations.mdx#selectel-infrastructure);
   * `<volume_name>` — имя диска.

3. Опционально: проверьте, что созданный диск в статусе `AVAILABLE`:

   ```bash
   openstack volume show <volume> -c status
   ```

   Укажите `<volume>` — ID или имя сетевого диска. Список дисков можно посмотреть с помощью команды `openstack volume list`.

## 3. Создать собственный образ из диска \{#create-custom-image-from-volume}

1. [Откройте OpenStack CLI](/cloud-servers/tools/openstack-cli/).

2. Создайте образ:

   ```bash
   openstack image create \
       --volume <volume> \
       --min-disk <disk_size> \
       --min-ram <ram_size> \
       <image_name>
   ```

   Укажите:

   * `<volume>` — ID или имя сетевого диска. Список дисков можно посмотреть с помощью команды `openstack volume list`;
   * `<disk_size>` — размер диска в ГБ. Минимальный размер диска должен быть равен размеру диска [готового образа](/cloud-servers/images/about-images.mdx#default-images), из которого вы [создали диск](#create-volume-from-default-image). Учитывайте [лимиты сетевых дисков](/cloud-servers/volumes/about-network-volumes.mdx#network-volume-limits) на максимальный размер;
   * `<ram_size>` — размер памяти в ГБ. Минимальный размер памяти должен быть равен размеру памяти [готового образа](/cloud-servers/images/about-images.mdx#default-images), из которого вы [создали диск](#create-volume-from-default-image);
   * `<image_name>` — имя образа.

## 4. Применить свойства к собственному образу \{#apply-propetries-to-custom-image}

1. [Откройте OpenStack CLI](/cloud-servers/tools/openstack-cli/).

2. Дополнительно добавьте одно или несколько нужных свойств:

   ```bash
   openstack image set \
       --property hw_cpu_sockets=<sockets>\
       --property hw_cpu_cores=<cores>\
       --property hw_cpu_threads=<threads> \
       --property hw_firmware_type=<firmware_type> \
       --property hw_video_model=<video_model> \
       --property hw_vif_model=<vif_model> \
       --property hw_vif_multiqueue_enabled=true \
       <image>
   ```

   Укажите:

   * `<sockets>` — количество сокетов CPU;

   * `<cores>` — количество ядер CPU;

   * `<threads>` — количество потоков CPU;

   * `<firmware_type>` — тип прошивки: `bios` или `uefi`;

   * `<video_model>` — драйвер графического устройства: `vga` или `qxl`;

   * `<vif_model>` — тип драйвера виртуальной сетевой карты:

     * `e1000` — со скоростью передачи данных до 1 Гбит/с;
     * `e1000e` — со скоростью передачи данных до 2,5 Гбит/с;
     * `virtio` — у драйвера нет ограничений по скорости передачи данных, но ограничение облачной платформы по умолчанию — 3 Гбит/с;

   * `hw_vif_multiqueue_enabled=true` — свойство включает возможность использования сетевым драйвером `virtio` нескольких vCPU. Это нужно для повышения скорость передачи данных с 3 Гбит/с до 5 Гбит/c;

   * `<image>` — ID или имя образа. Список образов можно посмотреть с помощью команды `openstack image list`.

## 5. Удалить сетевой диск \{#delete-volume}

1. [Откройте OpenStack CLI](/cloud-servers/tools/openstack-cli/).

2. Удалите сетевой диск, который вы [создали из готового образа](#create-volume-from-default-image):

   ```bash
   openstack volume delete <volume>
   ```

   Укажите `<volume>`  — ID или имя сетевого диска. Список дисков можно посмотреть с помощью команды `openstack volume list`.

<Formbricks />
