Proxmox инструкция по установке

Обновлено:
Опубликовано:

Используемые термины: Proxmox VE, Linux.

В данной инструкции мы пошагово разберем способы установки Proxmox VE, базовую настройку и создание виртуальной машины. Proxmox основан на Debian — поэтому установку будем выполнять на данный дистрибутив Linux. В данной инструкции работа ведется на Proxmox версии 6.

Системные требования
Установка Proxmox
    Из готового образа
    Установка на Debian
    Проверка установки
Базовая настройка
    Как загрузить ISO-образ
    Создание сетей
        Bridge
        NAT
        Сеть между виртуалками
Создание виртуальной машины
Настройка виртуальной машины
    Базовые настройки
    Добавление диска
    Добавление сетевого адаптера
    Установка гостевого агента
Удаление виртуальной машины
Тюнинг Proxmox
    Предупреждения об отсутствии подписки
    Правильный сертификат
Создание нового пользователя
Ubuntu и CentOS
Решение возможных проблем
Дополнительная информация

Системные требования

Требования разделены на минимальные и рекомендованные:

  Минимальные Рекомендованные
Процессор 64bit с поддержкой технологии виртуализации Intel VT или AMD-V
Память 1 Гб 2 Гб для системы + для виртуальных машин.
Дополнительно, если используется хранилище Ceph или ZFS, 1 Гб на наждый ТБ данных.
Накопитель HDD SSD или NVMe
Сеть Сетевой адаптер Минимум, 2 сетевых адаптера на 10 Гбит/сек.

Поддержка виртуализации Intel VT или AMD-V может быть отключена на материнской плате. Для проверки заходим в БИОС — находим раздел настройки процессора (как правило, в пункте меню Advanced) — проверяем, что технология виртуализации (Intel VT, AMD-V, Virtualization Technology, VMX) включена (Enabled). Если мы хотим протестировать платформу и устанавливаем ее на виртуальную машину, то в ее настройках включаем поддержку технологии виртуализации. Например, в VMware ESX 6 в настройке виртуальной машины на вкладке Virtual Hardware раскрываем CPU и ставим галочку Expose hardware assisted virtualization to the guest OS:

Включение виртуализации для виртуальной машины в VMware ESX 6

Установка

Есть два варианта установки Proxmox VE — использовать готовый образ или установка на Debian. Мы рассмотрим оба.

Установка готового образа ISO

1. Переходим на страницу загрузки Proxmox официального сайта. Загружаем дистрибутив, например, Proxmox VE 6.1:

Загрузка дистрибутива Proxmox

2. Если установка выполняется на виртуальную машину, монтируем образ. Если нет — создаем установочную флешку, например, с помощью WinSetupFromUsb или загрузочный диск с помощью InfraRecorder.

3. Загружаем сервер с установочного ISO — мы увидим окно приветствия Proxmox — выбираем пункт меню Install Proxmox VE:

Welcome to Proxmox VE

4. Принимаем лицензионное соглашения, кликнув по I agree.

5. Выбираем диск, на который будет установлена система:

Выбираем диск, на который будет установлен Proxmox

* при необходимости, кликаем по Options и задаем настройки файловой системы и размера раздела.

6. Пишем страну, временную зону, язык раскладки клавиатуры по умолчанию:

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

7. Вводим дважды пароль, который будет использоваться для пользователя root:

8. Прописываем сетевые настройки:

Сетевые настройки Proxmox

* где:

  • Management Interface: сетевой интерфейс для управления сервером виртуальных машин.
  • Hostname (FQDN): имя хоста для сервера.
  • IP Address: IP-адрес нашего сервера.
  • Netmask: маска подсети для сервера.
  • Gateway: шлюз по умолчанию.
  • DNS Server: сервер DNS.

9. В окне «Summary» проверяем введенные данные и кликаем по Install. Начнется процесс установки, который займет не более 10 минут.

10. После установки мы должны увидеть «Installation Successful» — перезагружаем сервер, кликнув по кнопке Reboot.

После переходим к проверке установки.

Установка на Debian

Если мы решили установить Proxmox на уже установленный Debian, выполняем следующую инструкцию.

При установке среды виртуализации меняется ядро Linux. Это может привести к потери работоспособности уже установленных сервисов. Таким образом, установку Proxmox следует выполнять на чистый сервер, а не тот, который уже используется для каких-либо задач.

1. Имя сервера должно разрешаться по его IP-адресу. Для этого либо добавляем А-запись в DNS, либо настраиваем на сервере файл hosts:

nano /etc/hosts

… и добавляем:

192.168.1.55 proxmox.dmosk.local   proxmox

* где 192.168.1.55 — IP-адрес нашего сервера; proxmox — имя сервера; dmosk.local — наш домен, если используется.

2. Добавляем репозитории, которые будем устанавливать для установки  Proxmox PE и дополнительных компонентов:

nano /etc/apt/sources.list

deb http://mirror.yandex.ru/debian/ bookworm main non-free contrib
deb-src http://mirror.yandex.ru/debian/ bookworm main non-free contrib
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription

* обратите внимание, что bookworm — кодовое название 12 версии Debian. Вы должны подставить свое значение:

  • Debian 12 — bookworm.
  • Debian 11 — bullseye.
  • Debian 10 — buster.
  • Debian 9 — stretch.

Чтобы мы могли работать с репозиторием proxmox добавляем в систему цифровую подпись:

wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg

* где 6 — версия устанавливаемого Proxmox.

Обновляем список пакетов:

apt update

3. Устанавливаем Proxmox PE и компоненты:

apt install proxmox-ve open-iscsi

* где proxmox-ve — собственно, сам гипервизор; open-iscsi — iSCSI-клиент для подключения iSCSI-target-ов.

4. Перезагружаем сервер:

systemctl reboot

Проверка установки

В браузере открываем панель управления системой виртуализации по адресу https://<IP-адрес сервера>:8006. В открывшемся окне выбираем язык, вводим логин и пароль от пользователя root:

Должно открыться окно управления.

Начальная настройка

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

1. Загрузка образов

Кликаем по Датацентр — и дважды по storage:

Открываем хранилище Proxmox

* мы можем создать отдельное хранилище для образов ISO. Для этого переходим в раздел ДатацентрХранилищеСоздатьКаталог.

Переходим в раздел Содержимое и кликаем по Загрузить:

Кликаем по Загрузить в Proxmox

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

2. Создание сети для виртуальных машин

Мы рассмотрим примеры создания 2-х режимов сети — Bridge и NAT.

Независимо от способа установки Proxmox, необходимо подключиться к хосту по SSH и установить пакет ifupdown2 командой:

apt install ifupdown2

* ifupdown2 — утилита для конфигурации сетевого интерфейса (по сути, аналог ifupdown, написанный на языке Python).

… в противном случае, при попытке применить сетевые настройки мы получим ошибку you need ifupdown2 to reload networking (500).

Bridge

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

Работать с режимом Bridge нужно очень осторожно. Любое неправильное действие и удаленный доступ к серверу будет потерян. Если работы ведутся на удаленном сервере, рекомендуется сначала потренироваться на какой-нибудь локальной машине.

Также стоит отметить, что при установке PVE из установочного ISO-образа, один Bridge уже будет создан.

Для создания бриджа в панели управления кликаем по нашему серверу Proxmox — переходим в раздел СистемаСеть — обратите внимание, чтобы в системе не было bridge-интерфейсов:

Переход к созданию сетевого интерфейса в Proxmox

… иначе, создавать его не обязательно.

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

Удаляем шлюз из настроек сетевого адаптера

* если мы не сделаем этого, то при настройке Bridge мы получим ошибку Parameter verification failed. (400). gateway: Default gateway already exists on interface ‘ens160’.

Нажимаем Создать и выбираем Linux Bridge:

Создание нового Bridge интерфейса

В открывшемся окне заполняем поля IPv4/CIDR, Шлюз (IPv4), Порты сетевого моста:

Создание нового Bridge интерфейса

* в данном примере мы задаем IP-адрес, на котором будет работать Proxmox (чтобы ничего не перепутать, можно задать IP-адрес физического интерфейса, который будет задействован под Bridge); маска указывается в нотации CIDR и в нашем примере это 24 или 255.255.255.0; в качестве физического интерфейса наш bridge будет использовать ens160.

