ServerAdmin.ru
31.6K subscribers
841 photos
57 videos
23 files
2.99K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Ресурс включён в перечень Роскомнадзора
Download Telegram
Я ранее делал пару заметок на тему бесплатных инструментов для организации SSO: Keycloak и Authentik. Первый более навороченный и сложный для больших организаций. Второй попроще и больше подходит для небольших инфраструктур, в том числе личных сервисов. По настройке и возможностям мне Authentik понравился больше. Жду подходящий проект, чтобы его внедрить. Уже давно решил, что где-нибудь его попробую.

Тут как раз на днях посмотрел видео про настройку Basic Auth на базе Authentik. Очень востребованная лично для меня функциональность. Я люблю использовать Basic Auth в Nginx для того, чтобы скрыть от посторонних глаз то, что не должно быть в публичном доступе: различные управляющие веб панели, типа postfixadmin или phpmyadmin, веб доступ к 1С и т.д.

▶️ Authentik и basic http аутентификация

Автор по шагам показал, как это сделать на примере Traefik и Nginx. Там ничего особо сложного, но из-за скудной документации по этой теме некоторые вещи неочевидны. С инструкцией всё понятно. Посмотрел наглядно, как это выглядит. Мне понравилось. С учётом того, как часто я использую Basic Auth, точно пригодится. Вот ссылка на документацию по теме. Там реально всего пару предложений и пример конфига.

У автора серия из 3-х публикаций про Authentik:
▶️ Настройка authentik по-быстрому
▶️ OIDC авторизация с помощью Authentik на примере Portainer

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

#sso #nginx
2👍74👎3
iptables-proxmox.sh
4.8 KB
Поискал по каналу и не нашёл ни одной заметки, где бы я рассказал и показал на практике, как я настраиваю iptables на гипервизорах Proxmox. Я всегда в обязательном порядке это делаю. Не утверждаю, что так, как настраиваю я, правильно и наиболее подходящий вариант. Просто привык делать именно так, проблем с этим не было, поэтому закрепилось. Воспроизвожу из раза в раз эту настройку.

Порядок настройки следующий:

1️⃣ Сохраняю список правил в файл /etc/iptables.sh. Адаптирую под текущие условия гипервизора: меняю имена сетевых интерфейсов, IP адреса. Делаю его исполняемым. Обычно сразу же проверяю, просто запустив его.

# mcedit /etc/iptables.sh
# chmod +x /etc/iptables.sh
# bash /etc/iptables.sh
# iptables -L -v -n

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

2️⃣ Убеждаюсь, что после выполнения скрипта появился файл-экспорт с набором правил /etc/iptables.rules. Добавляю применение правил в файл /etc/network/interfaces:

iface enp5s0 inet manual
post-up iptables-restore < /etc/iptables.rules

Вешаю загрузку правил iptables на поднятие wan интерфейса.

3️⃣ Перезагружаю сервер и убеждаюсь, что всё нормально поднимается, правила применяются, доступ к серверу у меня есть.

4️⃣ Если нужно добавить или изменить какое-то правило, то правлю файл iptables.sh, а когда закончу, запускаю его. Он обновляет набор правил в iptables.rules, так что после перезагрузки хоста изменённые правила сохранятся.

Если у вас хост Proxmox выполняет роль шлюза, то не забудьте проверить, что параметр net.ipv4.ip_forward=1 активен в /etc/sysctl.conf. Без него NAT для виртуалок не заработает. Точнее не сам нат, а передача пакетов между локальным и wan интерфейсом. Если в качестве шлюза для VM выступает отдельная VM, то как минимум из набора правил исчезает NAT и всё, что касается локалки и проброса портов. А на шлюз уезжает этот же шаблон с правилами и там правится по месту.

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

Формирую набор правил именно в таком виде, потому что он мне кажется удобным и наглядным. Можно быстро оценить все правила, оставить комментарии, что-то добавить.

#proxmox #iptables
3👍145👎4
В Proxmox 7.3 без особых подробностей завезли обновление со следующим описанием: Framework for remote migration to cluster-external Proxmox VE hosts. По факту добавили экспериментальную возможность по миграции виртуальных машин между гипервизорами (не только кластерами).

Реализована миграция с помощью консольной команды qm remote-migrate. Подробности реализации можно посмотреть в соответствующем коммите в репозитории. Описание команды в документации скудное. Не особо понятен итоговый формат работающей команды.

qm remote-migrate <vmid> [<target-vmid>] <target-endpoint> --target-bridge <string> --target-storage <string> [OPTIONS]

Я разобрался, как это работает. У меня получилось выполнить миграцию между разными гипервизорами. Показываю, как это работает. Итоговая работающая команда выглядит следующим образом:

# qm remote-migrate 120 120 'host=10.20.1.65,apitoken=PVEAPIToken=root@pam!token1=0ace469b-9c8d-4f05-ba84-d720414129ee,fingerprint=16:21:AB:AE:A3:06:92:BB:E9:F8:25:C2:A1:53:26:7F:67:29:1B:A9:A9:1C:D1:3B:A7:47:BD:23:9F:E8:7C:6B' --target-bridge vmbr0 --target-storage local-lvm

▪️120 120 - ID виртуалки на исходном гипервизоре и желаемое ID на том, куда переносим. Я оставил одинаковые.
▪️10.20.1.65 - IP адрес принимающего гипервизора
▪️root@pam!token1 - имя токена token1 для пользователя root@pam
▪️0ace469b-9c8d-4f05-ba84-d720414129ee - секрет указанного выше токена
▪️vmbr0 - сетевой бридж на принимающем гипервизоре
▪️local-lvm - хранилище дисков на принимающем гипервизоре
▪️16:21:AB:AE:A3:06:92:BB:E9:F8:25:C2:A1:53:26:7F:67:29:1B:A9:A9:1C:D1:3B:A7:47:BD:23:9F:E8:7C:6B - fingerprint сертификата pve-ssl.pem принимающего гипервизора

Для того, чтобы миграция прошла успешно, нужно на принимающем сервере создать токен. Делается это в разделе Datacenter Permissions API Tokens. После создания вы получите имя в виде root@pam!token1, где root@pam - пользователь, а token1 - указанное имя токена. И само значение секрета этого токена. Далее в разделе Datacenter Permissions нужно добавить API Token Permissions. Я выбрал существующий токен и дал ему полные права. Не разбирался, какие нужны для миграции. Думаю, нужны права на создание виртуалок и дисков в хранилище.

