Как говорится, "не прошло и года" (а прошло всего 202 дня), а авторы Proxmox Virtual Environment (более известного, как Proxmox VE, или просто PVE) - замечательного дистрибутива для развертывания хостов виртуализации на базе LXC и KVM, выпустили обновление своего детища до версии 7.3. PVE построен на базе Debian GNU/Linux, и представляет собой неплохую альтернативу решениям от коллег по цеху - но только бесплатную, либо по цене стоимости подписки на поддержку.

Proxmox Virtual Environment 7.3 поставляется с начальной поддержкой планирования ресурсов кластера, позволяет обновлять системы в режиме air-gapped с помощью нового инструмента Proxmox Offline Mirror, имеет улучшенный UX для различных задач управления, а также интересные технологии хранения данных, такие как ZFS dRAID.

Наверное, проще привести анонс от самих авторов:

  • дата выпуска: 22 ноября 2022

  • релиз построен на базе Debian Bullseye (11.5)

  • последнее ядро из ветки 5.15 поставляется в качестве стабильного по умолчанию (5.15.74), по желанию можно использовать более новое ядро 5.19

  • QEMU 7.1

  • LXC 5.0.0

  • ZFS 2.1.6

  • Ceph Quincy 17.2.5

  • Ceph Pacific 16.2.10

Основные моменты

  • Поддержка Ceph Quincy. Она также используется по умолчанию при новых установках.

  • Начальная поддержка планирования ресурсов кластера (CRS)

  • Теги для ВМ в веб-интерфейсе для лучшей категоризации/поиска/...

  • Поддержка Proxmox Offline Mirror для обновления и управления подписками систем с "воздушным зазором" (air-gapped).