… нажимаем Создать

Кликаем по Apply Configuration, чтобы применить сетевые настройки:

Создание нового Bridge интерфейса

Подтверждаем действия.

NAT

Данный режим сети активно применяется в случае аренды сервера, где количество IP-адресов лимитировано. В данном случае, все виртуальные машины будут находисться за NAT, в качестве которого выступает сам Proxmox.

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

Создание нового bridge-интерфеса

Итак, кликаем по нашему серверу Proxmox — переходим в раздел СистемаСеть — нажимаем Создать и выбираем Linux Bridge:

Создание нового Bridge интерфейса для NAT

Оставляем имя vmbr1 или пишем любое другое, прописываем IP-адрес с маской сети, в которой будут находиться серверы за NAT:

Настройки при создании Bridge интерфейса для NAT

Нажимаем Создать. Применяем настройки:

Применяем сетевые настройки

Сеть настроена.

Настройка ядра и брандмауэра

Подключаемся к серверу по SSH. Открываем на редактирование файл настройки ядра:

nano /etc/sysctl.d/99-sysctl.conf

… и добавляем разрешение на редирект:

net.ipv4.ip_forward=1

После применяем настройки:

sysctl -p /etc/sysctl.d/99-sysctl.conf

Добавляем правило в брандмауэр:

iptables -t nat -I POSTROUTING -s ‘192.168.122.0/24’ -o vmbr0 -j MASQUERADE

* в данном примере мы создали правило для маскарадинга всех пакетов из подсети 192.168.122.0/24 и для исходящего интерфейса vmbr0. Обратите внимание, что если у нас будет другая подсеть и исходящий интерфейс для сети Интернет, то нужно будет задать другие значения.

Ставим утилиту для сохранения правил iptables:

apt install iptables-persistent

… и сохраняем правила в процессе установки или командой:

netfilter-persistent save

Наш NAT настроен.

Сеть между виртуалками

Данная сеть — частный случай NAT без выхода в Интернет. Мы должны создать бридж с отдельной подсетью без шлюза. При добавлении виртуальным машинам данного сетевого адаптера мы сможем настроить их взаимодействие по внутренней сети.

Создаем бридж, как делали это ранее:

Создание нового Bridge интерфейса для внутреннего трафика

Настраиваем новый интерфейс — задаем имя или оставляем тот, что предложит система, а также указываем IP-адрес:

Создание нового Bridge интерфейса для внутреннего трафика

Создаем интерфейс. Готово — при создании или редактировании виртуалок, мы можем указывать с качестве интерфейса созданный бридж (в данном примере, vmbr2) для изоляции их в отдельную подсеть 192.168.150.0/24.

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

Базовая настройка закончена — можно опробовать наш гипервизор в деле. 

В правой верхней части панели управления кликаем по Создать VM:

Кликаем по Создать VM

В открывшемся окне снизу сразу ставим галочку Расширенный:

Задаем имя виртуальной машине и ставим галочку Запуск при загрузке (если хотим, чтобы виртуалка запускалась автоматически с сервером PVE):

Задаем имя и включаем запуск виртуальной машины при запуске сервера PVE

* в данном примере мы задали имя FS. При желании, также можно изменить VM ID, но он проставляется автоматически и имеет правильное значение.

Выбираем загруженный нами ISO-образ, с которого будем ставить операционную систему, задаем тип гостевой операционной системы и ее версию:

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

* в данном примере мы будем устанавливать Linux Ubuntu. Среди списка операционных систем также доступны Microsoft Windows, Solaris и Other.

На вкладке Система можно оставить все значения по умолчанию:

Системные настройки можно не трогать

* в некоторых случаях, необходимо выбрать другую видеокарту (при установке систем с GUI), а также особый вариант БИОС.

Задаем размер жесткого диска:

Задаем размер для жесткого диска

* 16 Гб для Ubuntu достаточно, однако, для наших задач расчет должен быть индивидуальным для каждой создаваемой виртуальной машины.

Мы можем задать количество процессоров и ядер:

Задаем количество процессоров и ядер для ВМ

* в данном примере мы создаем виртуалку с 2 процессорами, каждый из который с 2 ядрами, итого, 4. Для ненагруженных систем можно оставить значение по умолчанию.

Выделяем память:

Укажем объем оперативной памяти

* наша Ubuntu будет работать с 2 Гб оперативной памяти.

Выбираем созданный нами бридж — либо для получения прямого адреса из сети, либо для NAT:

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

* в данном примере, мы указали vmbr0 для подключения к сети напрямую.

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

Разрешив запуск машины после ее создания

… и нажимаем Готово. Ждем окончания процесса и переходим к консоли:

Подключаемся к консоли сервера

Мы должны увидеть загрузку с ISO-образа.

Настройка виртуальной машины

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

Полезные настройки

Для начала, переходим к виртуальной машине — Параметры:

Переходим к параметрам виртуальной машины

На мой взгляд, чаще всего могут понадобиться следующие настройки:

  • Имя — имя виртуальной машины.
  • Запуск при загрузке — для серверов данный параметр должен быть активирован.
  • Порядок загрузки — позволяет определить, с какого устройства должна запуститься виртуалка в первую очередь.

Для изменения параметра, просто кликаем по нему дважды, меняем значение и нажимаем OK.

Добавление дискового накопителя

Переходим в подраздел Оборудование — кликаем по Добавить и выбираем Жесткий диск:

Добавляем жесткий диск

В открывшемся окне задаем размер диска и нажимаем OK.

Для увеличения размера имеющегося диска устанавливаем на него курсов и кликаем по Изменить размер диска:

Увеличиваем размер диска

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

Добавление сетевого адаптера

Переходим в подраздел Оборудование — кликаем по Добавить и выбираем Сетевое устройство:

Добавляем сетевой адаптер

Как при создании ВМ, выбираем тип сетевого адаптера (бридж или нат) и нажимаем Добавить.

Установка гостевого агента

Обязательная процедура для повышения производительности и возможностей работы с виртуальной машиной. Настройка выполняется как на гипервизоре, так и в самой виртуальной машине. Рассмотрим пример установки агента на базе системы Linux.

В гипервизоре переходим в Параметры, находим пункт QEMU Guest Agent и кликаем по нему:

Кликаем по пункту QEMU Guest Agent

Ставим галочку Use QEMU Guest Agent и нажимаем OK:

Для применения настройки нужно выключить и включить виртуальную машину.

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

а) DEB-based:

apt update

apt install qemu-guest-agent

б) RPM-based:

yum install qemu-guest-agent

Установка завершена.

Для запуска сервиса выполняем:

systemctl enable qemu-guest-agent —now

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

Подробнее процесс описан на странице https://pve.proxmox.com/wiki/Qemu-guest-agent.

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

Для удаления виртуальной машины, сначала ее отключаем — это можно сделать из операционной системы или из панели управления, нажав на стрелку вниз рядом с ВыключитьОстановка:

После кликаем по ДополнительноУдалить:

В открывшемся окне мы должны подтвердить свои намерения удалить виртуальную машину, вписав ее идентификатор:

Добавляем сетевой адаптер

* если мы поставим галочку Purge, то виртуальная машина будет удалена полностью вместе с виртуальным диском.

Кликаем по Удалить — готово.

Тюнинг сервера PVE

Внесем несколько изменений, которые сделают работу с Proxmox VE удобнее.

Отключение предупреждения об отсутствии подписки

Каждый раз при заходе в панель управления мы будем видеть такое предупреждение:

Предупреждение об отсутствии подписки

Оно говорит нам о том, что мы используем бесплатную версию программного продукта. Чтобы сообщение нас не беспокоило, выполним 2 действия:

  1. Отключим платный репозиторий для получения пакетов proxmox.
  2. Отредактируем файл js для отключения данного сообщения.

И так, в SSH открываем на редактирование репозиторий proxmox:

nano /etc/apt/sources.list.d/pve-enterprise.list

Приводим его к виду:

#deb https://enterprise.proxmox.com/debian/pve buster pve-enterprise
deb http://download.proxmox.com/debian/pve stretch pve-no-subscription