Отпечаток сертификата можно посмотреть в разделе Node System Certificates. Надо выбрать стандартный pve-ssl.pem, два раза кликнуть по нему мышкой и скопировать Fingerprint.

После этого можно идти в консоль и запускать команду миграции. Её процесс можно наблюдать как в консоли, так и через веб интерфейс в списке задач. Через веб интерфейс даже прогресс копирования дисков виден, в отличие от консоли. Там этой информации нет.

Работает всё довольно удобно. Поддерживается миграция из разных типов хранилищ. Я для теста с обычного LVM переехал в LVM-Thin на другой гипервизор. По факту сначала происходит копирование диска, а потом перенос его в нужное хранилище на принимающей стороне через query-disk-import. Отсюда можно сделать вывод, что должен быть запас по доступному месту на принимающем гипервизоре в двойном размере от объёма диска. Это нужно учитывать при переносе.

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

После миграции исходная VM будет заблокирована. Если захотите её запустить на старом гипервизоре, то разблокируйте:

# qm unlock 120

#proxmox

🦖 Selectel — дешёвые и не очень дедики с аукционом!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍187👎2
▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересными/полезными. Как обычно, ниже те видео из моих подписок за последнее время (обычно беру период в 2 недели), что мне показались интересными и полезными.

В этот раз как-то мало интересного было. Много роликов отсеял, так как не посчитал их полезными. Да и в целом контента меньше стало, особенно русскоязычного.

Настройка DNS over HTTPS в OPNsense
Небольшой ролик про DNS over HTTPS для тех, кто не знает, что это такое и как работает. Тут автор кратко рассказал о технологии и на практике показал, как это работает и как настраивается на своём софтовом шлюзе OPNsense.

Netbird Update - How to add the new "Relays" feature to your netbird install.
Рассказ про бесплатную, open source платформу для построения VPN сетей - netbird.io. Вышло крупное обновление продукта. Автор рассказал, как его установить и что в нём нового. Вообще, это интересный продукт. Я видел его обзор у разных блогеров, писал заметку про него. Один из лучших open source проектов из этой области.

Vinchin - Backup система для ВСЕГО!
Обзор системы для бэкапа Vinchin. Автор прошёлся по основным возможностям. Я в своё время примерно то же самое оформил в отдельную статью на сайте. Система, в принципе, неплохая. Мне понравилась.

Building a Low-Power, Fully Loaded Plex Server
Подробное описание сборки сервера под популярный медиасервер Plex для дома. Автор поставил задачу собрать тихий и маломощный в плане потребления электричества сервер на базе Mini ITX. Интересно посмотреть, что у него в итоге получилось.

Администрирование Линукс. Стабильность и безопасность системы
Короткое видео с наглядным примером эксплуатации уязвимости ярда Linux CVE-2024-1086. Я, кстати, об этой уязвимости писал в своё время. На видео примерно то же самое делается, что у меня в заметке.

#видео
2👍60👎8
Когда только начинал работать с виртуализацией на Linux, очень хотелось сесть за сервер и прямо на нём что-то сделать. Но на тот момент ни XenServer, ни VmWare не позволяли это сделать. На экране сервера был небольшой список простых действий типа настроек сети или перезагрузки. И ничего, что относилось бы к управлению виртуальными машинами. После экспериментов с VMware Workstation и Hyper-V было как-то непривычно и неудобно.

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

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

Developer Workstations with Proxmox VE and X11

Всё, что вам надо сделать, так это установить туда xfce, браузер и менеджер управления графическими оболочками в системе. Предупреждаю, что делать это на продуктовых серверах - плохая практика.

Выполняем непосредственно гипервизоре:

# apt install xfce4 chromium lightdm

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

# adduser webuser

Запускаем графическую оболочку:

# systemctl start lightdm

Можно подключать монитор к серверу, заходить в систему и подключаться к локальному веб интерфейсу по адресу https://localhost:8006.

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

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

#proxmox
👍173👎14
Для автоматизации установки и настройки виртуальных машин в Proxmox я рассказывал про Cloud-Init. С помощью этой технологии можно создать преднастроенный образ, который включает в себя базовые настройки системы, такие как сеть, пользователи, установка пакетов и некоторые другие.

Если хочется пойти дальше в автоматизации и развернуть сразу набор виртуальных машин определённой конфигурации, то для этого можно воспользоваться Terraform. Для Proxmox есть провайдер (terraform registry доступ через vpn, github). Это самый популярный. Есть ещё один, который очень активно развивается и допиливается - terraform registry и github.

Кратко поясню, для тех, кто не знает, что такое Terraform и для чего он может быть полезен в связке с Proxmox. Terraform был разработан как решение по управлению в стиле IaC (Infrastructure as Code, IaC) - инфраструктура как код. В первую очередь это касается управления ресурсами облачных провайдеров. Вы описываете в Terraform, что хотите получить на выходе, запускаете шаблон и получаете набор виртуальных машин, сетей и прочих облачных ресурсов. Причём вы можете оперативно как развернуть инфраструктуру, так и потушить. Это актуально для динамических сред с плавающей нагрузкой. Часто Terraform работает в связке с Ansible. Первый разворачивает инфраструктуру, второй её настраивает.

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

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

1️⃣ Готовится образ с использованием Cloud-Init, на базе которого будет разворачиваться инфраструктура.
2️⃣ Создаётся отдельный пользователь и токен для него, который будет использовать Terraform.
3️⃣ Устанавливается Terraform или Opentofu (форк).
4️⃣ Создаётся конфигурация с провайдером и планон разворачивания инфраструктуры. Будут 2 файла: provider.tf и vm-debian12.tf. Содержимое прикреплю следующим сообщением. По желанию можно все переменные вынести в отдельный файл.

Пример конфигурации можно посмотреть в репозитории. После подготовки конфигурации, её можно проверить:

# terraform init
# terraform validate

Посмотреть, что будет создано:

# terraform plan

Если всё ОК, то создаём описанное:

# terraform apply

Когда всё это будет не нужно, удаляем:

# terraform destroy

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

