Home » Виртуализация » Proxmox » Обновление Proxmox 5 до 6

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

16-го июля 2019 года вышло обновление популярной системы виртуализации Proxmox VE 6.0. Я решил, не откладывая в долгий ящик, выполнить обновление Proxmox с версии 5 до 6. Испытуемым выступил мой тестовый гипервизор для домашней лаборатории.

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

Изменения в Proxmox 6.0

Подробно об изменениях в Proxmox ve 6.0 можно посмотреть в официальном Roadmap. На opennet сделан перевод основных нововведений. Я внимательно все прочитал, но особо не заметил кардинальных изменений, которые обычно ждешь от новой ветки. Из основных изменений там вот что:

  1. Перешли на кодовую базу Debian 10 Buster.
  2. Все компоненты (QEMU, LXC, ZFS, Ceph и т.д.) обновили до более свежих версий.
  3. Небольшие изменения в gui и некоторого функционала.

Тем не менее, я решил обновить proxmox, чтобы сильно не отставать по версиям. Обычно, если отстаешь по обновлениям, потом все труднее и ленивее наверстывать. Больше шанс, что будут проблемы, если прыгаешь в обновлениях с большей разницей в версиях. Лучше все делать своевременно.

Обновление 5-й версии Proxmox до 6-й

Процесс обновления Proxmox c 5-й версии на 6-ю практически тривиален и подробно описан на официальном сайте — https://pve.proxmox.com/wiki/Upgrade_from_5.x_to_6.0. Я обновлял одиночный сервер, все получилось без проблем. В конце покажу видео, где человек обновляет кластер и у него тоже все получилось с первого раза по предложенной инструкции.

Обновлять буду следующий сервер — Proxmox 5.4-13.

Текущая версия proxmox

Первым делом нужно обновить гипервизор до самой последней версии. Можно это сделать как через web интерфейс, так и через консоль командами:

# apt update && apt dist-upgrade

Дальше в консоли запускаем утилиту pve5to6. Она ничего не изменяет, просто проверяет proxmox на возможность обновления и выводит информацию.

Обновление proxmox 5 to 6

Я запустил уже на обновленном сервере, так как забыл сохранить вывод до обновления. Но у вас будет примерно то же самое. У меня были 2 предупреждения:

  • Система не обновлена до последней версии
  • Работали виртуалки

Я запустил обновление, выключил виртуалки. Утилита написала, что все в порядке, можно обновляться. Дальше в файле с репозиториями /etc/apt/sources.list заменяем все упоминания stretch на buster. Можно это сделать вручную, либо автоматически через sed.

# sed -i 's/stretch/buster/g' /etc/apt/sources.list

У меня не были подключены никакие сторонние репозитории, плюс отключен репозиторий enterprise, так что мне больше ничего не пришлось делать.

После изменения списка репозиториев, обновляем кэш пакетов и ставим обновление proxmox 6.0.

# apt update && apt dist-upgrade

Если делаете удаленно по ssh, обязательно запускайте команду в screen или tmux. Если этого не сделать и оборвется связь, получите неработающий сервер, который хоть и можно будет починить, но придется повозиться. Я обновлял через ssh, все прошло без проблем.

После запуска обновления получил предупреждение.

Последнее предупреждение перед обновлением

В процессе обновления был еще вопрос на разрешение перезапуск служб. Я ответил положительно.

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

Еще было несколько вопросов про изменение конфигурационных файлов. Я везде ответил Not, то есть оставил старые конфиги, не заменил новыми. После завершения обновления получил новую версию Proxmox 6.

Proxmox 6.0

На глаз никаких изменений не заметил. Полез внимательно читать changelog, нашел там некоторые изменения в gui. Например, просмотр syslog изменился. Есть изменения по ceph, но я его не использую.

На этом все по обновлению proxmox до 6-й версии.

Заключение

Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

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

Видео обновления кластера proxmox

Помогла статья? Есть возможность отблагодарить автора

Онлайн курс по Linux

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Администратор Linux» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Что даст вам этот курс:
  • Знание архитектуры Linux.
  • Освоение современных методов и инструментов анализа и обработки данных.
  • Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
  • Владение основными рабочими инструментами системного администратора.
  • Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
  • Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Проверьте себя на вступительном тесте и смотрите подробнее программу по .

Автор Zerox