* мы закомментировали репозиторий pve-enterprise и добавили pve-no-subscription.
** при большом желании, можно удалить файл репозитория с именем pve-enterprise.list и создать новый — кому как будет удобнее.

Добавляем gpg-ключ для репозитория:

apt-key adv —keyserver keyserver.ubuntu.com —recv-keys 0D9A1950E2EF0603

После обновим список пакетов:

apt update

Последнее — редактируем файл /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js (перед этим его сохраняем):

cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/backup_proxmoxlib.js

sed -i «s/getNoSubKeyHtml:/getNoSubKeyHtml_:/» /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

* данной командой мы находим getNoSubKeyHtml в файле /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js и меняем на getNoSubKeyHtml_.

Закрываем окно браузера с Proxmox, если оно было открыто и запускаем его снова. Входим в систему — сообщение не должно появиться.

Сертификаты

Сервер PVE устанавливается с самоподписанным сертификатом. Это означает, что при подключении к панели управления мы будем видеть предупреждение от системы безопасности. Чтобы браузер принимал сертификат, он должен соответствовать следующим требованиям:

  • Быть выдан доверенным центром сертификации или зарегистрированным в вашей локальной сети, например, локальный AD CS.
  • Быть для доменного имени, по которому мы заходим в панель управления.
  • Иметь актуальные даты начала действия и окончания.

При этом, мы не должны заходить в панель управления по IP-адресу — в противном случае, независимо от сертификата, мы все-равно, получим предупреждение.

И так, сам сертификат можно купить, запросить бесплатно у Let’s Encrypt или создать с использованием локального центра сертификации, например, по данной инструкции. После у нас есть, как минимум, два способа загрузить его.

а) Установка сертификата с помощью графического интерфейса

Получив сертификат, открываем панель управления PVE и переходим к серверу — СистемаСертификаты — кликаем по Загрузить пользовательский сертификат:

Переходим к загрузке сертификатов

В открывшемся окне заполняем поля для закрытого и открытого ключей:

Загружаем ключи

… и нажимаем Загрузить. Система предупредит, что загрузится с новым сертификатом — необходимо закрыть вкладку в браузере и открыть консоль управления снова. Если сертификат загружен правильный, мы не увидим предупреждения.

б) Установка сертификата из командной строки

После развертывания Proxmox создается 2 файла в каталоге /etc/pve/nodes/<имя ноды> (например, /etc/pve/nodes/pve/) с именами pve-ssl.key и pve-ssl.pem. Их нужно заменить.

Сначала создадим их копию:

mkdir -p /backup/proxmox/ssl

cp /etc/pve/nodes/pve/pve-ssl.* /backup/proxmox/ssl/

Предположим, что мы получили сертификаты с помощью Let’s Encrypt и они находятся по пути /etc/letsencrypt/live/pve.dmosk.ru. Тогда копируем нужны ключи:

cp /etc/letsencrypt/live/pve.dmosk.ru/fullchain.pem /etc/pve/nodes/pve/pve-ssl.pem

cp /etc/letsencrypt/live/pve.dmosk.ru/privkey.pem /etc/pve/nodes/pve/pve-ssl.key

Возможно, вы подумаете, что для сертификатов Let’s Encrypt лучше создавать симлинки, вместо копирования файлов. Однако, для каталога /etc/pve создается FUSE файловая система, которая не поддерживает симлинки.

Перезапускаем сервисы:

systemctl restart pvestatd pvedaemon pve-cluster corosync

Создание нового пользователя

При установке PVE создается пользователь root. Рассмотрим процесс добавления еще одного через командную строку.

Подключаемся по SSH или открываем консоль из панели управления. Создаем пользователя в системе:

useradd user

* где user — имя создаваемого пользователя.

После создаем нового пользователя в Proxmox:

pveum useradd user@pam

* в данном примере мы создали пользователя user в области pam.

Задаем пароль:

pveum passwd user@pam

Задаем роль для созданного пользователя, например, административную:

pveum aclmod / -user user@pam -role Administrator

* весь список ролей можно посмотреть в панели администрирования в разделе ДатацентрРазрешенияРоли.

Ubuntu и CentOS

Возможно, кому-то захочется установить Proxmox именно на Ubuntu или CentOS. К сожалению, разработчики остановились на Debian. Возможно, есть неофициальные обходные пути установки Proxmox на другие дистрибутивы Linux, однако такой путь не является приемлемым для продуктивной среды. Для настройка виртуализации на Ubuntu и CentOS предлагаю инструкции:

1. Установка и настройка KVM на CentOS 7

2. Настройка KVM на Ubuntu Server

Возможные ошибки

Рассмотрим некоторые ошибки, с которыми столкнулся я.

Falling back to a fallback locale

Ошибка появляется при установке гостевой утилиты на компьютер с Linux, а также выполнении некоторых других команд.

Причина: это связано с настройками локали в вашей системе. Скорее всего, среди вариантов языковых настроек не перечислен en_US.UTF-8.

Решение: исходя из причины, нам нужно правильно настроить локаль. Это можно сделать в интерактивном режиме командой:

dpkg-reconfigure locales

После выбираем нужные локали, например: en_US.UTF-8 и ru_RU.UTF-8.

Также можно просто отредактировать файл:

vi /etc/locale.gen

Необходимо снять комментарий с en_US.UTF-8:


en_US.UTF-8 UTF-8

После вводим:

locale-gen

Настраиваем формат времени и определяем язык интерфейса:

export LC_TIME=ru_RU.utf8

update-locale LANG=en_US.UTF-8

Гостевая служба помечена как masked

Мы можем заметить, что служба qemu-guest-agent не запускается со статусом masked:

  qemu-guest-agent.service
   Loaded: masked (/dev/null; bad)
   Active: inactive (dead)

Причина: в некоторых операционных системах (я столкнулся в Astra Linux) по умолчанию сервис qemu-guest-agent маскируется.

Решение: маскировку можно снять простой командой:

systemctl unmask qemu-guest-agent

После перечитываем конфигурацию daemon-reload:

systemctl daemon-reload

Можно разрешить запуск сервиса и стартовать его:

systemctl enable qemu-guest-agent —now

Читайте также

Следующие инструкции также могут показаться вам полезными:

1. Настройка кластера Proxmox VE.

2. Конвертирование виртуального диска Proxmox в диск VMware.

3. Включение вложенной виртуализации в Proxmox.

Уровень сложностиПростой

Время на прочтение9 мин

Количество просмотров75K

Привет! Меня зовут Александр Щербаков. Я DevOps команд страхования в Банки.ру. На своём карьерном пути я успел поработать эникейщиком, системным администратором и, наконец, DevOps-инженером с несколькими командами разработки. Как и любой инженер, я стремлюсь постоянно совершенствоваться: получать новые знания, изучать как устоявшиеся, так и только появившиеся технологии. 

И здесь сразу появляется главная проблема — для развития DevOps нужна среда, где можно запускать ПО для исследования. Разработчикам проще: открыл документацию, скачал IDE, начал пробовать и изучать новую технологию. А вот DevOps-инженеру одной только IDE будет мало, так как часть его работы как минимум завязана на Linux серверах. Поэтому важно не просто знать, как использовать готовые решения, но и понимать, как они функционируют на уровне инфраструктуры.

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

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

Еще не так давно вышли обновления популярного софта: Ubuntu 24, аппаратного гипервизора Proxmox 8.2 и Kubernetes 1.30. Хочется попробовать их на практике. 

В статьях раскрою следующие аспекты:

  • Выбор железа. 

  • Установка и настройка Proxmox 8.2.x для работы дома. Создание стандартных образов на базе Ubuntu Server (22 и 24). 

  • Создание и парковка домена у одного из хостеров и получение бесплатного Let’s encrypt wildcard SSL-сертификата на купленный домен. 

  • Сборка и настройка собственного NAS хранилища.

  • Установка сервера Gitlab для обучения CI/CD и хранения написанного кода.

  • Установка Kubernetes: установим runners для Gitlab и сопутствующий софт.

  • Полезные ссылки для самостоятельного изучения.

Эта статья — инструкция, которая поможет начинающим администраторам и DevOps инженерам расширить свои знания и получить прикладной опыт работы с данным стеком технологий. В качестве бонуса в дальнейшем у нас останется платформа и наработки для быстрого запуска личных проектов и полезного софта (например, умный дом, медиасервер и т.д.)