Как я уже говорил, инструмент относительно простой. Я быстро во всём разобрался и протестировал. Единственный неприятный нюанс - репозитории terraform и opentofu заблокированы для РФ. Пришлось трафик через VPN пускать. У меня всё автоматизировано для этого. Отправил домены registry.terraform.io, apt.releases.hashicorp.com и registry.opentofu.org через VPN на шлюзе.

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

#proxmox #iac #terraform
Please open Telegram to view this post
VIEW IN TELEGRAM
👍139👎6
Пока была возможность, решил проверить, какой штраф на дисковые операции накладывает виртуализация в Proxmox. В моей работе чаще всего именно дисковая подсистема является узким местом серверов. CPU обычно хватает, память сейчас недорога и легко расширяется. С дисками проблем больше всего.

Взял тестовый сервер Proxmox, в котором есть железный RAID контроллер без кэша и собранный RAID10 из 4-х HDD. Воткнул туда дополнительно обычный SSD AMD Radeon R5 R5SL480G 480ГБ. RAID10 подключил как обычный LVM storage, а SSD как LVM-Thin.

Нарезал там LV для хоста:

# lvcreate -V 10G -n test_ssd --thinpool SSD-RADEON/SSD-RADEON
# lvcreate -L 10G -n test_raid10 raid10

Сделал фс ext4 и смонтировал:

# mkfs.ext4 /dev/SSD-RADEON/test_ssd
# mkfs.ext4 /dev/raid10/test_raid10
# mount /dev/SSD-RADEON/test_ssd /mnt/SSD-RADEON
# mount /dev/raid10/test_raid10 /mnt/raid10

Прогнал серию из 10-ти тестов для каждого хранилища с помощью dd:

# dd if=/dev/zero of=/mnt/raid10/tempfile bs=1M count=2000 oflag=direct
# dd if=/dev/zero of=/mnt/SSD-RADEON/tempfile bs=1M count=2000 oflag=direct

Далее взял fio и прогнал тесты с его помощью:

Линейное чтение: 
# fio -ioengine=libaio -direct=1 -invalidate=1 -name=test -bs=1M -iodepth=32 -rw=read -runtime=30 -filename=/dev/raid10/test_raid10

Линейная запись: 
# fio -ioengine=libaio -direct=1 -invalidate=1 -name=test -bs=1M -iodepth=32 -rw=write -runtime=30 -filename=/dev/raid10/test_raid10

Пиковые IOPS случайной записи: 
# fio -ioengine=libaio -direct=1 -invalidate=1 -name=test -bs=4k -iodepth=128 -rw=randwrite -runtime=30 -filename=/dev/raid10/test_raid10

Так для обоих дисков. С dd сделал по 10 тестов, с fio по 5. Потом создал VM на Debian 12, создал для неё такие же диски, выбрав параметры:

▪️Device: SCSI
▪️Cache: Default (No cache)
▪️IO thread: yes
▪️Async IO: Default (io_uring)

Настройки все по умолчанию. И там выполнил точно такие же тесты. Свёл всё в одну таблицу. Я тут приводить точные цифры тестов не буду, так как они не имеют принципиального значения. Цифры можете сами посмотреть. Перейду сразу к выводам.

Разброс в производительности не более 9%. А если точно, то разница между хостом и VM только в одном тесте на запись была 9%, в остальных случаях 2-6%. Немного удивило то, что в паре тестов в VM результаты были выше на 2%, чем на хосте. Я несколько раз перепроверял, но ситуация воспроизводилась снова. Не знаю, с чем это может быть связано.

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

#proxmox #disk #perfomance
2👍126👎4
Завершу тему с тестированием дисков информацией про кэширование в Proxmox VE. У него стандартный набор режимов, которые будут плюс-минус такие же и у рейд контроллеров. Сделаю в формате небольшой шпаргалки, а подробности с картинками есть в документации.

▪️None - режим по умолчанию. Если не хочется разбираться в этой теме, то можете оставлять этот режим и не заморачиваться. Он универсален для сервера общего назначения. Гипервизор никак не вмешивается в операции ввода-вывода. VM работает как-будто напрямую с хранилищем. Может отправлять данные в очередь хранилища на запись, либо дожидаться реальной записи.

▪️Writethrough - операции записи VM идут напрямую в хранилище, как и в режиме none. В этом режиме добавляется кэш гипервизора, который используется только для чтения. То есть мы получаем такую же надёжность записи, как и в none, но добавляется кэш на операции чтения. Если у вас сервер отдаёт много статики, то можете включить этот режим.

Железный рейд контроллер без батарейки обычно работает в таком же режиме.

▪️Directsync - кэширование гипервизора не используется вообще, как в none. Отличие этого режима в том, что мы заставляем VM работать с хранилищем только в режиме реальной записи с подтверждением. То есть виртуалка не использует очередь хранилища. Затрудняюсь придумать пример, где это реально надо. Никогда не использовал этот режим.

▪️Writeback - операции записи и чтения кэшируются гипервизором. VM будет получать подтверждения о записи, когда данные попадут в кэш гипервизора, а не хранилища. Это существенно увеличивает быстродействие дисков VM. Особенно если у гипервизора много свободной оперативной памяти для кэша. Если будет сбой сервера и данные из кэша хоста не успеют записаться, то мы получим потерю информации с разными последствиями для системы. Она скорее всего выживет, но если там работала СУБД, то база может оказаться битой.

Если у вас настроен UPS, сервер корректно завершает работу в случае пропадания питания, и в целом стабильно работает, без проблем и аварийных завершений, то можно использовать этот режим для всех виртуальных машин. Железный рейд контроллер с батарейкой обычно работает в этом же режиме.

▪️Writeback (unsafe) - то же самое, что Writeback, но с одним отличием. В режиме Writeback гостевая VM может отправить команду на запись данных в реальное хранилище, а не кэш гипервизора. У неё есть возможность принудительно поддерживать консистентность данных. В режиме unsafe команда на запись в хранилище всё равно перехватывается кэшем хоста. Это обеспечивает максимальное быстродействие VM и максимальную ненадёжность сохранности данных. Я этот режим использую на тестовых гипервизорах.

