Перенести облачный сервер
Облачный сервер можно перенести в другой сегмент пула, проект или аккаунт. Для этого нужно создать образ загрузочного диска сервера, перенести образ и создать из него новый сервер. При переносе образа в другой проект или аккаунт можно также изменить сегмент пула. Напрямую перенести сервер невозможно.
Если важно сохранить публичный IP-адрес при переносе сервера или нужно перенести облачную инфраструктуру (серверы, сети, диски, бэкапы и другие ресурсы), мы рекомендуем перенести проект в другой аккаунт. Вся инфраструктура сохранится, в том числе, публичные IP-адреса. При таком переносе нельзя вы брать другой сегмент пула.
Перенести облачную инфраструктуру в другой аккаунт
Для переноса облачной инфраструктуры в другой аккаунт перенесите проект.
Можно перенести проект только в рамках одного сегмента пула. Все объекты проекта сохранятся: серверы, сети, публичные IP-адреса, диски и остальные ресурсы.
Чтобы перенести проект в другой аккаунт, используйте инструкцию Перенести услуги в другой аккаунт.
Перенести облачный сервер в другой сегмент пула, проект или аккаунт
Облачный сервер можно перенести в другой сегмент пула, проект и аккаунт. При переносе образа в другой проект или аккаунт можно также изменить сегмент пула, в том числе, выбрать другой пул и регион.
Ограничения при переносе сервера этим способ ом:
- публичный IP-адрес сервера не будет перенесен. После переноса сервера вы можете создать новый IP-адрес или публичную подсеть. Если вы хотите сохранить публичный IP-адрес, перенесите весь проект в другой аккаунт;
- другие ресурсы проекта не переносятся.
Чтобы перенести сервер:
- Посмотрите, какой диск облачного сервера является загрузочным.
- Создайте образ загрузочного диска облачного сервера.
- Перенесите образ в аккаунт, проект или сегмент пула, в который нужно перенести облачный сервер.
- Создайте облачный сервер из образа загрузочного диска. Если размер образа более 50 ГБ, сначала нужно создать из него диск, а затем создать сервер из диска.
- Если на исходном сервере используются дополнительные диски, перенесите их и подключите к новому серверу.
- Если перенос был не в рамках одного пула, создайте новый публичный IP-адрес для сервера.
1. Посмотреть загрузочный диск
- В панели управления перейдите в раздел Облачная платформа → Серверы.
- Откройте вкладку Серверы → страница сервера.
- Откройте вкладку Конфигурация. Если на вкладке есть поле Локальный диск, то у сервера загрузочный локальный диск.
- Откройте вкладку Сетевые диски. Если в строке с диском есть тег Загрузочный, то у сервера загрузочный сетевой диск.
2. Создать образ загрузочного диска
Панель управления
OpenStack CLI
- Если диск подключен к облачному серве ру, мы рекомендуем выключить облачный сервер — из работающего диска может создаться неконсистентный образ.
- В панели управления перейдите в раздел Облачная платформа → Образы.
- Нажмите Создать образ.
- Введите имя образа.
- Выберите сегмент пула, в который загрузится образ. Образы размером менее 16 ГБ автоматически реплицируются в соседние сегменты в пуле.
- Выберите диск в качестве источника образа.
- Выберите диск — образ можно создать только в том пуле, в котором находится диск.
- Опционально: отметьте чекбокс Указать минимальные требования к диску и памяти. Укажите минимальное количество оперативной памяти в МБ и объем дисков в ГБ. При создании облачного сервера из этого образа панель управления или API автоматически проверят эти ограничения.
- Нажмите Создать.
Процесс создания образа зависит от типа диска.
Образ будет доступен только для одного проекта и пула, для которых вы настроили авторизацию в OpenStack API.
Локальный диск
Сетевой диск
-
Если диск подключен к облачному серверу, мы рекомендуем выключить облачный сервер — из работающего диска может создаться неконсистентный образ:
openstack server stop <server>
Укажите
<server>
— ID или имя сервера. Список можно посмотреть с помощью командыopenstack server list
Сервер перейдет в статус
SHUTOFF
. -
Создайте образ локального диска:
openstack server image create --name <image_name> <server>
Укажите:
<image_name>
— имя образа;<server>
— ID или имя сервера. Список можно посмотреть с помощьюopenstack server list
-
Если диск подключен к облачному серверу, мы рекомендуем выключить облачный сервер — из работающего диска может создаться неконсистентный образ:
openstack server stop <server>
Укажите
<server>
— ID или имя сервера. Список можно посмотреть с помощью командыopenstack server list
Сервер перейдет в статус
SHUTOFF
. -
Отключите сетевой диск от сервера:
openstack server remove volume <server> <volume>
Укажите:
<server>
— ID или имя сервера. Список можно посмотреть с помощьюopenstack server list
;<volume>
— ID или имя сетевого диска. Список список можно посмотреть с помощьюopenstack volume list
-
Проверьте, что сетевой диск перешёл в статус
AVAILABLE
:openstack volume list
-
Создайте образ сетевого диска:
openstack image create --volume <volume> <image_name>
Укажите
<image_name>
— имя образа.
3. Перенести образ
Образ можно перенести в другой аккаунт, проект или сегмент пула.
При переносе образа в другой аккаунт или проект можно также изменить сегмент пула.
Панель управления
OpenStack CLI
-
В панели управления перейдите в раздел Облачная платформа → Образы.
-
В меню образа загрузочного диска выберите Скопировать URL образа.
-
Убедитесь, что вы находитесь в аккаунте и проекте, в который нужно перенести сервер. Откройте меню проектов (название текущего проекта) и выберите нужный проект.
-
Нажмите Создать образ.
-
Введите имя образа.
-
Выберите сегмент пула, в который нужно перенести образ. Облачный сервер перенесется в этот же сегмент.
-
В качестве источника образа выберите URL.
-
Вставьте URL образа, который вы скопировали на шаге 2.
-
Выберите формат образа и формат контейнера.
Если вы не знаете, какие форматы указать, укажите формат образа
raw
, контейнера —bare
. -
Выберите операционную систему.
-
Опционально: отметьте чекбокс Указать минимальные требования к диску и памяти. Укажите минимальное количество оперативной памяти в МБ и объем дисков в ГБ. При создании облачного сервера из этого образа панель управления или API автоматически проверят эти ограничения.
-
Нажмите Создать.
-
В панели управления перейдите в раздел Облачная платформа → Образы.
-
В меню образа загрузочного диска выберите Скопировать URL образа.
-
Убедитесь, что вы настроили авторизацию в OpenStack API для аккаунта, проекта и пула, в который нужно перенести облачный сервер.
-
Создайте образ:
glance image-create-via-import \
--import-method web-download \
--uri <image_url> \
--name <image_name> \
--disk-format <image_format> \
--container-format <container_format> \
--property hw_disk_bus=scsi \
--property hw_scsi_model=virtio-scsi \
--property x_sel_image_owner=Selectel \
--property hw_qemu_guest_agent=yes \
--store <pool_segment>Укажите:
<image_url>
— URL образа, который вы скопировали на шаге 2;<image_name>
— имя образа;<image_format>
— формат образа. Подробнее о форматах образов в подразделе Собственные образы. Если вы не знаете, какой формат указать, укажитеraw
;<container_format>
— формат контейнера. Подробнее о форматах контейнеров в подразделе Собственные образы. Если вы не знаете, какой формат указать, укажитеbare
;<pool_segment>
— сегмент пула, в который нужно перенести облачный сервер, напримерru-1a
. Список доступных сегментов пула можно посмотреть в инструкции Матрицы доступности. Образ перенесется в этот же сегмент. Образы размером менее 16 ГБ автоматически реплицируются в соседние сегменты в пуле.
4. Создать облачный сервер
Если размер образа менее 50 ГБ, то облачный сервер можно создать напрямую из образа загрузочного диска.
Если размер образа более 50 ГБ, мы рекомендуем сначала создать диск из образа, а затем создать сервер из этого диска. Это поможет избежать ошибки при создании сервера.
Панель управления
OpenStack CLI
-
Если размер образа загрузочного диска более 50 ГБ, создайте диск из образа.
-
В панели управления перейдите в раздел Облачная платформа → Серверы.
-
Нажмите Создать сервер.
-
Введите имя облачного сервера. Оно будет установлено как hostname в операционной системе на сервере.
-
Выберите сегмент пула, в который вы перенесли образ загрузочного диска.
-
Нажмите на имя источника по умолчанию. Выберите источник, из которого будет создан сервер:
- если размер созданного образа диска менее 50 ГБ, откройте вкладку Мои образы. Выберите образ загрузочного диска, который вы создали ранее;
- если размер образа более 50 ГБ, откройте вкладку Диски. Выберите диск, созданный из образа загрузочного диска.
Нажмите Выбрать.
-
Выберите конфигурацию облачного сервера:
- фиксированная — линейки с различным соотношением vCPU и RAM до 36 vCPU, 128 ГБ RAM и 1,25 ТБ объема локального диска;
- произвольная — выбор любого соотношения ресурсов до 32 vCPU, 256 ГБ RAM и 1,23 ТБ объема локального диска.
В разных конфигурациях и линейках сервера в зависимости от сегмента пула используются разные процессоры. К конфигурациям можно добавить графические процессоры — подробнее в инструкции Создать облачный сервер с GPU.
После создания сервера можно изменить конфигурацию.
Объем оперативной памяти, который выделяется серверу, может быть меньше указанного — ядро операционной системы резервирует часть оперативной памяти в зависимости от версии ядра и дистрибутива. Выделенный объем на существующем сервере можно проверить с помощью
sudo dmesg | grep Memory
-
Выберите загрузочный (системный) диск сервера:
- локальный диск без сетевых задержек — отметьте чекбокс Локальный SSD NVMe диск. Если вы выбрали произвольную конфигурацию, укажите размер локального диска. Если вы выбрали фиксированную, размер диска будет зависеть от конфигурации;
- или сетевой диск — в поле Тип диска выберите тип диска и укажите его размер.
После создания сервера можно будет заменить только сетевой загрузочный диск.
Нажмите Добавить.
-
Опционально: чтобы добавить к серверу дополнительный диск, нажмите Добавить. Можно добавить несколько дисков.
После создания сервера можно отключить от него дополнительные диски и подключить новые.
Вы можете перенести дополнительные диски, которые были подключены к исходному серверу.
-
Выберите или создайте подсеть, к которой будет подключен сервер:
- приватная подсеть — подсеть без доступа из интернета;
- приватная подсеть с публичным IP-адресом — приватная подсеть и один статический публичный IP-адрес;
- публичная подсеть — все адреса подсети будут доступны из интернета.
-
Чтобы безопасно подключаться к серверу, разместите на нем SSH-ключ. Можно добавить несколько ключей. Поддерживаются типы ключей еd25519, rsa, ecdsa и dsa.
Выберите существующий ключ или нажмите Добавить SSH-ключ. Введите имя ключа и вставьте публичный SSH-ключ в формате OpenSSH. Нажмите Добавить.
Если SSH-ключи не созданы, сгенерируйте их.
-
Опционально: скопируйте и сохраните пароль пользователя
root
(пользователь с неограниченными правами на все действия над системой). Храните пароль в безопасном месте и не передавайте в открытом виде. -
Опционально: чтобы создать прерываемый сервер, отметьте чекбокс Прерываемый сервер.
-
Опционально: если вы планируете создать несколько серверов и хотите повысить отказоустойчивость инфраструктуры, мы рекомендуем использовать группы размещения или размещать облачные серверы в разных сегментах пула — в остальных случаях мы не гарантируем размещение на разных хостах.
Выберите существующую группу размещения или нажмите Создать группу и введите имя группы. Выберите политику размещения:
- Желательно на разных хостах — soft-anti-affinity, система постарается разместить серверы на разных хостах. Если при создании сервера не будет подходящего хоста, он будет создан на том же хосте;
- Обязательно на разных хостах — anti-affinity, серверы в группе обязательно располагаются на разных хостах. Если мы не найдем подходящий хост, сервер не будет создан.
После создания сервера его нельзя будет добавить в группу напрямую — только через создание копии.
-
Опционально: чтобы добавить к серверу дополнительную информацию или фильтровать серверы в списке, добавьте тег. Можно добавить несколько тегов. Автоматически добавляются теги операционной системы и конфигурации.
В поле Теги отметьте существующие теги или введите новый. Максимальная длина тега — 60 символов. Можно использовать латинские и кириллические буквы, цифры и знак дефиса.
-
Опционально: в поле User data вставьте или загрузите скрипт, который выполнится при загрузке системы. Максимальный размер скрипта с данными, которые не закодированы в Base64, — 16 КБ. Примеры скриптов и поддерживаемые форматы можно посмотреть в инструкции User data.
-
Нажмите Создать сервер.
-
Если размер образа загрузочного диска более 50 ГБ, создайте диск из образа.
-
Создайте облачный сервер:
openstack server create \
[--image <image> | --volume <volume> | --snapshot <snapshot>] \
--flavor <flavor> \
--availability-zone <pool_segment> \
--nic net-id=<net_uuid> \
--key-name <key_name> \
<server_name>Укажите:
- тип источника:
--image <image>
— для создания сервера из готового или собственного образа. Параметр<image>
— ID или имя образа. Список образов можно посмотреть с помощьюopenstack image list
;--volume <volume>
— для создания сервера из сетевого диска. Параметр<volume>
— ID или имя диска. Список сетевых дисков можно посмотреть с помощьюopenstack volume list
;--snapshot <snapshot>
— для создания сервера из снапшота. Параметр<snapshot>
— ID или имя снапшота. Список снапшотов можно посмотреть с помощьюopenstack snapshot list
;
<flavor>
— ID или имя флейвора. Флейворы соответствуют конфигурациям облачного сервера и определяют количество vCPU, RAM и размер локального диска (опционально) сервера. Можно использовать флейворы фиксированных конфигураций или создать флейвор. Например,4011
— ID для создания сервера с фиксированной конфигурацией линейки Memory Line с 2 vCPU, 16 ГБ RAM в пуле ru-9. Список флейворов можно посмотреть с помощьюopenstack flavor list
или в таблице Список флейворов фиксированной конфигурации во всех пулах;<pool_segment>
— сегмент пула, в котором будет создан облачный сервер, напримерru-9a
. Список доступных сегментов пула можно посмотреть в инструкции Матрицы доступности;<net_uuid>
— ID приватной или публичной сети, к которой будет подключен сервер. Список можно посмотреть с помощьюopenstack network list
;<key_name>
— имя пары SSH-ключей для сервисного пользователя. Если SSH-ключи не созданы, сгенерируйте их. Список можно посмотреть с помощьюopenstack keypair list
;- опционально:
--block-device-mapping vdb=<extra_volume>
— ID или имя дополнительного диска. Список можно посмотреть с помощьюopenstack volume list
; - опционально:
--tag <tag_name> --os-compute-api-version 2.52
— тег для добавления дополнительной информации о сервере; - опционально:
--tag preemptible --os-compute-api-version 2.72
— тег для создания прерываемого сервера; - опционально:
--user-data <user_data.file>
— путь до скрипта с данными, закодированными в Base64. Сценарии и задачи из скрипта выполнятся при первой загрузке операционной системы. Примеры скриптов можно посмотреть в инструкции User data; <server_name>
— имя сервера.
- тип источника:
5. Перенести дополнительные диски
Если на исходном облачном сервере используются дополнительные диски, их можно перенести.
- Создайте образы дополнительных дисков.
- Перенесите образы дополнительных дисков в аккаунт, проект или сегмент пула, в который вы перенесли облачный сервер.
- Создайте сетевые диски из образов.
- Подключите сетевые диски к новому облачному серверу.
6. Создать публичный IP-адрес для сервера
Панель управления
OpenStack CLI
- В панели управления перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Публичные IP-адреса.
- Нажмите Создать IP-адрес.
- Выберите пул, в котором будет создан публичный IP-адрес.
- Укажите количество публичных IP-адресов.
- Нажмите Создать.
-
Создайте публичный IP-адрес:
openstack floating ip create external-network