Выбираем железо 

Сразу небольшое отступление: если хотите сделать кластер с гипервизорами Proxmox (два и больше сервера работают вместе), то лучше всего приобретать железо с процессорами одного производителя. Тогда откроется возможность переезда работающих виртуальных машин с одной ноды кластера без остановки самой виртуальной машины.

Итак, для подобных экспериментов нам понадобится железо, на котором всё это будет крутиться. Конечно, можно обойтись и просто домашним ПК, но тот же Virtualbox/Workstation Pro не предназначены для работы 24/7. Для домашнего гипервизора я выбрал Proxmox, так как у него хорошая совместимость с доступным для нас железом. Но предлагаю рассмотреть и другие варианты. 

  1. Одноплатные ПК по типу Raspberry pi: сама малинка и её клоны – Orange PI, Banana PI, Potato Pi и т.д. Нам, к сожалению, не подходит, так как зачастую одноплатники используют в качестве диска microSD карточки, менее надежные и медленные, чем HDD/SSD диски.

  1. Мини-ПК китайских брендов: Beelink, Geekom, Minisforum и других. Рынок заполнен экземплярами с ценником от десяти тысяч рублей и до бесконечности. Чаще всего встречаются мини-ПК на процессорах AMD Ryzen от 3000 серии и выше, а также бюджетные варианты с Intel n100. К плюсам подобных машин я бы отнес компактность, доступность, цену и минимальный шум. К минусам — скудный апгрейд, частое отсутствие разъёмов pci-e и посредственную китайскую сборку из б/у или восстановленных комплектующих.

  1. Б/У сервер с Авито. Хорошая опция для энтузиастов, но найти достойный экземпляр с нормальным ценником сложно. Плюс, если вы живёте в квартире, постоянно шумящий сервер будет раздражать, а электричества «накрутит» больше, чем другие варианты.

  1. Конструктор Лего. Варианты типа старенького ПК/ноутбука или сборка сервера из китайских комплектующих на базе сокетов 2011 и 2011-v3. Ещё не так давно в продажу на площадках стали поступать б/у серверные материнские платы в формфакторах ATX и EATX на тех же сокетах. Производители: Lenovo, Supermicro, Asus и т.д. 

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

У меня самого сейчас в наличии Lenovo Thinkstation, который и трудится в качестве домашнего сервера. Параметры следующие:  

  • процессор intel core i3 10105t 4c/8t

  • 32Gb оперативной памяти SODIMM DDR4

  • общий объем дискового пространства в 1,5 TB на nvme и ssd дисках (по факту — что было в наличии)

  • установленный гипервизор Proxmox 8.2.2

Устанавливаем и настраиваем гипервизор Proxmox

Здесь всё достаточно просто: идём на сайт Proxmox и скачиваем установочный ISO файл. Еще нам понадобится флешка размером от 16 гигабайт. Почему такой большой объём: вместо распространенного Rufus для создания загрузочной флешки, мы задействуем Ventoy. Ventoy позволяет нам не записывать ISO-файлы, как это делает Rufus. Он просто размечает флешку на загрузочный диск, на который можно скопировать ISO файл для его дальнейшего запуска. Таким образом, на одну среднюю флешку может поместиться с пяток полезных ISO образов. Например, у меня реализовано это так: 

  • Я взял внешний корпус для nvme диска и установил туда nvme SSD диск на 256 гигабайт, получив очень шустрый внешний диск. Через разметку Ventoy выделил 50 гигабайт для копирования образов для запуска, остальное пространство — мои личные файлы.

  • На раздел Ventoy сложил несколько нужных мне образов:

При подключении к железу и при запуске с этого внешнего диска они дают следующий результат:

Остаётся просто выбрать образ, с которого мы будем грузиться и устанавливать нужную нам ОС.

Установить Ventoy очень просто:

  • загружаем с официального сайта и разархивируем;

  • вставляем флешку в свободный порт;

  • запускаем Ventoy2Disk и жмём Install. 

  • в появившийся раздел Ventoy копируем ранее скачанный нами ISO Proxmox.

Затем вставляем эту флешку в наше железо, загружаемся в Boot Menu, загружаемся с флешки в Ventoy и выбираем строку с Proxmox iso. Жмём загрузку с ISO и попадаем в меню установки Proxmox. 

Выбираем графическую установку и принимаем лицензионное соглашение (EULA). 

Выбираем жёсткий диск для установки Proxmox. 

Устанавливаем пароль на root пользователя и вписываем почту.

Далее идёт настройка hostname системы и его статического IP адреса. 

На следующей вкладке мы увидим информацию, которую вносили на предыдущих этапах: сверяемся и жмём Install. Установка закончится достаточно быстро, железо перезагрузится, и мы увидим следующий результат:

Дальше идем в браузер. Используя адрес со скриншота (обычно он выглядит как https://ранее_заданный_при_установке_ip:8006/), попадаем в веб-управление Proxmox, попутно соглашаясь на небезопасное https-соединение (в дальнейшем пофиксим через SSL-сертификат):

Вводим root в username и тот пароль, который указывали при установке. Попадаем в панель управления, которая предупреждает, что у нас нет подписки на этот сервер Proxmox. Не волнуйтесь, чуть позже уберём и это сообщение.

Обычно при свежей установке я шёл в консоль, открывая попутно вот эту страницу, и менял платные репозитории на бесплатные,  чтобы в дальнейшем получать обновления софта. Но недавно энтузиасты начали распространять в сети сайт Proxmox VE Helper-Scripts, на котором выложены готовые скрипты для настройки свежего Proxmox. 

Итак, на этом этапе нас интересует Post Install Script

Заходим и копируем его:

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-pve-install.sh)"

В Proxmox открываем вверху Shell, вставляем скопированную строчку и запускаем:

Скрипт спросит про отключение платного репозитория, включение бесплатного, включение тестового репозитория (я выбрал — нет), про отключение плашки о том, что вы используете софт без подписки, про включение/отключение высокой доступности (я выбрал оставить). И  напомнит, что нужно поддерживать команду разработки Proxmox 😊

В конце запустит обновление и перезагрузку системы.

После перезагрузки мы получаем работающий гипервизор для домашнего использования с бесплатными репозиториями для дальнейших обновлений и без раздражающей плашки о подписке. Дальше я обычно использую самописный скрипт, который на выбор качает облачный образ Ubuntu (22.04 или 24.04), и создаёт готовый шаблон CloudInit на базе этих образов. Это нужно для быстрого создания серверов на Ubuntu через клонирование шаблонов. Содержимое скрипта ниже. 

#!/bin/bash
# Указываем директорию
DIRECTORY="/root"
# Меню выбора версии Ubuntu
OPTION=$(whiptail --title "Меню выбора версии Ubuntu" --menu "Выберите версию Ubuntu" 15 60 2 \
"1" "Ubuntu 22.04" \
"2" "Ubuntu 24.04" 3>&1 1>&2 2>&3)
case $OPTION in
    1)
        ISO_FILE="jammy-server-cloudimg-amd64.img"
        URL="https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img"
        TEMPLATE_ID=2204
        TEMPLATE_NAME="Ubuntu-22.04"
        ;;
    2)
        ISO_FILE="noble-server-cloudimg-amd64.img"
        URL="https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img"
        TEMPLATE_ID=2404
        TEMPLATE_NAME="Ubuntu-24.04"
        ;;
    *)
        echo "Неверный вариант"
        exit 1
        ;;
esac
# Проверка существования шаблона с ID TEMPLATE_ID
if qm list | grep -qw "$TEMPLATE_ID"; then
    echo "Шаблон с ID $TEMPLATE_ID уже существует. Пропускаем создание шаблона."
    exit 0
fi
# Проверяем, существует ли файл в директории
if [ -f "$DIRECTORY/$ISO_FILE" ]; then
    echo "Файл $ISO_FILE уже существует в $DIRECTORY. Пропускаем загрузку."
else
    echo "Файл $ISO_FILE не найден в $DIRECTORY. Начинаем загрузку..."
    wget -O "$DIRECTORY/$ISO_FILE" "$URL"
    if [ $? -eq 0 ]; then
        echo "Файл успешно загружен."
    else
        echo "Ошибка при загрузке файла."
        exit 1
    fi