❗️Все эти режимы имеют смысл при использовании типа диска RAW. Например, при использовании LVM Storage или обычных raw файлов с хранением в директории хоста. Во всех остальных случаях (qcow2, zfs) кэширование лучше не трогать и оставлять его в режиме none. Также следует аккуратно менять режимы при использовании raid контроллера с батарейкой, встроенной памятью и включенным кэшированием. Будет неочевидно, какой режим выбрать - тот или иной кэш гипервизора или самого контроллера, либо их обоих. Надо тестировать на своей нагрузке. Я в таких случаях оставляю кэш контроллера и не использую кэш гипервизора. Просто интуитивно так делаю. Как лучше, я не знаю.

🔹Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#proxmox #disk
5👍151👎1
▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересными/полезными. Как обычно, ниже те видео из моих подписок за последнее время (обычно беру период в 2 недели), что мне показались интересными и полезными.

Truenas Scale Electric Eel. Как же долго я тебя ждала
Вышло крупное обновление Trunas Scale - одно из лучших open source решений для NAS. Оказывается, в нём под капотом был Kebernetes 😱 В обновлении его заменили на Docker Compose. Содержательное видео по этому продукту.

OpenProject - Система для организации проектов. Обзор функций. Установка пакетов и docker
Обзор OpenProject - системы управления проектами с открытым исходным кодом. Популярная и функциональная система. Раньше про неё не слышал. Думаю, разверну и сделаю отдельную заметку.

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

xPipe is a fantastic, amazing remote connection manager!
Обзор xPipe - менеджера для удалённых подключений. Я писал про него. Пользовался им некоторое время, но в итоге бросил. Докучали некоторые баги и его тормознутость. По виду и возможностям всё нравится, но на практике не зашло. Попробуйте, может вам понравится. Из особенностей - для подключений по SSH использует Windows Terminal. Лично мне это особенно нравилось.

What’s the better Git? // GitLab vs Gitea
Краткое сравнение GitLab и Gitea. Так то они сильно различаются. Не знаю, что сподвигло автора сравнить их в лоб. Наверное, тема популярная.
Self-host your own Git platform! // Gitea Tutorial
Вдогонку от этого же автора ролик про саму Gitea.

GitLab - Установка приватного GitLab Сервера с Ручной и Авто настройкой SSL + PASSWORD
Подробный урок по установке Gitlab. Рассмотрены и системные требования, и разные редакции и т.д. База для тех, кто не особо знаком с продуктом.

GitLab CI/CD - Полный DevOps Pipeline с НУЛЯ, Создание Docker Image и деплой в AWS ECS Fargate
Практический урок по созданию пайплайна в Gitlab. Он привязан к сервисам AWS. Пол урока создание там сущностей и раздача прав. Тем не менее показано всё наглядно для общего понимания, как это в принципе работает: разные ветки в git, ветвление деплоя в зависимости от ветки, переменные и т.д.

7 Правил безопасности сервера
Автор рассмотрел некоторый набор правил для повышения безопасности сервера. Информация для новичков, набор тривиальный: не ходим под root, не используем пароль, прячем SSH порт и т.д.

PostgreSQL Clustering the Hard Way...
Тяжёлое для восприятия техническое видео на час по построению кластера на базе PostgreSQL. Смотреть имеет смысл, если вам актуальна эта тема. Кластер на базе Patroni.

Установка ONLYOFFICE в докер и связываем его с Nextcloud
Небольшая инструкция по настройке этой связки. Меня не раз спрашивали, как это настроить. Последний раз буквально неделю назад кто-то то ли в личку, то ли куда-то в комментарии писал.

SafeLine: A Feature-Rich WAF with a Catch (or Two)
Обзор open source self-hosted WAF. Не слышал про него ранее. Думаю, что попробую и напишу отдельную заметку.

Reubah: Optimize Your Images & Files Without Compromising Your Privacy
Функциональный open source продукт Rebuah для одиночной или пакетной обработки изображений. В целом ничего особенно, но выглядит аккуратно и удобно. Можно сразу перемотать на демонстрацию. Мне понравилось. В список программ для собственного применения записал.

The Perfect Home Server 2024 – 56TB, ECC, IPMI, Quiet & (kind of) Compact
Интересное описание сборки домашнего сервера с минимальным шумом с IPMI и ECC. Понравилась материнка из видео - gigabyte mc12-le0. К сожалению, не нашёл, где её у нас купить можно. На aliexpress тоже нету. У автора ролики очень хорошего качества. Огромное количество просмотров для такой узкой темы это подтверждают.

#видео
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍73👎4
Новость разлетелась, что Proxmox выкатил совершенно новый продукт - Proxmox Datacenter Manager. Это веб панель, которая объединяет в едином интерфейсе все разрозненные хосты или кластеры. Информация пока только на форуме, так как это alpha версия:

Proxmox Datacenter Manager - First Alpha Release

Продукт однозначно востребован. Я уже писал когда-то, что сам для управления различными серверами с Proxmox держу отдельный браузер, куда добавляю все CA, сохраняю пароли и делаю директории со ссылками в быстром доступе, чтобы оперативно переключаться между серверами, открывая веб интерфейсы.

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

Я пока не придумал, где лучше разместить Datacenter Manager, так как он по сути не привязан ни к какому проекту, а служит для моего личного удобства. Поставил на чистую виртуалку с Debian 12, которая работает на моём рабочем ноуте. В моём случае это единственное удобное размещение, так как к серверам обычно ограничен доступ. Попасть на них можно либо по белым спискам IP, либо по VPN, которые настроены на моём рабочем ноуте.

# echo 'deb http://download.proxmox.com/debian/pdm bookworm pdm-test' >/etc/apt/sources.list.d/pdm-test.list
# wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
# apt update
# apt install proxmox-datacenter-manager proxmox-datacenter-manager-ui

Идём по https://IP-server:8443, используем аутентификацию через системную учётку root сервера, на котором установлена панель.

Для подключения PVE к панели нужно, как обычно, указать Fingerprint сертификата сервера. Те, кто используют бесплатные от LE с коротким сроком жизни, будут страдать, так как при обновлении сертификата отпечаток меняется. Я обычно оставляю самоподписанные, которые создаются при установке сервера. Потом указывается учётка от сервера. PDM автоматом подключится к PVE, создаст там для себя токен пользователю root, которым будет пользоваться во время своей работы.

