Home » Linux » Обновление Proxmox 6 до 7

Обновление Proxmox 6 до 7

6-го июля 2021 года вышел релиз популярной системы управления виртуализацией Proxmox Virtual Environment 7.0 (Proxmox VE 7). Я решил, не откладывая в долгий ящик, выполнить обновление своего гипервизора на базе Proxmox 6 до 7-й версии. Как это традиционно бывает для продуктов этого вендора, весь процесс хорошо документирован и в целом выглядит простым. С серьезными проблемами обычно не сталкиваешься.

Если у вас есть желание научиться администрировать системы на базе Linux, рекомендую познакомиться с онлайн-курсом «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Подробная информация.

Что нового в Proxmox 7

Не хочется в рамках данной статьи подробно останавливаться на всех нововведениях 7-й версии, так как это всё можно посмотреть в официальном документе - https://forum.proxmox.com/threads/proxmox-ve-7-0-released.92007/. Плюс, было много переводов на популярных IT порталах. Скажу только, что каких-то кардинальных и революционных изменений в функционале не было. Обновление больше техническое. Вот краткий список основного, что поменялось:

  • Proxmox 7 перешел на кодовую базу Debian 11. Немного странно, что сделано это раньше выхода релиза 11-й версии Дебиан.
  • Обновилась версия Цеф - Ceph Pacific 16.2, обновилась QEMU до 6.0, LXC до 4.0.
  • Появилась встроенная поддержка файловой системы btrfs. По мне, это наиболее интересное изменение.
  • Следом за добавлением btrfs изменился и установщик.
  • Появилась новая панель в веб интерфейсе для управления репозиториями.
  • Добавлена поддержка авторизации с помощью OpenID Connect.

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

Подготовка к обновлению

Для начала информация для тех, у кого всё ещё 5-я версия. Обновите её по моей статье - Обновление Proxmox 5 до 6. После того, как сделаете это, возвращайтесь сюда. А мы готовимся обновить Proxmox 6 до 7. Я не буду заниматься самодеятельностью, а выполню то, что указано в официальном руководстве по обновлению - https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0. Если хорошо читаете по-английски, можете сразу переходить туда и делать по нему.

Перед обновлением важно ознакомиться со всеми нюансами:

  1. Версия Proxmox должна быть 6.4.
  2. Перед обновлением Proxmox нужно обязательно обновить Ceph до версии 15.2.
  3. Если используете Proxmox Backup Server, то не обновляйтесь до тех пор, пока не выйдет версия 2.0.
  4. У вас должны быть доступны все хранилища на момент обновления.
  5. На всякий случай должны быть сделаны бэкапы всех виртуальных машин и контейнеров.
  6. Должно быть доступно не менее 4GiB свободного места на корневом разделе.
  7. У вас изменится MAC адрес на сетевых бриджах vmbr. Подготовьтесь к этому заранее.

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

# apt update && apt dist-upgrade
# reboot

Теперь запускаем утилиту pve6to7, чтобы проверить готовность вашего гипервизора к обновлению.

# pve6to7

pve6to7

Я получил одно предупреждение. У одного контейнера отсутствует указанный в конфигурации диск. Это очень старый контейнер, который не нужен. Я просто удалил его. Запустил еще раз утилиту, предупреждений не было. После этого можно двигаться дальше.

Как я уже сказал ранее, после обновления у вас изменится MAC адрес сетевого бриджа vmbr. Если для вас это может сулить проблемы, то заранее укажите постоянный MAC. Для начала посмотрите текущие адреса:

# ip -c link

Затем укажите текущий MAC адрес бриджа в конфигурации сетевых интерфейсов /etc/network/interfaces.

auto vmbr0
iface vmbr0 inet static
    address 10.20.1.2/24
    hwaddress ae:9d:46:49:4d:23
    # ... остальные настройки

Обновление Proxmox 6 до 7

Переходим непосредственно к обновлению. Нам нужно изменить основные системные репозитории. Можете это сделать вручную, заменив buster на bullseye в файле репозиториев /etc/apt/sources.list. Либо сделайте это же автоматически:

# cp /etc/apt/sources.list /etc/apt/sources.list.bak
# sed -i 's/buster\/updates/bullseye-security/g;s/buster/bullseye/g' /etc/apt/sources.list

Проверяем, появились ли изменения:

# diff /etc/apt/sources.list /etc/apt/sources.list.bak

Обновление репозиториев для 7-й версии proxmox

Всё в порядке. Можно запускать обновление Proxmox 6 до 7-й версии.

# apt update

Обновление Proxmox 6 до 7

К обновлению предлагается 741 пакет. Список внушительный, так что на первый взгляд мы всё делаем правильно. Обновляемся.