fi
# Создание и настройка виртуальной машины
qm create $TEMPLATE_ID --memory 4096 --cores 2 --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-pci --name $TEMPLATE_NAME
qm set $TEMPLATE_ID --scsi0 local-lvm:0,import-from=$DIRECTORY/$ISO_FILE
qm set $TEMPLATE_ID --ide2 local-lvm:cloudinit
qm set $TEMPLATE_ID --boot order=scsi0
qm set $TEMPLATE_ID --serial0 socket --vga serial0
qm resize $TEMPLATE_ID scsi0 +30G
qm template $TEMPLATE_ID


echo "Шаблон с ID $TEMPLATE_ID и именем $TEMPLATE_NAME успешно создан."

Базовая установка и настройка Proxmox закончена. Далее продолжим ставить сопутствующий софт.

Установка NginxProxyManager и получение Wildcard SSL-сертификата от Let’s Encrypt для использования с приложениями в домашней сети

Сразу предупрежу, что для реализации этой части нужен внешний домен. У меня, например, есть домен k3s.host.

Как видно из названия, это прокси-сервер на Nginx. До знакомства с Proxmox VE Helper-Scripts я обычно создавал LXC контейнер в Proxmox, а в сам контейнер уже ставил docker-compose и, следуя инструкции, создавал прокси-сервер.

Теперь всё намного проще. Нужно скопировать и вставить скрипт в shell Proxmox отсюда.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nginxproxymanager.sh)"

Скрипт проведёт по меню создания LXC контейнера, спрашивая будущий ID, IP адрес, ресурсы и прочее, и установит ProxyManager в сам контейнер. Ссылка для входа на прокси будет такого типа: http://192.168.0.18:81 (у вас будет другая, но 81 порт на конце останется. Зависит от того, какой адрес задали во время работы скрипта.)

Email: admin@example.com
Password: changeme

После ввода логина и пароля последний нам предложат поменять. Меняем и попадаем в меню управления прокси-сервера. 

Дальше нас интересует секция с SSL сертификатами. 

На скриншоте видно, что я использую свой лично приобретённый домен в связке с DNS CloudFlare. Но в статье я опишу бесплатный вариант с DuckDNS. 

Идём на duckdns.org и логинимся любым удобным способом. Попадаем в панель управления DNS. 

В пункте domains придумываем домен. Для тестов я успел взять домен k8s-lab.duckdns.org 

В настройке домена в секции current ip задаём IP-адрес сервера nginxproxymanager. У меня это 192.168.0.18. У вас — тот, что вы указали при установке скриптом. Обязательно запишите токен, он пригодится. 

Возвращаемся в открытую вкладку с nginxproxymanager и начинаем создавать наш SSL-сертификат. Жмём add SSL-certificate, выбираем Let’s Encrypt и заполняем поля в таком виде:

Вписываем ваш свежий домен, email, в DNS провайдерах выбираем DuckDNS и вписываем токен со страницы управления DuckDNS. Нажимаем сохранить и ждём создания вашего сертификата

Возможно, вы можете получить ошибку о том, что certbot ничего не знает про DuckDNS. Для решения этой проблемы нужно зайти в shell самого nginxproxymanager и установить пакет duckdns следующей командой:

pip install -U certbot-dns-duckdns

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

Итак, время проверить работоспособность сертификата. Идём в Hosts и выбираем Proxy Hosts. Нажимаем add proxy host, заполняем данные для Proxmox и сохраняем. 

Теперь при посещении https://proxmox.k8s-lab.duckdns.org попадаём в панель управления Proxmox.

Смотрим, как обстоят дела с сертификатом. 

С ним все отлично — мы получили SSL‑сертификат, который можно будет использовать для любого сервиса внутри сети через прокси-менеджер.

Итак, в сегодняшней статье мы рассмотрели варианты железа для домашней лаборатории, установили и настроили Proxmox для дальнейшей комфортной работы, познакомились с Proxmox VE Helper-Scripts и развернули прокси-сервер, раздающий сертификаты внутри нашей сети.

Если материал окажется интересным и полезным для сообщества, далее планирую показать установку Gitlab и Kubernetes для изучения CI/CD.

Для подготовки статьи я использовал следующие ресурсы: 

  • NginxProxyManager

  • YouTube-видео «Quick and Easy Local SSL Certificates for Your Homelab!»

  • Cloud-Init Support

  • Ubuntu Cloud Images

  • Официальный сайт Proxmox

И множество других мелких статей и видео, из которых я почерпнул информацию 😊

Если ты ищешь стабильную и удобную платформу для виртуализации — Proxmox VE (Virtual Environment) отличный выбор. Это бесплатная и мощная альтернатива VMware и Hyper-V, основанная на Debian, с веб-интерфейсом, поддержкой LXC и KVM, а также функциями кластера, бэкапов и live migration.

Я расскажу, как установить Proxmox с нуля, что настроить после установки и как защитить его от внешнего доступа.

Что нужно для начала

  • Старый или новый компьютер (x86-64)
  • Минимум 4 ГБ ОЗУ (лучше 8+)
  • Желательно SSD-диск
  • Доступ к интернету
  • USB-флешка (8+ ГБ)

Шаг 1: Скачиваем Proxmox VE

  1. Переходим на официальный сайт: https://www.proxmox.com/en/downloads
  2. Скачиваем последний ISO-образ (Proxmox VE Installer ISO).
  3. Записываем образ на флешку с помощью Rufus или balenaEtcher.

💻 Шаг 2: Установка Proxmox VE

  1. Вставляем флешку в сервер/ПК, загружаемся с неё.
  2. В меню выбираем Install Proxmox VE.
  3. Принимаем лицензию, выбираем диск для установки (лучше SSD).
  4. Устанавливаем:
    • Часовой пояс;
    • Пароль root;
    • Имя хоста (например, proxmox.local);
    • IP-адрес вручную или через DHCP (лучше задать статический IP).

После установки сервер перезагрузится. Далее можно зайти через браузер:
📍 https://<IP-сервера>:8006

⚙️ Шаг 3: Первичная настройка

Удаляем ошибку с подпиской (No valid subscription)

Открываем терминал и вводим:

sed -i.bak "s|http://download.proxmox.com|https://enterprise.proxmox.com|g" /etc/apt/sources.list.d/pve-enterprise.list
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-sub.list
apt update && apt full-upgrade -y

Устанавливаем qemu-guest-agent (если будут запускаться Linux VM)

apt install qemu-guest-agent -y

🔐 Шаг 4: Защищаем Proxmox

1. Меняем порт по умолчанию

Файл:

/etc/default/pveproxy

Добавляем строку:

PVE_PROXY_PORT=8443

Перезапускаем:

systemctl restart pveproxy

2. Отключаем root-доступ по SSH

Открываем:

/etc/ssh/sshd_config

Меняем:

PermitRootLogin no

Перезапуск:

systemctl restart ssh

3. Настраиваем брандмауэр (firewall)

В интерфейсе Proxmox:

  • Включи Firewall на датацентре;
  • Разреши доступ к 22, 8006 (или кастомный порт), ICMP, DNS и т.д.;
  • Добавь правило «DROP all» в конец.

4. Включаем двухфакторную аутентификацию (2FA)

  • Заходи: Datacenter → Permissions → Users → root@pam;
  • Включи TOTP;
  • Отсканируй QR-код в Google Authenticator или Authy.

5. Бэкап конфигурации

Настрой регулярные бэкапы на внешние диски, CIFS/NFS или облако (через rclone).

📦 Шаг 5: Установка и запуск ВМ

  1. Загрузи ISO (например, Ubuntu, Windows).
  2. Создай VM: Укажи память, CPU, диск, загрузочный ISO.
  3. Запусти установку гостевой системы.
  4. Установи внутри гостя qemu-guest-agent и включи его в настройках VM.

✅ Заключение

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

Если интересно, могу сделать отдельные гайды:

  • установка Windows/Ubuntu в Proxmox;
  • интеграция с Tailscale/VPN;
  • запуск Home Assistant или pfSense;
  • миграция с VirtualBox/ESXi.