Возможностей пока не особо много. Можно быстро посмотреть информацию о сервере, его ресурсах, виртуалках. Остановить, запустить их. Там же в списке серверов есть ссылки, чтобы подключиться к веб интерфейсу конкретного сервера. Всё это пока тормозит и подглючивает. Графики у меня не рисовались, а отображение использования CPU и RAM сильно отставало от реальных значений. Панелька падала пару раз с ошибками. Если вам не сильно надо, то не торопитесь устанавливать.

Составлен Roadmap с обещанием следующих возможностей:

▪️Расширенное управление хостами: обновления, бэкапы, репозитории и т.д.
▪️Интеграция со службой SDN на хостах.
▪️Миграция виртуалок между хостами. Сейчас работает только, если они на ZFS.
▪️Поддержка остальных продуктов: Proxmox Backup Server и Proxmox Mail Gateway.

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

▶️ Proxmox Datacenter Manager - кластер теперь не нужен ?

#proxmox
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍153👎3
Вчера была новость о релизе Proxmox VE 8.4. Из нововведений там ничего особенного не увидел, кроме одного момента. Анонсировали Virtiofs – функциональность для совместного доступа к файлам и директориям хоста из виртуальных машин. Это реально полезная штука, так как нередко возникает такая потребность. Обычно приходится поднимать NFS или SMB для этого. Решил сразу посмотреть, как это работает.

Обновил тестовый гипервизор. В списке оборудования VM появилось новое устройство - Virtiofs. А в Datacenter появился новый подраздел Directory Mappings. В этом разделе вам нужно создать общую директорию на хосте, а потом в виртуальную машину добавить через новое устройство.

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

1️⃣ Добавить общую директорию хоста через Datacenter ⇨ Directory Mappings.
2️⃣ Добавить устройство Virtiofs в виртуальную машину и указать ранее созданную общую директорию.
3️⃣ Современные ядра Linux версии >=5.4 имеют встроенную поддержку virtiofs, ничего специально для её работы делать не надо. Сразу монтируем внутри системы:

# mount -t virtiofs VM_Shares /mnt/VM_Shares

Я смонтировал общую директорию VM_Shares, добавленную в Directory Mappings с указанными именем в директорию /mnt/VM_Shares виртуальной машины с Linux.

Если у вас виртуальная машина Windows, то нужно установить специальный драйвер, который обеспечит поддержку virtiofs. Он входит в состав актуального диска VirtIO-Win package (virtio-win.iso). Дополнительно понадобится программа WinFsp. Это аналог линуксового FUSE.

Для Linux всё выглядит просто и удобно. Для Windows добавляются костыли в виде установки драйвера virtiofs и аналога линуксового FUSE, чтобы смонтировать пользователю общий диск. Не знаю, насколько это будет быстро и стабильно.

Документация по Virtiofs
Virtiofs в Windows

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#proxmox
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍231👎3
Я написал большую и насколько смог подробную статью по настройке кластера на базе Proxmox VE. По современным требованиям законодательства я вынужден промаркировать её как реклама, так как сервера для её написания мне предоставил хостер Selectel, а я оставил на него ссылки. Никаких требований непосредственно по рекламе предъявлено не было, кроме одного – в статье должно быть показано, как я заказываю услуги через панель управления. По содержанию и тексту не было ни единой правки. Всё продумал, настроил и написал лично я от и до.

Статья получилась универсальной без привязки к конкретным услугам, так как я использую обычные арендные сервера с установленной бесплатной версией Proxmox VE, а в качестве общих хранилищ для кластера – сетевые диски, подключаемые через iSCSI интерфейс. Настройка подобных дисков плюс-минус везде одинаковая. Разница если и будет, то в типе аутентификации или её отсутствии.

В статье отражены следующие моменты:

▪️Настройка Proxmox VE на серверах с двумя NVMe M.2 дисками, объединёнными в программный RAID1 на базе mdadm для отказоустойчивости на уровне дисков.
▪️Объединение трёх идентичных серверов в обычный кластер с локальными дисками и ручной миграцией виртуальных машин без их остановки.
▪️Настройка сети виртуальных машин с VLAN с помощью встроенной Proxmox SDN.
▪️Подключение к серверам сетевых дисков по iSCSI, добавление их в Proxmox и создание на их базе общих хранилищ для дисков виртуальных машин в формате LVM.
▪️Настройка HA (High Availability) на примере виртуальной машины и LXC контейнера. Я настраиваю HA, аварийно выключаю одну из нод кластера и показываю, как с неё автоматически переезжают ресурсы на работающие ноды.

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

Остались нерассмотренными пара других полезных конфигураций:

◽️Репликация виртуальных машин в кластере на базе файловых хранилищ в формате zfs.
◽️Использование кластера Ceph для виртуальных машин, построенного на базе этих же трёх нод кластера.

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

Установка и настройка кластера Proxmox VE

Настройка кластера высокой доступности на базе Proxmox VE представляет из себя относительно простую, рядовую задачу. При этом выполнить её можно на любом железе, от самого бюджетного десктопного оборудования до серверных платформ. Сочетание софтовых решений по отказоустойчивости дисков на базе mdadm или zfs вкупе с функциональностью HA кластера Proxmox позволяют реализовать относительно (!) высокую доступность на любом поддерживаемом этой системой оборудовании. А так как сама система на базе ОС Debian и ядра Linux, поддерживает она практически любое более-менее современное железо.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#proxmox #статья
12👍384👎5
Вчера в публикации про сетевые проблемы в комментариях подписчик упомянул проблемы с сетевой картой Realtek. Я сталкивался с ними несколько раз и прилично натерпелся, так что мне есть что сказать. Возможно кому-то это сэкономит время, если столкнётся с похожими проблемами.

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

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

# lspci | grep Ethernet
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller

По умолчанию у вас будет установлен драйвер r8169. Проверить так:

# lsmod | grep r81
r8169

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

Проблема может через 10 минут пройти сама, а может и нет, и поможет только перезагрузка. В логах могут быть какие-то упоминания проблем с сетевой картой, типа таких:

[01448.532276] r8169 0000:09:00.0 enp3s0: rtl_rxtx_empty_cond == 0 (loop: 42, delay: 100).

А может и вообще ничего не быть. Известное мне решение только одно – использовать драйвер r8168. Это решение широко освещено на официальном форуме Proxmox. Там можно найти множество веток с обсуждением подобной проблемы.

