Найти тему

ProxMox. Установка, настройка, запуск контейнеров

Оглавление
Прошу поставить лайк авансом и подписаться. Это помогает продвижению и развитию канала. Если статья не понравится - это легко отменить. Спасибо!

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

Прошу всех подписаться на канал и поставить лайк. Вам не сложно, а мне приятно. И это помогает продвижению блога. Спасибо.

Подготовка

Первое, что нужно сделать - скачать образ операционной системы с сайта разработчиков. Выбирать нужно именно "Proxmox VE 8.1 ISO Installer". После скачивания необходимо записать образ на флешку (флешка должна быть пустая, все данные с неё сотрутся). Для этого я рекомендую приложение balenaEtcher. Оно очень понятное, без лишних вопросов и премудростей. Выбрали образ, выбрали флешку, записали. Всё.

Внешний вид программы balenaEtcher
Внешний вид программы balenaEtcher

Запуск и установка

Для запуска установки ProxMox на ваш сервер необходимо воткнуть флешку в ваш сервер, в биосе (или UEFI) выбрать загрузку с флешки и запустить установку "Install Proxmox VE (Graphical)".

Соглашаемся с лицензией
Соглашаемся с лицензией
Выбираем диск для установки
Выбираем диск для установки

Выбираем страну, часовой пояс, и раскладку клавиатуры.
Выбираем страну, часовой пояс, и раскладку клавиатуры.
Вводим пароль от пользователя root и свою почту. Я так и не понял для чего почта, на неё ничего не пришло.
Вводим пароль от пользователя root и свою почту. Я так и не понял для чего почта, на неё ничего не пришло.
Выбираем сетевой интерфейс, и назначаем статический IP адрес и доменное имя.
Выбираем сетевой интерфейс, и назначаем статический IP адрес и доменное имя.
Подтверждаем, что всё выбрано верно и приступаем к установке
Подтверждаем, что всё выбрано верно и приступаем к установке
Осталось дождаться окончания установки.
Осталось дождаться окончания установки.

После установки и перезагрузки панель управления нашим сервером будет доступна по выбранному вами IP адресу на порту 8086. В моём случае это https://192.168.1.112:8006/. Учитывайте, что там невалидный сертификат, и нужно будет добавить адрес в исключения.

Ошибка в Яндекс.Браузере. Делаем исключение для данного сайта.
Ошибка в Яндекс.Браузере. Делаем исключение для данного сайта.

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

-10

Вот так сейчас выглядит мой ProxMox, с уже установленными контейнерами и виртуальными машинами

-11

У вас же при первом запуске будет пусто в списке. Нужно будет выбрать в левом меню пункт "proxmox" и запустить "shell"

-12

Это полноценная консоль для управления сервером. Операционная система - Debian 12. Так что всё, что работает на Debian - будет работать и тут.

Добавление и запуск контейнеров

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

-13

Там есть строчка со скриптом, которую нужно вставить в shell-оболочку сервера. Вы можете делать всё в автоматическом режиме, а можете перейти в режим "Advanced" и настроить параметры до запуска установки контейнера. В частности задать статический IP, настроить размер диска, памяти, процессора и так далее. Всё интуитивно понятно.

-14
-15

И далее нужно лишь отвечать на вопросы.

Работа через SSH

Да, всю работу с сервером можно выполнять непосредственно в браузере, но я предпочитаю работать через терминал и SSH. Для этого в браузере, в разделе "shell" нужно перейти в директорию "cd ~/.ssh" (если её нет - создать "mkdir ~/.ssh") и там создать/отредактировать файл "authorized_keys", добавив в него ваш публичный ключ для SSH. Как его создать - есть тонна инструкций в интернете. После этого вы можете подключаться без пароля к вашему серверу из терминала.

Вот только установку контейнеров желательно делать из браузера, иначе скрипт установки будет ругаться, и может работать некорректно. Однако всё остальное - установка приложений, настройка сервера и прочее - проще делать из терминала. К тому же через терминал можно подключиться к контейнеру напрямую (минуя настройку SSH) командой "pct enter 103", где 103 - номер вашего контейнера.

Настройка монтирования папок

Для того, что бы смонтировать папку с сервера в контейнер - достаточно отредактировать файл конфигурации контейнера. Все файлы лежат в папке "/etc/pve/lxc" под номерами контейнеров.

Для этого в нужный файл добавляем строку в конце

mp0: /mnt/shared,mp=/mnt/data

где /mnt/shared - путь к папке на сервере, а /mnt/data - путь к папке в контейнере. После этого перезагружаем контейнер и имеем полноценный доступ к папке с сервера внутри контейнера.

Добавление USB устройств

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

lxc.cgroup2.devices.allow: a
lxc.cap.drop:
lxc.cgroup2.devices.allow: c 188:* rwm
lxc.cgroup2.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/serial/by-id dev/serial/by-id none bind,optional,create=dir
lxc.mount.entry: /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file

Указав нужное вам устройство, ttyUSB0 в моём случае. И после этого перезагрузить контейнер.

Для добавления USB устройств в виртуальную машину - нужно зайти в веб-интерфейсе в настройки виртуальной машины в раздел hardware, нажать кнопку "Add" и выбрать USB

-16

И затем в открывшемся окне выбрать нужное вам устройство

-17

После этого обязательно перезагружаем виртуальную машину.

Итоги

В итоге у вас получится полноценный сервер с доступом через ssh (если вдруг proxmox упадёт), а так же куча контейнеров. Всё ограничено только ресурсами вашего сервера и вашей фантазией.

В комментариях прошу указать на ошибки в статье, может что-то у вас не получилось, советы по оформлению. Отвечу всем и как можно быстрее.

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

Подписывайтесь на мой канал в телеграме https://t.me/kai_zer_ru_public