Виртуальная среда Proxmox - это полноценная платформа с открытым исходным кодом для виртуализации предприятия.
Благодаря встроенному веб-интерфейсу вы можете легко управлять виртуальными машинами и контейнерами, программно-определяемыми хранилищами и сетями, кластеризацией высокой доступности и множеством готовых инструментов, используя одно решение.
Реализуем это решение Proxmox на отечественной ОС Astra Linux
1. В терминале (Alt+t) переходим под rootsudo su
Установим необходимые для работы пакеты
sudo apt -y install gnupg wget apt-transport-https ca-certificates
cat << EOF > /etc/apt/sources.list
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-main/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-update/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 astra-ce
EOF
Подразумеваем, что изначально ОС Astra Linux обновлена, если нет, то выполняем
apt update
astra-update -r -A
После обновления перегружаемся по требованию
sudo reboot
sudo su
После обновления возможно криво переустановится графическое окружение fly, это фича Astra Linux
Переустановим на всякий случай:
sudo apt install --reinstall fly-all-main -fy
Удалим устаревшие и неиспользуемые пакеты:
sudo apt autoremove -fy
3. Разрешим установку пакетов со сторонних репозиториев
Комментируем содержимое /etc/apt/preferences.d/smolenskcat << EOF > /etc/apt/preferences.d/smolensk
#Package: *
#Pin: release n=1.7_x86-64
#Pin-Priority: 900
EOF
4 Установим ключи для репозиториев Debian и Proxmox:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DCC9EFBF77E11517
sudo wget -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg
5. Подключаем репозиторий Debian 10, обновляем список доступных пакетов:
cat << EOF > /etc/apt/sources.list.d/buster.list
deb http://deb.debian.org/debian buster main contrib non-free
deb-src http://deb.debian.org/debian buster main contrib non-free
deb http://deb.debian.org/debian buster-updates main contrib non-free
deb-src http://deb.debian.org/debian buster-updates main contrib
EOF
sudo apt update
6. Подключаем репозиторий Proxmox, обновляем список доступных пакетов:cat << EOF > /etc/apt/sources.list.d/proxmox.list
deb http://download.proxmox.com/debian/pve buster pve-no-subscription
EOF
sudo apt update
7. Вначале установим имя хоста системы на доменное имя (FQDN), которое мы будем использоватьhostnamectl set-hostname proxmox.entnet.ru
8. В файл hosts добавим имя хоста:
Определим ip адрес:
ifconfig | grep "inet" | grep "broadcast" | awk '{print $2}'
Отредактируем /etc/hosts:
mcedit /etc/hosts
Установим имя нашего сервера в файле конфигурации hosts:192.168.1.XXX proxmox.entnet.ru proxmox
где 192.168.1.XXX — IP-адрес нашего сервера; proxmox — имя сервера; entnet.ru — наш домен, если используется.
9. Рестартанем графическую сессию:sudo systemctl restart fly-dm
sudo su
10. Настроим сетевое соединение сервера
Определим сетевой(ые) интерфейс(ы) одной из понравившихся команд:
ls /sys/class/net
nmcli device status
cat /proc/net/dev
netstat -i
ip -br link show
и уже его будем использовать в параметрах файлов настроек сетевых интерфейсов
Установим пакет ifupdown2, который proxmox использует в своей работе и на Astra Linux тоже:
sudo apt install ifupdown2
Приводим файл настроек сетевых интерфейсов такому виду, указав ip адрес из
п.8
:
cat << EOF > /etc/network/interfaces.d/eth0
source /etc/network/interfaces.d
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.59/24
auto vmbr0
iface vmbr0 inet static
address 192.168.1.59/24
gateway 192.168.1.1
bridge-ports eth0
bridge-stp off
bridge-fd 0
EOF
Удалим графический пакет менеджера сети и замаскируем NetworkManager, так как будем использовать ifupdown2
sudo apt remove network-manager-gnome -fy && sudo systemctl --now mask NetworkManager && sudo systemctl restart networking
А также удалим пакет linux-firmware, иначе он мешает установить нам пакет pve-firmware:
sudo dpkg --purge --force-all linux-firmware
11. Поддерживаемые версии zfs 3.10 - 5.17, поэтому мы определяем текущую версию ядра, в зависимости от версии устанавливаем пакет zfs-modules:
uname -r
Если версия текущего ядра входит в данный диапазон, то пропускаем следующий пункт и переходим к
п.13
, иначе продолжаем:
12. Изначально у нас была установлена ОС Astra Linux с версией ядра 6.1.50-1-generic
Если версия ядра не входит в вышеуказанный диапазон, ищем подходящее ядро и устанавливаем:
apt search linux-5* | grep "linux-5"
В нашем случае доступна мажорная версия 5.15, установим ее:
sudo apt install linux-5.15 -fy
Выставим ядро 5.15-generic в grub, используемое по умолчанию при загрузке на 5.15, и перегружаемся.
Перегружаемся с ядром 5.15:
sudo reboot
sudo su
13. Установка пакетов:
Еще раз убедимся в версии текущей версии ядра:
uname -r
определим, какой пакет zfs-modules мы будем устанавливать, так как при его установке необходимо указываеть версию. И, поскольку ядро мы установили, и у нас определилось как 5.15, ищем соответствующий пакет
apt search zfs | grep "5.15"
14. Ну и запускаем установку пакетов:
sudo apt install dialog zfs-5.15 zfs-zed zfs-dkms proxmox-ve open-iscsi -y
В процессе установки выйдет предупреждение, принимаем информацию во внимание:
где proxmox-ve — собственно, сам гипервизор; open-iscsi — iSCSI-клиент для подключения iSCSI-target-ов.
15. Если у вашего root еще нет пароля, то создадим пароль руту:
sudo passwd root
Вводим, подтверждаем, он будет нужен для входа в панель управления Proxmox.
16. Если все сделано правильно, заходим в веб браузере на сервер Proxmox:
выходим из-под root:
exit
и запускаем в нашем браузере по умолчанию страницу нашего сервера Proxmox на Astra Linux:
xdg-open https://proxmox.entnet.ru:8006
17. Перед первым входом в систему управления установим русский язык.
И видим приятную нашему взгляду картину:
Готово:
18. Удалим следующее всплывающее каждый раз назойливое сообщение о подписке - предупреждении.
Для этого нам необходимо:
Удалить репозиторий pve-enterprise:
sudo rm /etc/apt/sources.list.d/pve-enterprise.list
sudo apt update
А также необходимо поправить файл /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js, но сначала, на всякий случай, сохраним оригинал:
sudo cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib-original.js
откроем файл proxmoxlib.js на редактирование
sudo mcedit /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
и закомментируем всю секцию getNoSubKeyHtml, приведя к такому виду:
Перезапустим службы
sudo systemctl restart pvestatd pvedaemon pve-cluster corosync
и снова запускаем в нашем браузере по умолчанию страницу нашего сервера Proxmox на Astra Linux:
xdg-open https://proxmox.entnet.ru:8006
19. У нашего вновь установленного сервера при установке по умолчанию настроены самоподписанные сертификаты.
Как выпустить свои написано тут: Устанавливаем и автоматически продлеваем сертификаты ssl при помощи Lets Encrypt и Certbot на Astra Linux
У нас же есть свои и мы пропишем их в веб интерфейсе в панели управления нашего сервера PVE:
Ну и перезапускаем сервисы:
systemctl restart pvestatd pvedaemon pve-cluster corosync
Ну что-ж, сеть мы настроили, приступим к развертыванию клиентов, виртуалок, как мы любим их называть:
20. Жмем заветную кнопку в правой верхней части нашего фронтенда "Создать VM"
Всплывает окно cо всеми настройками виртуальной машины (VM), которые расположены в отдельных вкладках. Начнем с Общее
Расписывать все не будем, все итак видно на картинках:
20.1 На первом изображении на вкладке Общее мы указываем наименование нашей виртуалки
20.2 На второй вкладке ОС мы указываем образ, с которого должна устанавливаться система
20.3 На следующей вкладке Система крайне рекомендуется установить галку на чекбоксе Агент QEMU:
QEMU Guest Agent — это программа-демон, которая устанавливается на ВМ.
QEMU Guest Agent обеспечивает выполнение команд на ВМ и обмен информацией между ВМ и узлом кластера.
В Astra Linux по умолчанию сервис qemu-guest-agent маскируется, но маскировку можно снять простой командой:
systemctl unmask qemu-guest-agent
После перечитываем конфигурацию daemon-reload:
systemctl daemon-reload
Можно разрешить запуск сервиса и стартовать его:
systemctl enable qemu-guest-agent --now
20.4 Также как и на вкладке Жесткий диск
20.5 На вкладке Процессор выставляем параметры процессорной мощности, в зависимости от ваших ресурсов
20.6 Соответственно на следующей вкладке Память аналогично предыдущему пункту
20.7 При настройке сетевого соединения во вкладке Сеть обращаем внимание на чекбокс Брэндмауэр. Если вы не планируете его использовать, отожмите галку
20.8 Ну вот, подошли к завершению, на вкладке Подтверждение вы можете установить галку в чекбоксе Запуск после создания, чтобы ваша виртуалка запустилась после нажатия на кнопку Готово
Продолжение следует...