Драйвер можно скачать самому и собрать его. Взять можно, например, тут. Там есть инструкция по сборке, она несложная. Можно взять готовый пакет для Debian из non-free репозитория: r8168-dkms. Установить его можно так. Добавляем себе в систему репозитории non-free и non-free-firmware. То есть в файле /etc/apt/sources.list должна быть строка:

deb http://ftp.ru.debian.org/debian bookworm main contrib non-free non-free-firmware

Ставим необходимые пакеты:

# apt install pve-headers r8168-dkms

Во время установки r8168-dkms должен собраться и установиться драйвер r8168, а предыдущий r8169 отключиться и добавиться к заблокированным во время загрузки.

Есть ещё один пакет с этим драйвером, собранный специально под PVE. Я не знаю, чем он отличается от обычного дебиановского. Брать тут. Его достаточно просто скачать и установить:

# wget https://github.com/nathanhi/r8168/releases/download/pve8%2F8.054.00-1-bpo12/r8168-dkms_8.054.00-1-bpo12_all.deb
# dpkg -i r8168-dkms_8.054.00-1-bpo12_all.deb

Описанные выше действия могут как помочь, так и нет. Например, на одном сервере я вообще не видел сетевой карты. После установки драйвера r8168, она определялась в системе и начинала нормально работать. А иногда ничего не менялось и сеть как отваливалась периодически, так и продолжала отваливаться. Тогда приходилось делать что-то типа такого:

#!/bin/bash
IP="10.20.1.2"
if ! ping -c 1 -W 5 "$IP" > /dev/null 2>&1; then
  echo "$(date): $IP недоступен. Перезапуск сетевой службы..."
  systemctl restart networking
else
  echo "$(date): $IP доступен."
fi

Ставил подобный bash скрипт в cron на исполнение каждую минуту. В моменты редких зависаний он перезапускал сеть и всё продолжало нормально работать.

☝️ А резюме всего этого такое. Если у вас сетевая карта Realtek, то либо замените её, либо не ставьте туда Proxmox. Есть высокая вероятность, что нормально он всё равно работать не будет, а вы только время потеряете на отладку и решение проблем.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#proxmox #ошибка
2👍210👎2
В Proxmox есть давняя проблема с LXC контейнерами. Внутри них вы видите нагрузку LA (Load Average) не контейнера, а хоста. Это сбивает с толку мониторинг. Например Zabbix, если к контейнеру прикреплён стандартный шаблон Linux.

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

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

Достаточно добавить соответствующий ключ запуска к службе lxc, запуск которой описан в файле /usr/lib/systemd/system/lxcfs.service. Вместо

ExecStart=/usr/bin/lxcfs /var/lib/lxcfs

делаем:

ExecStart=/usr/bin/lxcfs -l /var/lib/lxcfs

Перечитываем настройки и перезапускаем службу:

# systemctl daemon-reload
# systemctl restart lxcfs.service

Это решение в лоб, чтобы было понятно, что конкретно делаем. Более корректно менять настройки systemd через переопределение их в override.conf. Для этого создаём файл /etc/systemd/system/lxcfs.service.d/override.conf:

# systemctl edit lxcfs

Пишем туда:

[Service]
ExecStart=
ExecStart=/usr/bin/lxcfs -l /var/lib/lxcfs/

И тоже перечитываем настройки и перезапускаем службу:

# systemctl daemon-reload
# systemctl restart lxcfs.service

Хотя лично мне кажется, в данном случае лучше переписать оригинальный файл юнита. Если с каким-то обновлением прилетит его изменение, лучше полностью его заменить, чтобы не было потом проблем совместимости с изменениями в override.conf.

После этого надо остановить все контейнеры и запустить заново. Теперь внутри LXC вы будете видеть LA непосредственно контейнера.

Не понимаю, почему эту настройку до сих пор по умолчанию не применяют в Proxmox. Специально обновился до самой свежей на момент написания заметки версии 8.4.1 и убедился, что этого ключа для службы нет, а проблема актуальна. Мне в очередной раз о ней напомнил Zabbix, когда подключил новый хост с LXC к мониторингу.

В LXC Merge request для решения этого вопроса принят ещё в 2018 году. Вот ответ на форуме от сотрудника поддержки:

"Seems like it's working well for some users, but to be honest i don't see any reason to make it default still. it's rather easy to add the flag and it's a specific use case..."

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

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#proxmox #lxc
2👍162👎2
Посмотрел на прошлой неделе видео с обзором проекта ProxMenux. Раньше о нём не слышал. Показалось интересным, так что решил лично попробовать. Сразу предупрежу, чтобы не было бессмысленных обсуждений по этой теме. Это не решение для продуктовых серверов. Не надо это ставить на работе или где-то ещё под реальной нагрузкой. Это проект энтузиаста для таких же энтузиастов и любителей понастраивать дома сервера.

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

Я поставил ProxMenux на свой тестовый гипервизор. Лично я им активно пользуюсь для тестирования различных продуктов и написания публикаций в канал. Быстрое создание виртуалок через консоль мне показалось полезной возможностью.

С помощью ProxMenux можно выполнять следующий набор основных действий:

◽️Создавать и управлять такими сущностями гипервизора как сетевые интерфейсы, диски, виртуальные машины, контейнеры.
◽️Для некоторых типов виртуальных машин поддерживается автоматическая загрузки ISO образов для установки. Например, стандартных образов Debian, Ubuntu и т.д., clouid-init образов их же, образов Windows через uupdump.net (нужно вручную сформировать и передать ссылку для загрузки нужной версии).
◽️Использовать встроенные консольные команды для управления Proxmox типа qm и pct из интерфейса ProxMenux, где есть подсказки по этим командам.
◽️Использовать скрипты из набора Proxmox VE Helper Scripts.

Там много ещё разных возможностей, типа запуска htop, iftop и других системных CLI команд, управление ZFS, проброс GPU и многое другое. Всё это аккуратно описано в документации. Понравилось, как она оформлена.

В целом, ничего особенного. Не могу сказать, что через веб интерфейс как-то особенно долго или нудно настраивать то же самое. Все дополнительные примочки, типа CLI команд мне не нужны. А веб интерфейс в управлении такими системами как гипервизор с множеством сущностей мне видится более удобным, нежели консоль. Так что смотрите сами нужно вам всё это или нет. Мне скорее нет, чем да.

