Создание и загрузка собственного образа на VPS-сервер

Для корректной установки и работы функционала панели управления загружаемый образ виртуального сервера должен быть предварительно подготовлен. 

В этой статье мы расскажем, как развернуть образ на сервере – рассмотрим основные требования к образу, а также шаги по установке необходимого программного обеспечения.

Итак, вы можете подготовить образ, развернув виртуальную машину в среде виртуализации (например, при помощи QEMU, VirtualBox, VMware или любого другого гипервизора) и на VPS, выполнив необходимые настройки и затем выгрузив готовый образ.

Требования к образу

Загружаемый образ диска должен соответствовать следующим требованиям:

Загрузка операционной системы

  • Поддерживаются образы операционных систем на базе Linux – VPS должна быть на одном из его дистрибутивов
  • В качестве загрузчика должна использоваться версия GRUB, совместимая с BIOS. Система с UEFI-загрузчиком запущена не будет
  • Диск образа должен использовать таблицу разделов GPT или MBR. Проверить разбивку можно такими утилитами, как gdisk или fdisk. Пример вывода для gdisk:
gdisk -l /dev/vda
GPT fdisk (gdisk) version 1.0.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

fdisk:

fdisk -l
...
Disklabel type: gpt
...
  • Разделы диска должны монтироваться в файле /etc/fstab по UUID

Файловые резервные копии

При выполнении автоматического резервного копирования сохраняются файлы только из первого раздела на диске: например, /dev/sda1 или /dev/vda1. Мы рекомендуем размещать файлы операционной системы на нем.

Пример корректной разметки:

NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda       8:0    0   30G  0 disk
├─sda1    8:1    0   29G  0 part /
├─sda14   8:14   0    4M  0 part
├─sda15   8:15   0  106M  0 part /boot/efi
└─sda16 259:0    0  913M  0 part /boot

Настройка операционной системы

Установка cloud-init

Для инициализации VPS используется cloud-init. Он должен быть установлен и настроен на автоматический запуск при старте системы.

Вы также можете использовать специальные образы, подготовленные для работы в облаке и имеющие предустановленный cloud-init. Например, на официальных сайтах можно скачать образ сервера Убунту (сайт: Ubuntu Cloud Images) или Alpine Linux (сайт: Alpine Cloud Images).

Установите cloud-init, используя пакетный менеджер вашего дистрибутива. Ниже приведены примеры для популярных систем.

Если вы планируете загрузить образ сервера Linux при использовании дистрибутивов на базе Debian/Ubuntu:

apt install cloud-init

Дистрибутивы на базе Arch Linux:

pacman -S cloud-init

На базе RHEL:

dnf install cloud-init

После установки cloud-init активируйте службы:

systemctl enable cloud-init-local
systemctl enable cloud-config
systemctl enable cloud-final

Для загрузки метаданных с виртуального cdrom-привода необходимо убедиться, что для cloud-init разрешен источник NoCloud. Проверьте, что в директории /etc/cloud отсутствуют файлы, содержащие datasource_list, в списке источников которого отсутствует NoCloud.

Также проверьте, что отсутствуют файлы, отключающие cloud-init, например, cloud-init.disabled.

Если cloud-init уже был запущен при старте системы, для успешной инициализации VPS-сервера перед импортом образа выполните команду cloud-init clean для удаления логов и очистки артефактов.

Настройка сети

Настройки сети будут установлены статически сетевым менеджером при инициализации VPS. Для этого он должен запускаться автоматически при старте системы и поддерживаться cloud-init.

Обратите внимание!
Публичные адреса VPS устанавливаются в префиксе /32:
inet 81.200.119.63/32 scope global eth0
Внешним узлом для публичных адресов всегда является 100.100.1.1:
default via 100.100.1.1 dev eth0 proto static onlink
Адреса приватной сети устанавливаются в префиксе /16:
inet 10.16.0.5/16 brd 10.16.255.255 scope global eth1
В качестве адреса DNS устанавливается DNS-сервер Beget 198.18.18.18.

Для того чтобы процесс установки VPS завершился успешно, сервер должен иметь возможность отправить исходящий запрос по порту 8080. Убедитесь, что в правилах брандмауэра отсутствуют ограничения на исходящие запросы по этому порту.

Установка программного обеспечения

Далее необходимо установить агент, который позволит осуществлять управление сервером и просматривать статистику через панель управления.

Вы можете установить beget-agent или qemu-guest-agent; мы рекомендуем устанавливать beget-agent, так как он обеспечивает полноценное функционирование панели управления сервером.

beget-agent

beget-agent представляет собой нашу расширенную интерпретацию qemu-guest-agent и рекомендован для установки на наши виртуальные серверы.

Пакет доступен в репозиториях debian и rpm.

deb:
Репозиторий: https://packages.beget.com/deb/production
Публичный ключ подписи: https://packages.beget.com/gpg/deb.gpg

rpm:
Репозиторий: https://packages.beget.com/rpm/production
Публичный ключ подписи: https://packages.beget.com/gpg/rpm.gpg

Обратите внимание!
При добавлении репозитория необходимо указать:
Suite: generic
Component: main

Пример добавления ключа и репозитория в Ubuntu:

curl -fsSL https://packages.beget.com/gpg/deb.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/beget.gpg
echo "deb https://packages.beget.com/deb/production generic main" | sudo tee /etc/apt/sources.list.d/beget.list