Zerox
Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству.

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

  1. Аватар

    Добрый день. Обновился с 5 на 6-ку и получил непонятную проблему. Стали обрываться ssh-сессии. Раньше без tmux обходился, сейчас только с ним. Сесии обрываются как при работе с самим Proxmox, так и при использовании проброса ssh в виртуальную машину. При этом на сервере остаются зависшие ssh сеансы. С tmux никаких разрывов. Вот роюсь в инете на предмет похожего, поку ничего не нашел. Как у Вас с этим, не столкнулись?

    • Zerox

      Обычно непонятные глюки с сетью это проблемы с mtu. Как раз в первую очередь это замечаешь по проблемам с ssh. Еще бывает, что виртуалки клонируешь, забываешь mac поменять. Тоже начинаются непонятные проблемы с сетью, в том числе дисконнекты ssh.

      • Аватар

        Ну вот, а я надеялся. :) Значит это мои персональные грабли, но mtu — это точно не мой случай. И каналы у меня хорошие и потерь нет и mtu нигде не менялся. Все началось после обновления. Даже на провайдера подумать не могу — их у меня два и с обоими идентичная картина.
        Спасибо Вам за ответ и успехов.

  2. Аватар
    Евгений

    Добрый день.
    Не могу понять, откуда берётся утилита pve5to6. Специально установил для теста предыдущий дистрибутив 5.4-3. Отключил платный репозиторий. Сделал apt update && apt dist-upgrade, получил:

    After this operation, 225 MB of additional disk space will be used.
    Do you want to continue? [Y/n] y
    W: (pve-apt-hook) !! WARNING !!
    W: (pve-apt-hook) You are attempting to remove the meta-package ‘proxmox-ve’!
    W: (pve-apt-hook)
    W: (pve-apt-hook) If you really want to permanently remove ‘proxmox-ve’ from your system, run the following command
    W: (pve-apt-hook) touch ‘/please-remove-proxmox-ve’
    W: (pve-apt-hook) run apt purge proxmox-ve to remove the meta-package
    W: (pve-apt-hook) and repeat your apt invocation.
    W: (pve-apt-hook)
    W: (pve-apt-hook) If you are unsure why ‘proxmox-ve’ would be removed, please verify
    W: (pve-apt-hook) — your APT repository settings
    W: (pve-apt-hook) — that you are using ‘apt full-upgrade’ to upgrade your system
    E: Sub-process /usr/share/proxmox-ve/pve-apt-hook returned an error code (1)
    E: Failure running script /usr/share/proxmox-ve/pve-apt-hook

    Нода одна, виртуалок нет.

    • Zerox

      Вообще, pve5to6 ставилась в одном из обновлений версии 5. Отдельно ее точно ставить не нужно было. А вот приведенная вами ошибка мне уже встречалась как-то раз. Я так с ней и не разобрался, потому что не было подменного гипервизора, я не стал рисковать и что-то делать. Попробуйте сделать, что предлагают в предупреждении и проверить, что в итоге получится после обновления.

      # touch ‘/please-remove-proxmox-ve’

  3. Аватар
    Константин

    Попробовал перенести LXC контейнер из кластера (2 сервера proxmox5) на одиночный сервер proxmox6. Делал через резервирование на внешнее хранилище по NFS. Не получилось! Про восстановлении из резерва даёт ошибку. Такой перенос с младших выпусков на старшие в принципе невозможен? Получится ли «безболезненно» добавить новый сервер в кластер, сделать на него миграцию, а потом обновить остальные узлы до последней версии?
    Какие буду соображения?

    • Аватар
      Константин

      Разобрался….
      На официальном сайте заявлен способ переноса с 5 на 6 через резервную копию. У меня была проблема именно с контейнером. В нём был установлен в том числе и DNS, работающий из под chroot. Вот логи с моими комментариями:
      ==================================
      Неудачное восстановление:

      Formatting ‘/var/lib/vz/images/204/vm-204-disk-0.raw’, fmt=raw size=17179869184
      mke2fs 1.44.5 (15-Dec-2018)
      Discarding device blocks: 4096/4194304 done
      Creating filesystem with 4194304 4k blocks and 1048576 inodes
      Filesystem UUID: eaee2362-f672-4cc4-b5ed-182a8b77a8d1
      Superblock backups stored on blocks:
      32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
      4096000

      Allocating group tables: 0/128 done
      Writing inode tables: 0/128 done
      Creating journal (32768 blocks): done
      Multiple mount protection is enabled with update interval 5 seconds.
      Writing superblocks and filesystem accounting information: 0/128 done

      extracting archive ‘/mnt/pve/nfs-voip/dump/vzdump-lxc-204-2019_09_28-21_32_13.tar.gz’
      tar: ./var/named/chroot/dev/random: Cannot mknod: Operation not permitted
      tar: ./var/named/chroot/dev/zero: Cannot mknod: Operation not permitted
      tar: ./var/named/chroot/dev/null: Cannot mknod: Operation not permitted
      Total bytes read: 2036193280 (1.9GiB, 31MiB/s)
      tar: Exiting with failure status due to previous errors
      TASK ERROR: unable to restore CT 204 — command ‘lxc-usernsexec -m u:0:100000:65536 -m g:0:100000:65536 — tar xpf — -z —totals —one-file-system -p —sparse —numeric-owner —acls —xattrs ‘—xattrs-include=user.*’ ‘—xattrs-include=security.capability’ ‘—warning=no-file-ignored’ ‘—warning=no-xattr-write’ -C /var/lib/lxc/204/rootfs —skip-old-files —anchored —exclude ‘./dev/*» failed: exit code 2

      =============================================
      Удачное восстановление другого контейнера:

      WARNING: ext4 signature detected on /dev/raid1-md2/vm-100-disk-0 at offset 1080. Wipe it? [y/n]: [n]
      Aborted wiping of ext4.
      Logical volume «vm-100-disk-0» created.
      1 existing signature left on the device.
      mke2fs 1.44.5 (15-Dec-2018)
      Creating filesystem with 4194304 4k blocks and 1048576 inodes
      Filesystem UUID: 020146d1-f6f4-475a-9263-7d5e17b7f7ec
      Superblock backups stored on blocks:
      32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
      4096000

      Allocating group tables: 0/128 done
      Writing inode tables: 0/128 done
      Creating journal (32768 blocks): done
      Multiple mount protection is enabled with update interval 5 seconds.
      Writing superblocks and filesystem accounting information: 0/128 done

      extracting archive ‘/mnt/pve/nfs-voip/dump/vzdump-lxc-100-2019_09_29-20_39_34.tar.gz’
      Total bytes read: 1106708480 (1.1GiB, 40MiB/s)
      Detected container architecture: amd64
      TASK OK

      =================================================
      В контейнере был в том числе DNS сервер, установленный и работающий из под chroot. Видимо возникли проблемы с ним.
      При восстановлении снял «галочку» — «непривилегированный контейнер»

      Logical volume «vm-101-disk-0» created.
      mke2fs 1.44.5 (15-Dec-2018)
      Creating filesystem with 4194304 4k blocks and 1048576 inodes
      Filesystem UUID: 8b318d0d-8af8-4df4-b85b-1e4bfababfc2
      Superblock backups stored on blocks:
      32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
      4096000

      Allocating group tables: 0/128 done
      Writing inode tables: 0/128 done
      Creating journal (32768 blocks): done
      Multiple mount protection is enabled with update interval 5 seconds.
      Writing superblocks and filesystem accounting information: 0/128 4/128 done

      extracting archive ‘/mnt/pve/nfs-voip/dump/vzdump-lxc-204-2019_09_29-21_18_27.tar.gz’
      Total bytes read: 2036193280 (1.9GiB, 118MiB/s)
      Detected container architecture: amd64
      TASK OK

      Может кому то пригодиться…

  4. Аватар

    Обновил по Вашей инструкции. Все завелось, спасибо, но версия ядра пишет proxmox 5.0.21-1-pve
    А как ядро обновить?

    • Zerox

      Так это у вас свежее ядро. Версия ядра не совпадает с версией самого proxmox. Это разные сущности.

  5. Аватар

    Лично меня в версии 6 больше всего обрадовала возможность миграции ВМ, когда диск локальный. Раньше только для сетевых было. Вот уж и правда полезная штука для кластера в 2-3 бюджетных сервера.

  6. Аватар

    Это все понятно а как вот ceph обновить?

    • Zerox

      Для этого отдельная инструкция — https://pve.proxmox.com/wiki/Ceph_Luminous_to_Nautilus
      Я лично не знаю, насколько оправданно в проде делать такие обновления. Я бы не стал, сидел бы на стабильных старых версиях до последнего. Не имея подменного кластера, куда можно переехать в случае проблем, я бы не делал обновлений, особенно если нет достаточного опыта в ceph.

      • Аватар

        Не заметили ничего нового? Серьезно? Нативное шифрование ZFS не новое? А возможность установить Proxmox на пару NVME накопителей — тоже не ново? SSD Trim?

        • Zerox

          А что в этом удивительного? Вы считаете, что человек, использующий proxmox, обязательно должен использовать шифрование zfs и nvme накопители? И заметить эти изменения? Написал как есть.

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

Ваш e-mail не будет опубликован.

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