🌐 Сайт / Исходники / ▶️ Обзор

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#proxmox
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍76👎4
На днях в очередной раз настраивал Proxmox Backup Server (PBS) в режиме синхронизации бэкапов между двумя разнесёнными хранилищами. Там есть некоторые нюансы с правами пользователей, которые приходится уточнять в документации, так что решил написать пошаговую инструкцию. Плюс, поделиться информацией для тех, кто ещё не настраивал подобное, либо вообще не знает о такой возможности.

PBS умеет бэкапить как виртуальные машины с уровня гипервизора, так и файлы внутри виртуальных машин с помощью Proxmox Backup Client. Сервер бэкапов делится на Datastores со своими бэкапами и настройками доступа. Каждый Datastore штатно может быть синхронизован с другим удалённым Datastore на другом PBS. Это позволяет строить распределённые системы хранения данных, где бэкапы синхронизируются автоматически и хранятся в соответствии с заданными локальными политиками хранения. Получается удобная и функциональная распределённая система бэкапов. И при этом полностью бесплатная.

Имеем 2 разных PBS: pbs-local и pbs-remote. На первый бэкапятся виртуальные машины и затем бэкапы синхронизируются в режиме Push на второй сервер. Рассказываю, как это настроить.

1️⃣ На pbs-remote идём в Configuration -> Access Control и создаём пользователя, под которым будет подключаться pbs-local. Велик соблазн везде использовать root и полные права, но не рекомендую так делать. Тут же в разделе Permissions добавляем новому пользователю следующие права:

Path: /datastore/{store}
Role: DatastoreBackup

{store} - название Datastore, куда будут синхронизироваться бэкапы. Можно создавать для каждого Datastore своего пользователя, можно использовать одного для всех. Тут уже решайте сами, как будете дробить доступ.

2️⃣ На pbs-local идём в Configuration -> Remotes и добавляем pbs-remote, используя созданную выше учётную запись.

3️⃣ На pbs-local в разделе Configuration -> Access Control -> Permissions для пользователей локальных Datastore, которые будут синхронизироваться, добавьте права:

Path: /remote
Role: RemoteSyncPushOperator

4️⃣ На pbs-local идём в Datastore, выбираем тот, что хотим синхронизировать. Переходим в раздел Sync Jobs и добавляем задачу Add Push Sync Job. Выбираем добавленный на шаге 2 remote и выбираем остальные параметры, в том числе расписание синхронизации.

На этом всё. Теперь можно либо дождаться времени выполнения, либо запустить синхронизацию принудительно. По завершении на pbs-remote будет копия всех бэкапов. То есть на обоих серверах раздел Content будет идентичным. Можно подключить pbs-remote к какому-то гипервизору и там проверять восстановление и запуск виртуальных машин. Это удобно делать, расположив PVE и PBS на одном железном сервере. Получается универсальный инструмент и для дополнительной копии бэкапов, и для их проверки.

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

Ту же самую процедуру синхронизации можно проводить в обратном направлении, то есть по модели Pull, когда удалённый сервер сам подключается к локальному и забирает данные. Можно всё это комбинировать. Например, VM бэкапятся в локальный Datastore, куда и них есть доступ. Потом на этом же PBS эти бэкапы по модели Pull копируются в рамках этого же сервера, но в другой Datastore, куда доступ ограничен. А с этого Datastore бэкапы по Pull или Push копируются на удалённый сервер.

Настройки очень гибкие и зависят от вашей инфраструктуры, режима параноидальности и доступного места для хранения. Напомню, что в каждом Datastore могут быть свои политики хранения бэкапов. Где-то храним 5 последних копий, а где-то 7 дневных копий, 4 недельных и 6 месячных. А куда-то складываем месячные и вообще не удаляем.

В 4-й версии PBS будет ещё пачка приятных нововведений. Например, хранение бэкапов в S3. И всё это бесплатно.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#proxmox #backup
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍232👎2
На днях обновились два продукта Proxmox, которые я активно использую: Virtual Environment 9.0 и Backup Server 4.0. Прежде чем перейти к содержанию обновлений, сделаю предупреждение. Не торопитесь обновлять свои сервера. У Proxmox есть некоторый шанс получить проблемы после обновления, особенно для большого обновления со сменой релиза Debian. Я сам лично много раз сталкивался с ними. Делал тут по этому поводу заметки. Плюс, опыт других людей говорит о том же.

Расскажу про своё отношение к обновлению гипервизоров. Если рядом нет подменного сервера, на который можно быстро восстановить работу виртуальных машин, то я его не обновляю без веских оснований. Процесс этот откладываю на максимально комфортное время, когда это можно сделать. Обычно какие-то длинные праздники, типа майских или новогодних. То же самое для кластера. Обновлять надо очень аккуратно и понимать, что ты будешь делать, если он вдруг не переживёт обновление. Уронить прод от неаккуратного обновления гораздо проще, чем получить проблемы от каких-то уязвимостей, которых во-первых, не так много, чтобы это было опасно в закрытом контуре, во-вторых, обновления приходят регулярно и если постоянно обновляться по мере их выхода, то частота этого процесса сама по себе по теории вероятности принесёт рано или поздно проблемы.

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

📌Ключевые обновления Proxmox VE:

🔥Обычные LVM тома, не Thin, теперь поддерживают снэпшоты. У меня это самый популярный формат хранения. Из-за того, что он не поддерживал снепшоты, иногда приходилось использовать qcow2 диски, но они не очень удобны из-за ряда особенностей. В описании указано, что хранилища типа Directory, NFS, и CIFS тоже получили такую функциональность. Но по описанию я не очень понял, относится ли это, к примеру, к RAW дискам, расположенным в директории. Из описания вроде бы да (Directory, NFS, and CIFS storages also gain additional support for snapshots as volume chains), но я не понимаю, как это технически реализовано. Надо будет на практике проверять. Вроде бы автоматически создаётся qcow2 файл для накопления изменений относительно базового диска.
◽️Добавлена функциональность SDN Fabric для построения отказоустойчивых управляемых и динамически маршрутизируемых сетей. У меня таких вообще нет, так что попробовать не придётся. Это в основном актуально для больших кластеров.
◽️Дополнительные графики с метриками. Будет полезно. Я частенько их смотрю для беглой оценки работы VM.
◽️Новый мобильный веб интерфейс. Лично я им вообще не пользуюсь. Заходил очень редко в исключительных ситуациях. Не знаю, зачем он нужен. Изредка можно и версию для ПК открыть.

