Skip to content

Proxmox aka PVE - Твій власний датацентр

INFO

Proxmox Virtual Environment (скорочено Proxmox VE) — спеціалізований Linux-дистрибутив на базі Debian GNU/Linux, націлений на розгортання і обслуговування віртуальних серверів з використанням LXC і KVM, і здатний виступити в ролі заміни таких продуктів, як VMware vSphere, Microsoft Hyper-V і Citrix Hypervisor. (c) Wikipedia

WARNING

Це більше буде як нотатки для себе, тому не очікуйте тут багато інформації про користування цією системою

Нащо мені взагалі датацентр?

Щоб був 😃. Жартую) Це зручний інструмент через котрий можна розвернути відразу декілька віртуальних машин та також лінукс контейнерів котрі схожі десь на Docker, але більше походять на віртуальну машину, а не як засіб щось швидко захостити. Також зручно робити бекапи т.я це віртуальна машина через зручний Веб-Інтерфейс

Пропустимо що воно треба, як встановити?

Як зрозуміло з вікі - це кастомна збірка Debian GNU/Linux з PVE. Завантажувати образ системи треба на офіційному сайті проекту - https://proxmox.com/

Встановлюємо як звичайний Debian на сервер, багато про це казати не буду, там не так тяжко встановити, далі далі далі

INFO

Бажано вибрати файлову систему ZFS, з нею простіше у PVE працювати + бекапи будуть робиться простіше.

Після встановлення, нам треба зайти у веб-морду PVE Proxy так званого та почати робити брудні справи

PVE Interface

Різніця між звичайною віртуальною машиною та LXC aka Linux Container

Віртуальна машина для багатьох зрозуміла як працює й що це таке, а ось друге це вже схоже, але працює на ядрі хоста й використовує стек ядра для ізоляції системи, прям як у Docker

INFO

LXC (англ. LinuX Containers) — система віртуалізації на рівні операційної системи для запуску декількох ізольованих примірників ОС Linux на одному комп'ютері. LXC не використовує віртуальні машини, а створює віртуальне оточення з власним простором процесів і мережевим стеком. Усі примірники LXC використовують один примірник ядра ОС. (c) Wikipedia

Пост-Інсталяція

Сommunity Scripts

Ці скрипти допоможуть у налаштування вашого хоумлабу та швидкого запуску self-hosted сервисів, а також налаштують ваш PVE після інсталяції.

WARNING

Ці скрипти треба вставляти у консоль самого PVE інстансу, де у віртуальний машині чи десь інше

PVE Post Install

Цей скрипт надає опції для управління репозиторіями Proxmox VE, включаючи відключення Enterprise Repo, додавання або виправлення джерел PVE, увімкнення No-Subscription Repo, додавання тестового Repo, відключення нагадування про підписку, оновлення Proxmox VE та перезавантаження системи.

PVE Processor Microcode

Мікрокод процесора — це рівень низькорівневого програмного забезпечення, що працює на процесорі та забезпечує виправлення або оновлення його мікропрограми. Оновлення мікрокоду можуть виправляти апаратні помилки, покращувати продуктивність та посилювати функції безпеки процесора. Важливо зазначити, що доступність механізмів оновлення мікропрограми, таких як Intel Management Engine (ME) або AMD Platform Security Processor (PSP), може відрізнятися залежно від процесора та його конкретної реалізації. Тому рекомендується звернутися до документації вашого процесора, щоб підтвердити, чи можна застосовувати оновлення прошивки через операційну систему.

Звідки брати LXC образи?

По-перше, можна завантажувати їх через Сommunity Scripts, по-друге, можна напряму з проекту LXC

Нотатки

Перекинути файли/директорію з хоста на LXC

bash
tar cf - <host_file> | pct exec <ID_VM> -- sh -c 'tar xf - -C <vm_path>'
bash
tar cf - Create\ \&\ Advanture.tar | pct exec 103 -- sh -c 'tar xf - -C /root/'

Змонтувати директорію хоста до LXC

bash
pct set 103 -mp0 /host/dir,mp=/container/mount/point

WARNING

-mp0, де 0 - це ID, якщо ви щось змонтували й хочете ще, то ID+1, тобто буде команда 'pct set 103 -mp1 ...'

Прокинути відеокарту для Jellyfin/Frigate/etc (AMD)

bash
pct set 109 --dev0 path=/dev/kfd
pct set 109 --dev1 path=/dev/dri/renderD128

INFO

Я довго ломав голову як прокинути відеокарту у LXC з Jellyfin, треба танцювати з правами доступу, але оці команди роблять усю брудну роботу за мене 😃

Драйверів на хостовій системі наче не потрібні, якщо Jellyfin у докері від linuxservers + аддон то треба просто прокинути ці директорії