Добавление репозиториев также описано в документации:

После установки включите службу:

systemctl enable beget-agent

qemu-guest-agent

Вместо beget-agent вы можете установить qemu-guest-agent, однако некоторые метрики не будут отображаться в панели управления.

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

Установка в дистрибутивах на базе Debian/Ubuntu:

apt install qemu-guest-agent

Дистрибутивы на базе Arch Linux:

pacman -S qemu-guest-agent

Операционные системы Linux на базе RHEL:

dnf install qemu-guest-agent

Доступ по SSH

Для подключения по SSH проверьте, что SSH-сервер установлен и автоматически запускается при старте системы.

Команды для включения автозапуска на разных дистрибутивах могут отличаться. Ниже приведены примеры для популярных дистрибутивов.

В дистрибутивах на базе Debian/Ubuntu:

systemctl status ssh

Дистрибутивы на базе Arch Linux/RHEL:

systemctl status sshd

После успешной инициализации VPS будет установлен пароль для root и добавлены пользовательские SSH-ключи, заданные при создании VPS. Также будет добавлен SSH-ключ для работы файлового менеджера в панели управления (если опция включена при создании сервера) и разрешен доступ к SSH по паролю.

Если вы хотите иметь возможность подключаться к пользователю root по паролю, необходимо изменить значение параметра PermitRootLogin на yes в конфигурации sshd. В основанных на Debian дистрибутивах она располагается в файле:

/etc/ssh/sshd_config

Если вы не сможете получить доступ по SSH к серверу после установки, вы можете воспользоваться веб-терминалом в панели управления, чтобы получить доступ через VNC:

Beget терминал

Загрузка и создание образов

Обратите внимание!
Хранение образа оплачивается по тарифу 3,00 руб./мес. за 1 Гб. Объем округляется до целого Гб в большую сторону. Например: образ размером 512 Мб будет тарифицироваться как за 1 Гб.
Вы можете удалить образ после развертывания VPS.

Теперь, когда образ подготовлен к установке, необходимо загрузить его в панель управления. Для этого перейдите в раздел “Образы”:

Beget образы

Нажмите “Импортировать или создать образ”:

управление и загрузка образов

В открывшемся окне будет доступно три источника для загрузки образа: файл, ссылка и виртуальный сервер.

Файл образа должен иметь один из следующих форматов:

img / iso / qcow2 / raw / vdi / vhd / vhdx / vmdk

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

Также вы можете задать имя, под которым образ будет отображаться в панели.

Загрузка из файла

Выберите файл на своем компьютере. Система автоматически рассчитает стоимость хранения образа, исходя из его размера.

Создание образов

После нажатия на кнопку “Создать” начнется загрузка образа:

Beget новый образ

После окончания загрузки файла создание образа продолжится в фоновом режиме – вы получите соответствующее уведомление:

Создание образа Бегет
Бегет создать образ

Загрузка по ссылке

Вы можете указать ссылку на образ для загрузки:

Скачать образ

После нажатия на кнопку “Создать” загрузка образа будет происходить в фоновом режиме:

Beget загрузка образа

Создание из виртуального сервера

Вы можете создать образ операционной системы виртуального сервера, работающего на вашем аккаунте.

Мы рекомендуем останавливать сервер на время создания, чтобы избежать ошибок в готовом образе. Для остановки сервера поставьте галочку напротив пункта “Остановить сервер для обеспечения целостности образа”.

Beget виртуальный сервер

После окончания загрузки образ будет находиться в процессе создания еще некоторое время:

Beget загрузка образа

Управление образом

Для управления кликните на кнопку напротив образа:

Beget управление образом

Скачивание образа

Вы можете загрузить образ – для этого нажмите на кнопку “Скачать по ссылке”. Ссылка будет действительна 1 час.

Beget скачать образ по ссылке

Редактирование образа

Нажмите на кнопку “Редактировать”, чтобы изменить параметры образа. Вы можете изменить отображаемое в панели наименование образа.

Вы также можете изменить локацию, в которой размещен образ. Для этого выберите новую локацию в выпадающем списке.

Обратите внимание!
Виртуальный сервер может быть создан только в той же локации, где размещен образ.
Beget редактировать образ

Удаление образа

Вы можете удалить образ. После удаления восстановить его будет нельзя.

Beget удаление образа

Создание сервера из образа

После окончания создания кликните на кнопку , чтобы перейти к созданию сервера. 

В открывшемся окне выберите, будет ли образ развернут на новый сервер или на уже существующий с удалением всех данных:

Beget установить образ

При выборе варианта “Новый сервер” вы перейдете в раздел создания VPS. Загруженный вами образ будет выбран по умолчанию. Укажите необходимую конфигурацию и дополнительные параметры сервера.

Beget конфигурация сервера

На этом загрузка образа диска Linux завершена. После создания сервера вы сможете подключиться к серверу по SSH или через терминал в панели управления.

Обратите внимание!
Подключение по SSH может быть доступно через несколько минут после запуска виртуального сервера.

Если возникнут вопросы, напишите нам, пожалуйста, тикет из панели управления аккаунта (раздел “Помощь и поддержка”), а если вы захотите обсудить эту статью или наши продукты с коллегами по цеху и сотрудниками облачной платформы Beget – ждем вас в нашем сообществе в Telegram.

10
5874