Пиши в комментариях или в Telegram — рад помочь!

  • Требования для установки Proxmox
  • Как установить Proxmox
  • Как настроить Proxmox
  • Начало работы
  • Настройка дисковых накопителей
  • Подключение нового хранилища данных
  • Создание виртуальной машины
  • Настройка автозапуска

Proxmox – это cистема виртуализации с открытым исходным кодом, которая позволяет запускать несколько виртуальных машин (ВМ) и контейнеров на одном хосте. 

Она предоставляет графический веб-интерфейс пользователя (GUI). С помощью него вы можете управлять всей инфраструктурой виртуализации: в том числе созданием, миграцией, резервным копированием и мониторингом виртуальных машин.

Proxmox поддерживает различные технологии виртуализации, включая KVM, LXC и OpenVZ, а также включает в себя такие функции, как: 

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

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

Требования для установки Proxmox

  • Физический или выделенный сервер.
  • 64-битный процессор.
  • Минимум 4 ГБ ОЗУ, но для лучшей производительности рекомендуется не менее 8 ГБ.

Если у вас еще нет подходящего сервера, то вы можете арендовать его в SpaceWeb. 

Наши выделенные серверы располагаются в дата-центрах на территории России, обеспечивая высокую доступность и отказоустойчивость.

Помимо этого, наши клиенты могут рассчитывать на круглосуточную техническую поддержку и профессиональную помощь в подборе сервера, чтобы удовлетворить все их требования. При аренде выделенного сервера у Spaceweb вы получаете надежность, гибкость и доступность по оптимальной цене.  

Как установить Proxmox

  1. Перейдите на страницу загрузок Proxmox и выберите Proxmox Virtual Environment.

  1. Вас перенаправят в архив Proxmox Virtual Environment, где вы найдете образы ISO и всю официальную документацию. Продолжите, выбрав опцию ISO.

На момент написания этого руководства последняя версия установщика Proxmox VE ISO – это 8.0-2. Если доступна более новая версия, выберите ее.  

  1. Чтобы скачать установщик, нажмите кнопку Download и сохраните файл.
  2. Для подключения образа ISO Proxmox к виртуальной консоли сервера вы можете использовать приложение для удаленной консоли, такое как IPMI или iLO. 
  3. Войдите в приложение удаленной консоли.
  4. Найдите раздел виртуальных носителей.
  5. Выберите подключения виртуального CD/DVD.
  6. Выберите образ ISO Proxmox на вашем локальном компьютере и загрузите его в удаленную консоль.
  7. Сохраните настройки и запустите виртуальную консоль. Теперь вам будет доступен образ ISO Proxmox. 
  8. Начните процесс установки с помощью ISO-файла.  
  9. Перед вами появится меню установки Proxmox VE. Выберите Install Proxmox VE (Graphical), чтобы начать стандартную установку.   

  1. Ознакомьтесь и согласитесь с Лицензионным соглашением с конечным пользователем (EULA). Для этого нажмите I agree.

  1. Выберите желаемый жесткий диск для установки Proxmox.   

Для настройки дополнительных параметров (например, файловой системы) нажмите Options. По умолчанию используется «ext4».  

  1.  Щелкните Next.
  2. Затем настройте свое местоположение («Country»), часовой пояс («Time zone) и раскладку клавиатуры («Keyboard Layout»). Как правило, установщик автоматически обнаруживает большинство из этих настроек.

  1. Нажмите Next.
  2. Создайте надежный пароль для административных учетных данных. Введите его в поле «Password».
  3. Подтвердите пароль, введя его повторно в поле «Confirm». 
  4. В графе «Email» пропишите адрес электронной почты для получения системных уведомлений.  

  1. Для завершения установки Proxmox вам необходимо настроить сетевые параметры:
  • в «Management Interface» выберите интерфейса управления;
  • в «Hostname (FQDN)» присвойте имя хоста серверу;
  • в «IP address (CIDR)» укажите доступный IP-адрес;
  • в «Gateway» пропишите настройку шлюза по умолчанию;
  • в «DNS Server» введите конфигурацию DNS-сервера.

Важно! Сейчас вы можете использовать только IPv4 или IPv6-адрес. Если вы хотите использовать оба типа адресов, то измените конфигурацию после завершения установки.

  1. Щелкните Next.
  2. В конце вас попросят убедиться в правильности указанных настроек. Обязательно проверьте их и, если все верно, нажмите Install.  

  1. Дождитесь завершения установки. Это займет не так много времени.

 

  1. Когда установка завершится, Proxmox предложит вам перезагрузиться – нажмите Reboot.   

  1. Затем появится меню GRUB Proxmox. Оттуда выберите «Proxmox VE GNU/Linux» и нажмите Enter.  

  1. Теперь вы можете получить доступ к Proxmox. Для этого откройте браузер и перейдите по указанному ранее IP-адресу и порту 8006:

https://<IP-адрес вашего Proxmox-сервера>:8006/

Например:

Важно! Когда вы перейдете по необходимому IP-адресу, возможно, вы увидите предупреждение о том, что страница небезопасна из-за использования самоподписанных SSL-сертификатов Proxmox VE. Для продолжения работы с веб-интерфейсом Proxmox просто игнорируйте это оповещение.

  1. Чтобы получить доступ к интерфейсу Proxmox, войдите под учетной записью root и введите пароль, который указали во время установки.  

  1. Нажмите Login.
  2. Получив доступ к интерфейсу, вы увидите окно, которое сообщит об отсутствии действительной подписки на сервер. Подписка – это дополнительная опция Proxmox, который совершенно не обязательна к приобретению. Если вы хотите проигнорировать это сообщение, просто кликлите OK.

Готово! Теперь у вас есть доступ к интерфейсу Proxmox.

  

Как настроить Proxmox

Перед началом использования продукта мы рекомендуем выполнить обновление Proxmox до последней версии и настроить параметры безопасности. Это гарантирует наличие всех предусмотренных разработчиком функций и предотвратит возможные проблемы (релизы обычно включают в себя новые возможности и исправления обнаруженных ошибок в коде).

Для обновления приложения выполните следующие шаги:

  1. Отключите платный репозиторий, который установлен по умолчанию, но требует платной подписки. Для этого откройте раздел «Repositories».
  2. Щелкните Add.

  

  1. Перед вами вновь появится окно об отсутствии подписки. Нажмите ОК
  2. Откроется окно добавления репозитория. Из выпадающего списка выберите No-Subscription, а затем подтвердите свой выбор кнопкой Add.    

  1. Перейдите в раздел «Updates» и найдите опцию Refresh

  

  1. На экране снова появится окно об отсутствии подписки. Нажмите ОК
  2. Proxmox обновит источники пакетов с помощью команды apt update

  

  1. Закройте окно и нажмите Upgrade, чтобы загрузить новые версии всех имеющихся пакетов.   

  1. Нажмите Y, чтобы продолжить обновление.  

  1. Дождитесь завершения вызванного процесса и закройте окно.

  1. Выберите имя вашего узла в левой панели и перезагрузите его с помощью опции Reboot.
  2. Щелкните Yes.  

  1. Для обеспечения безопасности сетевого соединения с Proxmox Virtualization Environment следует установить и настроить утилиту Fail2Ban. Она предотвратит попытки взлома путем ограничения количества попыток авторизации.

Для этого откройте серверную консоль в браузере или через SSH и обновите источники пакетов:

apt update

  1. Установите программу Fail2Ban:

apt install fail2ban

  1. Откройте файл конфигурации для изменений:

nano /etc/fail2ban/jail.conf

  1. Измените переменные: 
  • bantime (период блокировки IP-адреса в секундах), 
  • maxretry (максимальное число попыток авторизации). 
  1. Выйдите из редактора с сохранением изменений, нажав CTRL+X и подтвердив кнопкой Y.
  2. Перезапустите службу:

systemctl restart fail2ban

  1. Теперь можно проверить текущий статус утилиты, выведя статистику блокировок IP-адресов удаленных хостов, с которых были предприняты попытки взлома:

fail2ban-client -v status sshd

Начало работы

Программное обеспечение Proxmox готово для виртуализации машин на различных платформах, таких как Windows Server, Ubuntu, Debian, CentOS 8 и другие. 

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

Это повышает надежность системы и может улучшить производительность всего комплекса.