Обзор изменений

  • Улучшения в веб-интерфейсе (GUI):

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

    • Улучшен UX для промежуточных устройств PCIe - теперь для них также отображается название

    • Улучшен просмотр сертификатов - например, для сертификатов с большим количеством SAN.

    • Пользовательский интерфейс диска узла: аккуратная (gracefully) обработка добавления одного и того же локального хранилища (например, zpool с одинаковым именем) на несколько узлов.

    • Показ конфигураций узлов, таких как wakeonlan или задержка запуска ВМ при загрузке для каждого узла в веб-интерфейсе.

    • Улучшены переводы, среди прочего:

      • арабский

      • голландский

      • немецкий

      • итальянский

      • польский

      • традиционный китайский

      • турецкий

    • Улучшение рендеринга сложных форматов в виджете api-viewer

  • Виртуальные машины (KVM/QEMU)

    • Новая основная версия QEMU 7.1

    • Поддержка закрепления ВМ за определенными ядрами процессора с помощью taskset

    • В веб-интерфейсе для новых ВМ по умолчанию включен iothread и в качестве SCSI-контроллера выбран VirtIO SCSI-Single (если такое поддерживается гостевой ОС)

    • Новые ВМ используют USB-контроллер qemu-xhci, если он поддерживается гостевой ОС (Windows >= 8, Linux >= 2.6)

    • USB-устройства теперь можно подключать "на горячую"

    • Передача до 14 USB-устройств (ранее 5) на виртуальную машину

    • Приведение параметров virtio-net для размеров очередей приема (rx) и передачи (tx) в соответствие с лучшими практиками в upstream

    • Использовать более эффективный упакованный формат для нескольких очередей (multi-queues)

    • Разрешить до 64 мультиочередей rx и tx (ранее было 16)

    • Улучшения Cloud-init: изменения в настройках cloud-init теперь могут быть доступны в config-drive ISO внутри ВМ напрямую

    • Отключение по умолчаниюio_uring для дисков ВМ, размещенных на CIFS - для устранения проблемы с CIFS и io_uring, присутствующей с ядра 5.15

    • Улучшена обработка ВМ с передаваемыми PCIe-устройствами:

      • Очистка созданных устройств mdev, даже если ВМ не удалось запустить

      • Увеличение таймаутов между отправкой SIGTERM и SIGKILL, чтобы обеспечить очистку при завершении работы

      • Предотвращение приостановки ВМ с проброшенными PCIe-устройством, поскольку состояние устройства не может быть сохранено.

  • Контейнеры (LXC)

    • Новая мажорная ветка LXC - 5.0.0

    • Более надежное обнаружение режима cgroup путем явной проверки типа /sys/fs/cgroup

    • Поддержка новых версий дистрибутивов:

      • Fedora 37 и подготовка к 38

      • Devuan 12 Daedalus

      • Подготовка к Ubuntu 23.04

    • Bind-mounts теперь также напрямую применяется к запущенному контейнеру

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

    • Улучшения в определении версии systemd внутри контейнеров

    • Тома теперь всегда деактивируются после успешного move_volume, а не только если исходный том должен быть удален: как меря для предотвращения зависающих привязок krbd

    • Доступны новые готовые шаблоны для:

      • AlmaLinux 9

      • Alpine 3.16

      • Centos 9 Stream

      • Fedora 36

      • Fedora 37

      • OpenSUSE 15.4

      • Rocky Linux 9

      • Ubuntu 22.10

    • Обновлены существующие шаблоны:

      • Gentoo (2022-06-22-openrc)

      • ArchLinux (2022-11-11)

  • Общие улучшения для гостевых ВМ

    • Добавлена опция отключения обучения MAC на мостах (адреса ВМ добавляются статически, широковещательные пакеты не рассылаются на эти порты, таким образом, нет ложных ответов, что нарушало некоторые настройки сети хостера)

    • Улучшение очистки резервных заданий при очистке конфигурации удаленной ВМ

    • Опционально можно перезапускать ВМ после отката к снапшоту

    • Framework для удаленной миграции на внешние, по отношению к кластеру, хосты Proxmox VE

  • HA Manager

    • Tech-preview технологии планирования ресурсов кластера (CRS): Улучшение выбора нового узла, когда HA Manager должен найти новый хост-узел для HA-сервиса, в следующих случаях:

      • восстановление после "огораживания" (fencing) узла

      • при выключении узла, если включена shutdown-policymigrate.

      • при изменении конфигурации группы HA, если текущий узел больше не находится в наборе с наивысшим приоритетом.

    • Использование метода многокритериального анализа решений TOPSIS для поиска лучшей цели

    • Создав базу в виде CRS, разработчики Proxmox планируют расширить ее динамическим планировщиком нагрузки и балансировкой нагрузки в реальном времени в будущих релизах.

  • Кластер

    • Устранение проблемы с разрешениями в API для получения статуса QDevice
      Вызов API для получения статуса API требует привилегированного доступа, но был запущен непосредственно в непривилегированном демоне, что приводило к ложным ошибкам с отказом в разрешении

    • Исправление состояния гонки между записью corosync.conf и перезагрузкой corosync при обновлении

  • Резервное копирование/восстановление

    • Улучшена поддержка пространства имен для типа хранилища Proxmox Backup Server

    • Улучшения в разборе переменных шаблона заметок резервного копирования
      Шаблон заметок для резервного копирования, представленный в Proxmox VE 7.2, получил ряд исправлений и улучшений

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

    • ВМ, используемая для пофайлового восстановления для ВМ на базе QEMU, теперь имеет поддержку увеличения памяти (например, для работы с большим количеством ZFS-данных внутри гостя)

    • Улучшена проверка конфигурации при шифровании Proxmox Backup Server (например, не случится возврата к plaintext, если ключ шифрования будет отсутствовать).

    • При удалении файлов резервных копий vzdump также удаляются соответствующие заметки и журнал.

  • Хранилище

    • Поддержка ZFS dRAID vdevs при создании zpool через API и GUI. dRAID улучшает время восстановления при сбое диска.
      Установка dRAID имеет смысл при большом (15+) количестве дисков или среднем и большом количестве огромных дисков (15+ ТБ).

    • Согласование API статуса SMART с полями Proxmox Backup Server

    • Поддержка Notes и параметра Protected для резервных копий, хранящихся на хранилищах типа BTRFS.

  • Репликация хранилищ

    • Не отправляются письма при ложных ошибках: например, когда репликация не может быть запущена, потому что ВМ находится в процессе миграции

    • При сбое репликации первые 3 повторные попытки планируются за более короткое время, а затем ожидание в течение 30 минут перед повторной попыткой - это улучшает согласованность при коротких сбоях в сети

    • Очистка состояния репликации ВМ, работающих на другой ноде: это может произойти после HA-fencing

    • Сделали взаимодействие состояния репликации и изменений конфигурации более надежным: например, в случае, когда сначала удаляются все тома с одного хранилища, а затем удаляется ВМ перед запуском следующей репликации

  • pve-zsync

    • поддерживает опцию --compressed, в результате чего уже сжатый набор данных будет отправлен в исходном виде на место назначения (таким образом, устраняется необходимость распаковки и потенциального повторного сжатия на целевом устройстве).

  • Ceph

    • Улучшен пользовательский интерфейс при создании новых кластеров
      Улучшен выбор сети и проверка дублирующихся IP.

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

    • Добавлена эвристическая проверка, можно ли остановить или удалить службу ceph MON, MDS или OSD.

    • Веб-интерфейс теперь будет показывать предупреждение, если удаление/остановка службы повлияет на работу кластера.

    • Поддержка установки Ceph Quincy через Proxmox VE CLI и GUI.

  • Контроль доступа

    • Улучшено именование параметров WebAuthn в графическом интерфейсе.

    • Увеличение размера кода OpenID - совместимость с Azure AD в качестве провайдера OpenID

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

    • Исправлена трудная для проявления проблема обновления с ротацией закрытого ключа, используемого для подписи тикетов доступа, что приводило к ложным отклонениям вызовов API
      Исправлено создание токенов для других пользователей любым пользователем, кроме root@pam
      ошибка не позволяла пользователю A создать токен для пользователя B, несмотря на наличие соответствующих прав.
      Улучшено ведение журнала для токенов с истекшим сроком действия.

  • Брандмауэр, сети и программно определяемые сети (технический обзор)

    • Исправление установки MTU в установках, использующих OVS

    • ifupdown2 теперь корректно обрабатывает настройки точка-точка

    • ifupdown2 теперь может добавлять OVSBrige с vlan-тегом в качестве портов к OVSBridge (fakebridge)

    • Исправлено обновление MTU, если bridge-порт подключен к другому мосту.

    • Группы безопасности брандмауэра теперь могут быть переименованы, при этом изменения напрямую подхватываются из pve-firewall

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

    • Улучшена обработка правил ebtables, добавленных извне: если правило было добавлено в таблицу, отличную от filter, pve-firewall все равно пытался разобрать и добавить его в таблицу filter при компиляции правила.

  • Улучшено управление кластерами Proxmox VE:

    • Proxmox Offline Mirror: Инструмент поддерживает подписки и зеркала репозитория для кластеров с "воздушным зазором". Новая утилита proxmox-offline-mirror теперь может быть использована для поддержания узлов Proxmox VE, не имеющих доступа к публичному интернету, в актуальном состоянии и с действующей подпиской.

    • Новый бинарник переадресации почты proxmox-mail-forward: без функциональных изменений, но унифицирует конфигурацию для отправки генерируемых системой писем на адрес электронной почты, настроенный для root@pam.

      Улучшения в pvereport - для лучшего обзора состояния узла Proxmox VE была добавлена/улучшена следующая информация:

      • ceph-device-list

      • стабильный порядок вывода ВМ и сетевой информации

      • вывод proxmox-boot-tool

      • вывод arcstat

  • Демон HTTP и REST-API

    • Файловые загрузки теперь поддерживают имена файлов с пробелами.

    • Загрузка файлов теперь поддерживает файлы размером менее 16 КБ.

    • Улучшена санация ввода URL API в качестве дополнительного уровня безопасности.

  • Установочный ISO

    • Исправлены права доступа к /tmp в среде установки (например, для случаев, когда пользователи устанавливают программное обеспечение вручную из отладочной оболочки).

    • Сделали требование к размеру 8 ГБ предупреждением - большинство установок могут работать с меньшим объемом, но после установки может потребоваться адаптация (например, перемещение места назначения журнала на другое устройство) - установили значение 2 ГБ в качестве жесткого ограничения.

    • Переработали автоматическое определение размера корневого раздела, раздела данных ВМ и swap-раздела, и отказалиcь от создания пула LVM-Thin в пользу пространства корневого раздела на установках с ограниченными ресурсами дисков.

  • Мобильное приложение

    • обновление до версии flutter 3.0

    • поддержка и ориентация на Android 13

    • исправление кнопок, скрытых за мягкими навигационными кнопками Android

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