Из основного это всё. Как я понимаю, триггером для релиза был переход на Debian 13, поэтому непосредственно в функциональности изменений немного.

📌 Ключевые обновления Proxmox BS:

🔥Поддержка S3-совместимых хранилищ. Этого реально не хватало. Подобные хранилища очень популярны и относительно дёшевы. Теперь можно спокойно брать дедики с небольшими локальными дисками и подключать более дешёвые S3 хранилища.
◽️Автоматический запуск синхронизации при подключении съёмного хранилища. Можно руками подключить внешний диск или подключить скриптами и бэкап на него будет автоматически синхронизирован. Потом его можно отмонтировать.
◽️Много мелких исправлений в интерфейсе, в уведомлениях, в очистке старых данных и некоторых других моментах.

Я наверное первые обновления сделаю, когда выйдут версии 9.1 и 4.1.

#proxmox
6👍125👎2
Решил выделить в отдельную публикацию свежий цикл из трёх видео про настройку виртуализации на базе Proxmox для малого и среднего бизнеса. Автор построит IT инфраструктуру с нуля на голом железе. Всё это будет сделано на базе реальных примеров с настройкой сети, VPN, файрвола, удалённого доступа в инфраструктуру и т.д.

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

1. Каждая виртуалка имеет свой внешний IP.
2. В качестве шлюза выступает сам гипервизор.
3. В качестве шлюза использует Mikrotik CHR в отдельной виртуальной машине.

Я тоже в разных ситуациях могу использовать один из этих способов. Это в 3-м видео разбирается. Причём с практическим примером от Hetzner, но похожая схема бывает и у других провайдеров.

▶️ Обзор построения IT-инфраструктуры на базе Proxmox (Debian, Mikrotik CHR, VPN, VM, AD, RDP) [Видео0]

▶️ Установка Proxmox на Hetzner + базовая защита (Debian 12, SSH, Fail2Ban, Firewall, Nmap) [Видео1]

▶️ Организация интернета для ВМ в Proxmox (PROXMOX, Bridge, NAT, MikroTik CHR, vmbr0/vmbr1) [Видео2]

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

Очень хочется написать такой же цикл в тексте на примере реального хостера, например, Selectel. У меня там куча бонусных средств для этого есть. Не хватает только одного - времени. Такие статьи писать очень времязатратно. Но, думаю, получится рано или поздно.

У меня есть большая статья про настройку Proxmox, но она устарела. Хотя принципиально ничего не поменялось, но всё равно надо освежить. Я там в том числе рассказываю про реальный пример настройки доступа в интернет виртуальных машин с использованием шлюза на одной из них с пробросом в него внешнего IP. Прям с одного из рабочих серверов взял пример и описал.

#обучение #proxmox
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍155👎2
В пятницу в подборке видео с ютуба был ролик с системой мониторинга для Proxmox VE и BS под названием Pulse. По внешнему виду продукт сразу заинтересовал, поэтому решил попробовать. Забегая вперёд скажу, что очень понравилась эта веб панель с мониторингом. Расскажу обо всём по порядку.

📌 Особенности Pulse:

◽️Эта программа только под продукты PVE и PBS
◽️Ничего сама на хостах не делает, только берёт информацию
◽️Максимально простая в настройке, достаточно дать доступ к гипервизору или хранилищу бэкапов в режиме чтения
◽️Приятный и удобный веб интерфейс
◽️Встроенная аутентификация самой панели
◽️Просмотр данных в режиме реального времени
◽️Отправляет уведомления на основании данных о базовых метриках доступных ресурсов
◽️Поддерживает email и механизм вебхуков для отправки уведомлений. Для популярных сервисов типа Telegram для вебхуков есть преднастройки.
◽️Удобный просмотр бэкапов виртуальных машин
◽️Простая установка в одно действие

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

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

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

Для установки есть несколько способов:

1️⃣ Готовый скрипт для запуска на гипервизоре. Скрипт автоматом всё запускает в небольшом LXC контейнере.
2️⃣ Запуск через Docker.
3️⃣ Ручная установка бинарника с конфигурацией и запуск через systemd.

Я устанавливал через Docker. Мне показалось это максимально простым и безопасным способом. Взял отдельную виртуалку и запустил:

# docker run -d -p 7655:7655 -v pulse_data:/data rcourtman/pulse:latest

Настраивать ничего не надо. Все данные помещаются в отдельный volume. Дальше можно идти на порт сервера 7655, создавать учётку админа и настраивать.

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

Обзор панели, как и описание, увидел на ресурсах Самохостинга.

Заметил, что у проекта мало звёзд на github. Мне кажется, он заслуживает большего. Накидайте, если не трудно. Это вдохновит автора.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#proxmox #мониторинг
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍132👎3
Хочу отдельно привлечь ваше внимание к циклу видео с youtube канала RealManual, которые там недавно появились. Не стал их добавлять в общую подборку, потому что их там много и все я не смотрел. Видео этого автора часто бывают у меня на канале, как и он сам иногда появляется в комментариях.

Василий выложил серию роликов про Proxmox из своего платного курса. Там не только непосредственно гипервизор, но и обвязка вокруг него: PBS, NFS и Ceph для хранилищ, Linstore, Terraform и т.д. Качество материала на хорошем уровне: наглядно, простыми словами, всегда с примерами. Всё делается на наших глазах. Несмотря на то, что всё снималось в разное время и уже с устаревшими версиями, вся база не изменилась. Появились какие-то новые возможности, типа SDN, но все старые материалы остались актуальны. Например, я проксомовский SDN не использую.

Отдельно отмечу одно видео под названием Proxmox VE: храним и бекапим - Бонусы: Бекапы (факапы) и ресторы. Я его посмотрел и увидел новую для себя информацию. В Proxmox есть один важный нюанс с бэкапом и восстановлением LXC контейнера, который может привести к безвозвратной потери данных.

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

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#видео #обучение #proxmox
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍127👎6