Настройка дисковых накопителей

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

Давайте рассмотрим пример системы с двумя дисками. 

Предположим, что «/dev/sda» содержит гипервизор Proxmox, а «/dev/sdb» пока пуст и будет использоваться для размещения виртуальных машин. 

  1. Создайте новый раздел на диске с помощью команды:

fdisk /dev/sdb

  1. Выберите MBR или GPT для раздела, нажав O для «MBR» или G для GPT.
  2. Создайте новый раздел, нажав N.
  3. Сохраните изменения, нажав W.
  4. Создайте файловую систему ext4:

mkfs.ext4 /dev/sdb1

  1. Создайте каталог, в который будет смонтирован раздел:

mkdir /mnt/storage

  1. Откройте файл «/etc/fstab» для внесения изменений:

nano /etc/fstab

  1. Добавьте новую строку в файле со следующим содержанием:

/dev/sdb1 /mnt/storage ext4 defaults 0 0

  1. Сохраните изменения, нажав CTRL+X и подтвердив операцию кнопкой Y.
  2. Перезапустите сервер для применения настроек:

 shutdown -r now

  1. Проверьте подключенные разделы с помощью команды:
 

df -H

 
Эта команда должна показать, что «/dev/sdb1» смонтирован в каталог «/mnt/storage». Если все в порядке, вы можете продолжать работу.

Подключение нового хранилища данных

Теперь необходимо подключить новое хранилище данных к Proxmox через веб-интерфейс. 

  1. Перейдите в раздел «Datacenter» в панели управления и выберите Add
  2. Заполните следующие поля:
  • «ID» – название подключаемого хранилища.
  • «Export» – укажите значение «/mnt/storage».
  • «Content» – выберите все предложенные варианты.
  1. Завершите процесс, нажав Add

  

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

  1. Прежде чем приступить к созданию виртуальной машины, необходимо скачать ISO-образ с необходимой операционной системой (из любого источника). Например, скопируйте ссылку на образ Debian:

  

Мы рекомендуем проверить ОС локально, чтобы удостовериться в ее работоспособности, и при необходимости приобрести лицензионный ключ для активации после установки. 

  1. Затем этот образ следует подключить к системе через меню «Datacenter». Выберите нужное хранилище и перейдите в раздел «ISO images». 

  1. Кликните по Download from URL.

  1. В появившееся окно вставьте ссылку на ISO-образ из шага 1 и нажмите Download.

  1. Дождитесь завершения загрузки. Это займет некоторое время. 

  1. Теперь приступим непосредственно к созданию виртуальной машины. Для этого нажмите Create VM.  

  1. В разделе «OS» выберите ранее загруженный ISO-образ. Нажмите Next дважды. В «System» можно оставить настройки по умолчанию.

  

  1. В «Disks» укажите размер и тип жесткого диска, а затем щелкните Next.  

  1. В разделе «CPU» вы можете указать количество процессоров. Пропишите желаемое количество в поле «Cores» и щелкните Next.  

  1. В «Memory» задайте объем оперативной памяти и нажмите Next.  

  1. В «Network» можете указать настройки сети или оставить их по умолчанию. 

  1. Нажмите Next.  
  2. Проверьте все выставленные параметры на последнем этапе создания виртуальной машины. 
  3. Поставьте флажок рядом с опцией «Start after created», чтобы ВМ запустилась сразу же по окончании процесса установки.
  4. Если все данные верны, кликните Finish.  

  1. Убедитесь, что новая виртуальная машина появилась в левой панели.   

  1. Перейдите в раздел «Console» и выполните установку операционной системы. 

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

Настройка автозапуска

По умолчанию гипервизор Proxmox не запускает виртуальные машины автоматически. Однако эта функция крайне желательна, чтобы при перезапуске сервера виртуальная машина стартовала вместе с другим установленным ПО. 

Для этого:

  1. Выберите виртуальную машину из списка.
  2. Перейдите во вкладку «Options».
  3. Выберите Start at boot. Поставьте галочку напротив соответствующей надписи. 

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

В заключение, после установки Proxmox VE вы получите мощную платформу виртуализации со множеством функций, включая управление контейнерами и виртуальными машинами, управление хранилищем, управление сетью и высокую доступность. 

Следуя нашему руководству по установке и настроив необходимые параметры, вы легко сможете настроить среду Proxmox VE в соответствии со своими потребностями в виртуализации.

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

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

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

К счастью, попробовать как работает виртуализация достаточно просто. Мы покажем, как создать сервер в виртуальной среде, например, для переноса CRM-системы, используемой в компании. Практически любой физический сервер можно превратить в виртуальный, но вначале необходимо освоить базовые приемы работы. Об этом и пойдет речь ниже.

Как это устроено

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

  • Гипервизор – специальное программное обеспечение, которое позволяет создавать виртуальные машины и управлять ими;
  • Виртуальная машина (далее VM) – это система, представляющая собой логический сервер внутри физического со своим набором характеристик, накопителями и операционной системой;
  • Хост виртуализации — физический сервер с запущенным на нем гипервизором.

Для того чтобы сервер мог работать полноценным хостом виртуализации, его процессор должен поддерживать одну из двух технологий – либо Intel VT, либо AMD-V. Обе технологии выполняют важнейшую задачу — предоставление аппаратных ресурсов сервера виртуальным машинам.

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

Расширенные возможности

Внедрение виртуализации дает возможность иметь в наличии несколько запущенных копий одного сервера. Критический сбой или ошибка, в процессе внесения изменений в такую копию, никак не повлияет на работу текущего сервиса или приложения. При этом также снимаются две основные проблемы – масштабирование и возможность держать «зоопарк» разных операционных систем на одном оборудовании. Это идеальная возможность совмещения самых разных сервисов без необходимости приобретения отдельного оборудования для каждого из них.

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

Теперь перечислим самые популярные гипервизоры, существующие на текущий день:

  • VMware ESXi
  • Microsoft Hyper-V
  • Open Virtualization Alliance KVM
  • Oracle VM VirtualBox

Они все достаточно универсальны, однако, у каждого из них имеются определенные особенности, которые следует всегда учитывать на этапе выбора: стоимость развёртывания/обслуживания и технические характеристики. Стоимость коммерческих лицензий VMware и Hyper-V весьма высока, а в случае возникновения сбоев, решить проблему с этими системами собственными силами очень непросто.

KVM же напротив, полностью бесплатен и достаточно прост в работе, особенно в составе готового решения на базе Debian Linux под названием Proxmox Virtual Environment. Именно эту систему мы можем порекомендовать для первоначального знакомства с миром виртуальной инфраструктуры.

Установка Proxmox VE

Данная процедура чаще всего не вызывает никаких вопросов. Скачиваем актуальную версию образа с официального сайта и записываем его на любой внешний носитель с помощью утилиты Win32DiskImager (в Linux используется команда dd), после чего загружаем сервер непосредственно с этого носителя. Наши клиенты, арендующие у нас выделенные серверы, могут воспользоваться двумя еще более простыми путями – просто смонтировав нужный образ непосредственно из KVM-консоли, либо используя наш PXE-сервер.

Программа установки имеет графический интерфейс и задаст всего лишь несколько вопросов.

1. Выбираем диск, на который будет выполнена установка. В разделе «Options» можно также задать дополнительные параметры разметки.

Установка Proxmox - выбор диска.

2. Указываем региональные настройки.

Установка Proxmox - региональные настройки.

3. Указываем пароль, который будет использоваться для авторизации суперпользователя root и E-mail адрес администратора.

Установка Proxmox - настройка пароля.

4. Указываем сетевые настройки. FQDN обозначает полностью определенное имя домена, например, node01.yourcompany.com.

Установка Proxmox - настройка сети.

5. После завершения установки, сервер можно отправить в перезагрузку с помощью кнопки Reboot.

Установка Proxmox - перезагрузка.

Веб-интерфейс управления станет доступен по адресу:

https://IP_адрес_сервера:8006

Что нужно сделать после установки

Есть несколько важных вещей, которые следует выполнить после установки Proxmox. Расскажем о каждой из них подробнее.

Обновить систему до актуальной версии

