<div><img src="https://top-fwz1.mail.ru/counter?id=3548135;js=na" style="position:absolute;left:-9999px;" alt="Top.Mail.Ru" /></div>
Публичное облако на базе VMware с управлением через vCloud Director
Вход / Регистрация

Создание виртуальных машин с помощью шаблонов в Proxmox

5
6 минут чтения
Средний рейтинг статьи: 5

Proxmox — это мощная, бесплатная и удобная платформа виртуализации, которая превращает один физический сервер в гибкий центр управления виртуальными машинами. Используя единый веб-интерфейс, вы можете запускать и управлять множеством серверов, создавать их резервные копии и объединять их в локальные сети.

Виртуализация — это не только изоляция окружений, но и скорость развертывания. Классическая установка операционной системы на виртуальные серверы через ISO-образ — надежный, но медленный путь: загрузка, ручная установка, настройка сети, добавление пользователей. Такой процесс занимает время и требует внимания администратора на каждом шаге.

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

Использование готовых облачных образов в Proxmox позволяет за считанные минуты получить рабочую виртуальную машину, сразу готовую к работе и интеграции в рабочие процессы. А с помощью Cloud-Init можно автоматически добавить пользователя, задать пароль, добавить ключи SSH и настроить сетевые параметры.

В инструкции мы рассмотрим, как с помощью Proxmox создать шаблон из облачного образа Ubuntu 22.04, а на его основе — создавать новые виртуальные машины и изменять основные настройки с помощью Cloud-Init.

Описанный способ подойдет для образов в форматах .img и .qcow2.

Инструкция предполагает, что Proxmox уже развернут на вашем выделенном сервере. 

cloud

Создание виртуальной машины

Переходим в веб-интерфейс Proxmox по адресу https://ваш-ip-aдрес:8006.

В нем создаем машину с такими параметрами:

Вкладка «General»: задаем имя виртуальной машины и ее ID. В качестве ID можно использовать любое удобное число — оно применяется для обращения к серверу в консольных командах.

Image10

Вкладка «OS»: выбираем «Do not use any media».

Image19

Вкладка «System»: ставим чекбокс QEMU Agent для улучшения интеграции между Proxmox и гостевой ОС .

Image8

Вкладка «Disks»: удалите все диски — далее будет использоваться диск из образа.

Image22

Вкладка «CPU»: выставляем 1 ядро. Остальные параметры оставляем по умолчанию. Изменяйте их, только если уверены в своих действиях.

Image5

Вкладка «Memory»: задаем минимальные параметры.

Image2

Вкладка «Network»: выбираем интерфейс, который нужно использовать в виртуальной машине, например vmbr0.

Image27

Сохраняем, но не запускаем виртуальную машину. Запоминаем VMID, так как он потребуется дальше.

Image23

Добавление облачного диска к виртуальному серверу

На странице загрузок на сайте Ubuntu копируем ссылку на образ с архитектурой amd64 и расширением .img.

Image30

Далее нужно добавить эмулятор монитора к созданной виртуальной машине, так как он может отсутствовать в некоторых образах. Он необходим для работы консоли виртуальной машины в интерфейсе Proxmox.

Подключаемся к серверу Proxmox по SSH и выполняем команду ниже. После set в ней нужно указать VMID машины, которую создали:

qm set 100 --serial0 socket --vga serial0

Image31

Далее загружаем образ  на сервер с помощью wget:

wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img

Привязываем образ диска к созданной машине:

qm disk import 100 jammy-server-cloudimg-amd64.img local-lvm

В нашем случае имя хранилища — local-lvm, у вас оно может быть другим.

После успешного импорта вы увидите уведомление:

Image29

В настройках виртуальной машины в разделе «Hardware» видим диск «Unused»:

Image14

Заходим в его настройки, ставим галочку «Advanсed», отмечаем чекбоксы «Discard» и «SSD emulation», нажимаем «Add».

Image32

В этом же разделе удаляем CD/DVD-устройство, оно больше не понадобится:

Image1

Добавим диск Cloud-Init. Для этого нажимаем «Add» в выпадающем списке выбираем «CloudInit Drive».

Image18

В его настройках выбираем место хранения.

Image15

Далее выберем диск, с которого будет загружаться система. Для этого  переходим в раздел «Options» → «Boot Order».

Image12

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

Image6

Проверим, что машина корректно создалась. Для этого запускаем ее и открываем консоль кнопками «Start» и «Console» в правом верхнем углу.

Image4

В консоли дожидаемся приглашения авторизации. Если оно появилось, значит, загрузка прошла успешно. Консоль можно закрыть.

Image25

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

В Proxmox шаблон — это «заготовка» для виртуальной машины с уже заданными основными параметрами

Чтобы создать шаблон из этой виртуальной машины, в списке виртуальных машин нажмите на нее правой кнопкой мыши. В открывшемся меню выберите «Convert to template».

Image11

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

Теперь на основе этого шаблона мы можем создавать виртуальные машины с указанными параметрами в Cloud-Init.

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

Для примера создадим виртуальный сервер с пользователем Timeweb.

На шаблоне нажимаем правой кнопкой мыши и выбираем «Clone».

Image16

Задаем имя и выбираем режим «Full Clone», чтобы виртуальная машина не была зависима от шаблона.

Image20

Заходим в настройки новой машины, указываем нужные параметры CPU.

Image9

И RAM.

Image24

Для изменения размера диска выбираем его в списке, далее в меню «Disk Action» выбираем «Resize».

Image17

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

Скажем, если мы добавим 10 ГБ, то будет создан диск на 12,2 ГБ, так как в образе размер диска —2,2 ГБ. 

Нажимаем «Resize disk».

Image26

Переходим в раздел «Cloud-Init». В нем указываем пользователя и задаем ему логин.

Image3

И пароль.

Image7

Если указать пользователя root и задать пароль, вы сможете подключаться под root с новым паролем. Это может быть удобно, если создание нового пользователя не требуется.

Также в Cloud-Init можно настроить следующие параметры:

  • SSH public key: ключ SSH, который нужно будет добавить на сервер. По умолчанию в виртуальном сервере, созданном из этого образа, отключена возможность подключаться по SSH с паролем. 
  • Upgrade packages: значение yes указывает, что при создании сервера нужно обновить пакеты.
  • IP Config: здесь можно указать статический IP-адрес, что может быть удобно если у виртуальных машин планируете использовать разные внешние IP-адреса. Также можно использовать DHCP для получения динамического адреса.

Image28

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

Image13

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

Image21

Подготовили для вас выгодные тарифы на облачные серверы

Заключение

С помощью шаблонов мы можем быстро добавлять виртуальные машины с разными операционными системами и нужными конфигурациями, изменять в Cloud-Init параметры пользователя и настраивать сеть. 

Кроме того, размеры облачных образов занимают значительно меньше места на диске. Например, облачный образ Ubuntu 22.04 весит всего 646 MБ, а ISO-образ — 2 ГБ.

Этот способ создания виртуальных машин особенно ценен, когда важны скорость, стабильность и предсказуемость результата: в тестовых средах, DevOps-инфраструктуре, при массовом развертывании однотипных сервисов.  

А главное — он освобождает время, которое можно потратить не на бесконечные клики «Далее» в установщике, а на действительно важные задачи: развитие и оптимизацию инфраструктуры.

5
6 минут чтения
Средний рейтинг статьи: 5
Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
Пока нет комментариев