# apt dist-upgrade

В процессе вас спросят, точно ли вы уверены, что хотите обновить proxmox ve 6.4 до 7.0. Надо согласиться :)

Подтверждение обновления

Далее будет еще несколько вопросов на тему обновления конфигов. Можно ничего не менять и принимать дефолтное значение. После установки всех пакетов на всякий случай еще раз перезагрузитесь. После этого в веб интерфейсе увидите новую версию Proxmox VE 7.0. Поздравляю, обновление прошло успешно.

Web интерфейс Proxmox VE 7

Видео

Заключение

Я выполнил обновление Proxmox VE до 7-й версии на своем домашнем тестовом гипервизоре. Никаких проблем в процессе не возникло. Тем не менее, не рекомендую обновлять прод, пока не выйдет хотя бы версия 7.1. Торопиться в таких делах нет никакого смысла. Можно вообще не обновляться, если вам не нужны нововведения. Никаких проблем не будет, если вы останетесь на старой версии, пока она еще поддерживается.

Если у вас есть желание научиться администрировать системы на базе Linux, но вы с ними никогда не работали и не знакомы, то рекомендую начать с онлайн-курса «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Цена за курс минимальная (символическая). Информация о курсе и цене.

Помогла статья? Подписывайся на telegram канал автора

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

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