Для этого зайдем в консоль нашего сервера и отключим платный репозиторий (доступен только тем, кто купил платную поддержку). Если этого не сделать — apt сообщит об ошибке при обновлении источников пакетов.

1. Открываем консоль и редактируем конфигурационный файл apt:

nano /etc/apt/sources.list.d/pve-enterprise.list

2. В этом файле будет всего одна строка. Ставим перед ней символ «#», чтобы отключить получение обновлений из платного репозитория:

#deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise

3. Сочетанием клавиш Ctrl+X выполняем выход из редактора, отвечая «Y» на вопрос системы о сохранении файла.

4. Выполняем команду обновления источников пакетов:

apt update

5. Обновляем все пакеты:

apt -y upgrade

Позаботиться о безопасности

Мы можем порекомендовать установить популярнейшую утилиту Fail2Ban, защищающую от атак методом перебора паролей (брутфорс). Принцип ее работы заключается в том, что если злоумышленник превысит определенное количество попыток входа за указанное время с неверным логином/паролем, то его IP-адрес будет заблокирован. Срок блокировки и количество попыток можно указать в конфигурационном файле.

Исходя из практического опыта, за неделю работы сервера с открытым ssh-портом 22 и внешним статическим IPv4 адресом, было более 5000 попыток подобрать пароль. И около 1500 адресов утилита успешно заблокировала. Для выполнения установки приводим небольшую инструкцию:

1. Открываем консоль сервера через веб-интерфейс или SSH.

2. Обновляем источники пакетов:

apt update

3. Устанавливаем Fail2Ban:

apt install fail2ban

4. Открываем конфигурацию утилиты на редактирование:

nano /etc/fail2ban/jail.conf

5. Изменяем переменные bantime (количество секунд на которые будет блокироваться злоумышленник) и maxretry (количество попыток ввода логина/пароля) для каждого отдельного сервиса.

6. Сочетанием клавиш Ctrl+X выполняем выход из редактора, отвечая «Y» на вопрос системы о сохранении файла.

7. Перезапускаем службу:

systemctl restart fail2ban

Проверить статус работы утилиты, например, снять статистику блокировок заблокированных IP-адресов с которых были попытки перебора паролей SSH, можно одной простой командой:

fail2ban-client -v status sshd

Ответ утилиты будет выглядеть примерно так:

root@hypervisor:~# fail2ban-client -v status sshd
INFO   Loading configs for fail2ban under /etc/fail2ban
INFO     Loading files: ['/etc/fail2ban/fail2ban.conf']
INFO     Loading files: ['/etc/fail2ban/fail2ban.conf']
INFO   Using socket file /var/run/fail2ban/fail2ban.sock
Status for the jail: sshd
|- Filter
|  |- Currently failed: 3
|  |- Total failed:     4249
|  `- File list:        /var/log/auth.log
`- Actions
|- Currently banned: 0
|- Total banned:     410
`- Banned IP list:

Аналогичным способом можно закрыть от подобных атак Web-интерфейс, создав соответствующее правило. Пример такого правила для Fail2Ban можно найти в официальном руководстве.

Начало работы

Хочется обратить внимание на то, что Proxmox готов к созданию новых машин сразу после установки. Тем не менее, рекомендуем выполнить предварительные настройки, чтобы в дальнейшем системой было легко управлять. Практика показывает, что гипервизор и виртуальные машины стоит разнести по разным физическим носителям. О том, как это сделать и пойдет речь ниже.

Настроить дисковые накопители

Следующим этапом следует настроить хранилище, которое можно будет использовать для сохранения данных виртуальных машин и резервных копий.

ВНИМАНИЕ! Приведенный ниже пример дисковой разметки можно использовать только для тестовых целей. Для эксплуатации в реальных условиях мы настоятельно рекомендуем использовать программный или аппаратный RAID-массив, чтобы исключить потерю данных при выходе дисков из строя. О том, как правильно приготовить дисковый массив к работе и как действовать в случае аварийной ситуации мы расскажем в одной из следующих статей.

Предположим, что физический сервер имеет два диска — /dev/sda, на который установлен гипервизор и пустой диск /dev/sdb, который планируется использовать для хранения данных виртуальных машин. Чтобы система смогла увидеть новое хранилище, можно воспользоваться самым простым и эффективным методом — подключить его как обычную директорию. Но перед этим следует выполнить некоторые подготовительные действия. В качестве примера посмотрим, как подключить новый диск /dev/sdb, любого размера, отформатировав его в файловую систему ext4.

1. Размечаем диск, создавая новый раздел:

fdisk /dev/sdb

2. Нажимаем клавишу o или g (разметить диск в MBR или GPT).

3. Далее нажимаем клавишу n (создать новый раздел).

4. И наконец w (для сохранения изменений).

5. Создаем файловую систему ext4:

mkfs.ext4 /dev/sdb1

6. Создаем директорию, куда будем монтировать раздел:

mkdir /mnt/storage

7. Открываем конфигурационный файл на редактирование:

nano /etc/fstab

8. Добавляем туда новую строку:

/dev/sdb1	/mnt/storage	ext4	defaults	0	0

9. После внесения изменений сохраняем их сочетанием клавиш Ctrl + X, отвечая «Y» на вопрос редактора.

10. Для проверки, что все работает, отправляем сервер в перезагрузку:

shutdown -r now

11. После перезагрузки проверяем смонтированные разделы:

df -H

Вывод команды должен показать, что /dev/sdb1 смонтирован в директорию /mnt/storage. Это значит, что наш накопитель готов к работе.

Добавить новое хранилище в Proxmox

Авторизуемся в панели управления и заходим в разделы «Датацентр» ➝ «Хранилище» ➝ «Добавить» ➝ «Директория».

В открывшемся окне заполняем следующие поля:

  • ID — название будущего хранилища;
  • Директория — /mnt/storage;
  • Содержимое — выделяем все варианты (поочередно щелкая на каждом варианте).
Настройка Proxmox - добавление хранилища.

После этого нажимаем кнопку «Добавить». На этом настройка завершена.

Создать виртуальную машину

Для создания виртуальной машины выполняем следующую последовательность действий:

1. Определяемся с версией операционной системы.
2. Заранее закачиваем ISO-образ.
3. Выбираем в меню «Хранилище» только что созданное хранилище.
4. Нажимаем «Содержимое» ➝ «Загрузить».
5. Выбираем из списка ISO-образ и подтверждаем выбор нажатием кнопки «Загрузить».

После завершения операции образ будет отображен в списке доступных.

Создаем нашу первую виртуальную машину:

1. Нажимаем «Создать VM».

2. Заполняем поочередно параметры: «Имя» ➝ «ISO-Image» ➝ Размер и тип жесткого диска ➝ Количество процессоров ➝ Объем оперативной памяти ➝ Сетевой адаптер.

3. Выбрав все желаемые параметры нажимаем «Завершить». Созданная машина будет отображена в меню панели управления.

4. Выбираем ее и нажимаем «Запуск».

5. Переходим в пункт «Консоль» и выполняем установку операционной системы точно таким же образом, как и на обычный физический сервер.

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

Настроить автозапуск

По умолчанию Proxmox автоматически не запускает машины, но это легко решается буквально двумя щелчками мыши:

1. Щелкаем по названию нужной машины.

2. Выбираем вкладку «Опции» ➝ «Запуск при загрузке».

3. Ставим галочку напротив одноименной надписи.

Теперь, в случае перезагрузки физического сервера, VM будет запущена автоматически.

Настройка Proxmox - автозапуск машин.

Для продвинутых администраторов имеется еще и возможность указать дополнительные параметры запуска в разделе «Start/Shutdown order». Можно явным образом указать в каком порядке следует запускать машины. Также можно указать время, которое должно пройти до старта следующей VM и время задержки выключения (если операционная система не успеет завершить работу, гипервизор принудительно ее выключит через определенное количество секунд).

Заключение

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

Proxmox VE — это действительно очень мощный и удобный инструмент для любого системного администратора; главное не бояться экспериментировать и понять, как это действительно работает.

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

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Epicogel инструкция по применению
  • Должностная инструкция специалиста по расчету заработной платы
  • Прогестерон раствор для инъекций инструкция
  • Дистреп 400 ла инструкция по применению в ветеринарии
  • Телефон ирбис кнопочный инструкция по применению