Известные проблемы и изменения

  • Теги ВМ:
    Дубликаты тегов теперь отфильтровываются при обновлении поля тегов для ВМ.

    По умолчанию обнаружение и сортировка дубликатов выполняется без учета регистра, все теги обрабатываются в нижнем регистре. Это можно изменить в конфигурации datacenter.cfg с помощью булева свойства case-sensitive опции tag-style.

Видео

Лучше один раз увидеть, и вот ролик про новинки свежей версии:

  • Загрузить ISO с новой версией можно, как обычно, по ссылке https://www.proxmox.com/en/downloads.

  • Есть вариант установить PVE поверх Debian 11 (этот вариант, например, позволяет соорудить сервер с официально не поддерживаемым зеркалом на базе md - и вообще, любую нестандартную конфигурацию; тем не менее, PVE рекомендуется использовать как единственное ПО на сервере, а не "рядом" с другими программами и задачами сервера!)

  • Обновление 7.2 до 7.3 делается привычной в Debian командой apt update && apt dist-upgrade, с ветки 6.х до 7.х чуть сложнее - делаем по мануалу.

Комментарии (13)


  1. Chelidonium
    23.11.2022 01:32

    ЁКЛМН


  1. Pest85
    23.11.2022 04:27
    +3

    виртуальных гостей

    Мама, а можно Мишка к нам виртуально в гости придет?

    Может все же не стоит просто гугл транслейтом все переводить а немного подправить?


  1. vasilisc
    23.11.2022 09:08
    +1

    Срочно замените фразу "Обновление 7.2 до 7.3 делается привычной в Debian командой apt upgrade" Обновление в PVE всегда делайте apt full-upgrade


    1. werter_l
      23.11.2022 11:00

      Обновляю и минор и мажор через apt update; apt dist-upgrade

      Проблем нет.


      1. sirota
        23.11.2022 12:03

        При том что сам proxmox из web-gui делает apt dist-upgrade


        1. gogoladze
          24.11.2022 17:32

          да и в мануале apt dist-upgrade


    1. skymal4ik
      23.11.2022 11:44

      Расскажите почему? Может есть линк на документацию?

      Всегда делал apt update && apt upgrade и всё работало


      1. sirota
        23.11.2022 11:59

        Если я правильно помню, то full=distr. А просто upgrade не удаляет "не нужные" пакеты, тогда как dist-upgrade это делает для обеспечения зависимостей скажем. Но могу и напутать.


      1. DaemonGloom
        23.11.2022 14:12

        Для старого apt-get:
        Например, "upgrade" не обновит ядро. Плюс dist-upgrade позволяет разбираться с изменением зависимостей.
        https://itsfoss.com/apt-get-upgrade-vs-dist-upgrade/
        Для нового apt:
        full-upgrade будет разбираться с пакетами, которые требуется удалить для обновления системы
        https://manpages.ubuntu.com/manpages/xenial/man8/apt.8.html


        1. sirota
          24.11.2022 17:47

          Только сегодня обновлял один инстанс, apt dist-upgrade удалил старое ядро. Скорее всего оставили для совместимости.



  1. Mr_EX
    24.11.2022 17:12

    Обновился с 7.1 на 7.3. Чёрный экран на консоли. Lenovo ThinkSystem SR650 V2


    1. werter_l
      25.11.2022 11:34

      1 Загрузиться со старым ядром

      2 Загуглить по black screen proxmox

      При загрузке прокса есть меню, в к-ом можно выбрать debug-режим загрузки