35 комментариев

  1. Алексей Саидов

    для тех у кого LXC контейнеры с древней centos (после обновления до 7ки или 8ки у вас они работать не будут). нужно обновить systemd:
    -> заходим в контейнер pct enter ID
    -> запускаем сеть ifup eth0
    -> wget https://copr.fedorainfracloud.org/coprs/jsynacek/systemd-backports-for-centos-7/repo/epel-7/jsynacek-systemd-backports-for-centos-7-epel-7.repo -O /etc/yum.repos.d/jsynacek-systemd-centos-7.repo
    -> yum update systemd
    -> перезапускаем контейнер

  2. Сергей Горбунов

    если используется Open vSwitch перед обновлением с 6 на 7 нужно поставить ifupdown2. без него сеть не поднялась, спасло монтирование iso c proxmox7 через ilo и установка пакета /dists/bullseye/pve/binary-amd64/ifupdown2_3.1.0-1+pmx3_all.deb

  3. Аноним

    После обновления с 6 до 7 ноды не загружаются, висят на Starting PVE guest
    start job is running for PVE guest бесконечно , ни на что не реагирует.
    Как это исправить

  4. Я про "Решение прописать в "/etc/network/interfaces" для бриджа MAC адрес сетевой карты."

  5. Ребят, а ни у кого не было приколов при использовании ZRAID в ProxMox? Если создавать ZRAID из нескольких дисков, то у вас часть свободного пространства отводится под контрольные суммы. Так и должно быть. Но при этом в последних версиях при записи данных они занимают больший объём на диске примерно в 1,8 раза. Т.е. при создании виртуалки на 1 Тб, она занимает на диске 1,8 Тб. Это как-то не очень хорошо)

  6. Вышел 7.1. Работает замечательно. Но проблема со сломанным io_uring никуда не делась, только усугубилась. Виснут машины, умирают данные на дисках. Чтобы этого не было, диски необходимо подключать к SCSI и писать aio=threads (если включено кеширование) или aio=native (если выключено кеширование).

    • Да, всё верно. Проблема не ушла. Сегодня как раз знакомый написал. Он обновил 6 до 7.1 и получил зависание VM при нагрузке на диски. Помогло описанное вами решение. Я сам неоднократно делал заметки в телеграм канале по этому поводу. Лично тоже столкнулся.

      • Я не вполне понимаю, почему они там в Proxmox так уперлись и не хотят отключить эту опцию глобально, хотя-бы до появления работоспособного ядра. Мы смогли (между зависаниями) сравнить скорость работы виртуальных машин с включенным и выключенным uring. На массиве Huawei Dorado 3000 V6 разницы в скорости вообще нет. Похоже, что в нынешнем состоянии io_uring не дает никакого прироста производительности, не нужно бояться его выключать.

  7. Владимир

    После обновления на 7.0 перестал монтироваться том на ocfs2

  8. Обновил несколько серверов. Везде был V6, работал как часы. С V7 куча проблем. Самое неприятное - он гад без каких-либо объявлений и логов иногда выключает сильно загруженные виртуальные машины. Если в виртуалке база 50Gb+ и по этой базе много чтения/записи - виртуалка гаснет, база дохнет. Не обновляйтесь, ждите стабильной версии.

  9. Добрый день, пишу о проблеме с которой столкнулся сам. После обновления рабочего сервера не запустился один контейнер на котором стоит Centos 7, запуск происходил, но он не загружался, зависал как-будто. Перечитал кучу форумов и нашел такой нюанс. в pve7 используется cgroupv2 по умолчанию.
    "https://pve.proxmox.com/pve-docs/chapter-pct.html#pct_cgroup" из рекомендаций было обновить Centos до 8 или откатиться или ждать обновления pve.
    Простым решением оказалось следующее:
    1) редактируем /etc/default/grub
    2) ищем
    GRUB_CMDLINE_LINUX_DEFAULT="quiet"
    и меняем на
    GRUB_CMDLINE_LINUX_DEFAULT="systemd.unified_cgroup_hierarchy=0 quiet"
    3) пишем update-grub
    4) перезагружаем
    И потом запускается без проблем наш LXC контейнер со старыми ОС

  10. Аноним

    Дома я тож сразу обновляюсь, а на работе перехожу с задержкой, начинаю с тестового хоста кластера, иногда случались нюансы. Кластер обновлять не пробовали? (ha, nfs)

  11. Ну а в целом переход pve6to7 кроме MAC адреса всё работает отлично? аномалий нет?

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

  12. О вкусностях в 7-ке.
    Одна из самых существенных - появление IO_uring https://www.phoronix.com/scan.php?page=news_item&px=KVM-IO-uring-Passthrough-LF2020

    Зы. Кому интересна тема Proxmox, ZFS etc - forum.netgate.com/topic/163435/proxmox-ceph-zfs-pfsense-%D0%B8-%D0%B2%D1%81%D0%B5-%D0%B2%D1%81%D0%B5-%D0%B2%D1%81%D0%B5-%D1%87%D0%B0%D1%81%D1%82%D1%8C-2/

  13. Спасибо.
    Лучше pve6to7 --full

  14. Маленькое уточнение pve6to7 из коробки отсутствует (присутствует старый скрипт pve5to6), нужна платная подписка или выкачайте обновления из репозитория без подписки.

    • Не отсутствует. У меня нет платной подписки. Скрипт прилетел сам с каким-то обновлением.

      • Подтвержу слова комментатора выше, у меня 6.4-4 и тоже нет в нет pve6to7

        # pve6to7
        -bash: pve6to7: command not found

        # ls /usr/bin/pv*
        /usr/bin/pve5to6

        • Отвечу сам себе )
          Не долго искал и нашел в чем косяк…

          Был указан репозиторий (бесплатный) для stretch версии debian, хотя по факту работает он на buster (видимо что-то когда-то не поменяли)

          $ cat /etc/os-release

          VERSION="10 (buster)"

          $ cat /etc/apt/sources.list.d/pve-enterprise.list
          #deb https://enterprise.proxmox.com/debian/pve buster pve-enterprise
          deb http://download.proxmox.com/debian stretch pve-no-subscription

          Всё поправил, обновил и pve6to7 появился

  15. Есть еще один нюанс: если в сорцы добавляли репозиторий "pve-no-subscription", то там тоже надо заменить имя дистрибутива на bullseye.
    В противном случае обновление может произойти не полностью и pve будет не работоспособен.

    Чинится не сложно: меняем таки на bullseye pve-no-subscription, apt update, apt upgrade, apt install proxmox-ve.

  16. Тоже хотел глянуть на Prox 7, запустил в Vmware Player, но видимо из-за слишком нового ядра 5.11 там ни в какую не стартует сеть. Обидно. Попробовал на Virtualbox, там всё норм.

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

    • А на каком железе у вас всё заработало на виртуал боксе? вчера весь вечер пробовал на 2-х компьютерах на 1155 сокете VirtualBox-6.1.22-144080-Win, результат одинаковый как после чистой установки 7.0-1 так и после обновления (возможно кривого) с 6.4 до 7.0,
      Пробовал как разные типы соединения (адаптер хоста и бридж), так и разные типы сетевых карт (virtio-net и intel pro 1000), результат один доступа на машину по сети нет, при том DHCP клиент работаете, arp запись мака бриджа я вижу, но обмена трафиком нет.

      • Снимаю свой вопрос, в ProxMox VE 7.0-1 из коробки не работает сеть, а именно если MAC адрес бриджа не совпадает с мак адресом сетевой карты (после новой установки они не совпадают по умолчанию), сеть работать не будет,
        Решение прописать в "/etc/network/interfaces" для бриджа MAC адрес сетевой карты.

        p.s.: если вы обновляете proxmox и не сделали фиксацию MAC адреса бриджа проблема повторится, так что фиксация мак адреса бриджа не желательна, а !обязательна!.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar