Product SiteDocumentation Site

46.3. Обновление с PVE 8.x до PVE 9.x

В версии PVE 9.x представлено несколько новых функций. Обновление до этой версии требует тщательного планирования: необходимо создать и проверить резервные копии, а также провести тестирование в контролируемой среде. В зависимости от текущей конфигурации могут потребоваться ручные действия и временное прекращение работы (простой).

Примечание

Перед началом обновления следует убедиться в наличии корректной и протестированной резервной копии. Резервные копии рекомендуется предварительно протестировать в изолированной тестовой лаборатории.
Существует два основных способа миграции с PVE 8.x на PVE 9.x:
  1. Новая установка на новом или переформатированном оборудовании с последующим восстановлением ВМ и контейнеров из резервных копий.
  2. Обновление на месте (in-place upgrade) — пошаговое обновление существующей системы.

Важно

Если кластер PVE использует встроенный или внешний Ceph-кластер, процедура обновления (особенно с переустановкой ОС) требует дополнительных действий. В отличие от узлов без Ceph, здесь необходимо учитывать состояние OSD-дисков и сервисов Ceph, а также доступное свободное пространство в кластере.

46.3.1. Обновление с переустановкой

46.3.1.1. Одиночный узел

Процедура обновления:
  1. Создать резервные копии всех ВМ и контейнеров на внешнем хранилище (см. раздел Резервное копирование и восстановление).
  2. Выполнить резервное копирование всех файлов в каталоге /etc.
  3. Установить систему с PVE 9.x из ISO-образа alt-virtualization-pve-11.1-x86_64.iso.

    Предупреждение

    Установка из ISO-образа полностью очистит диск узла и удалит все существующие данные.
  4. Действия после установки:
    • очистить кеш браузера (во избежание ошибок при работе с веб-интерфейсом);
    • воспроизвести сетевую конфигурацию на основе сохранённого файла /etc/network/interfaces;
    • восстановить файл /etc/pve/storage.cfg, для подключения внешнего хранилища, используемого для резервного копирования;
    • восстановить конфигурации брандмауэра:
      • /etc/pve/firewall/;
      • /etc/pve/nodes/<node>/host.fw (если применимо);
    • при необходимости добавить в sysctl.conf параметр:
      net.ipv4.ip_forward = 1
    • восстановить все ВМ и контейнеры из резервных копий (см. раздел Резервное копирование и восстановление).

46.3.1.2. Узел в составе кластера

Для кластерной инсталляции обновление выполняется поочерёдно для каждого узла.
Процедура обновления:
  1. Убедиться, что кластер находится в корректном состоянии (pvecm status).
  2. Перенести (мигрировать) все ВМ и контейнеры с обновляемого узла на другие узлы кластера (см. раздел Миграция ВМ и контейнеров).
  3. Отключить узел и вывести его из кластера (см. раздел Удаление узла из кластера).
  4. Установить систему с PVE 9.x из ISO-образа alt-virtualization-pve-11.1-x86_64.iso.

    Предупреждение

    Установка из ISO-образа полностью очистит диск узла и удалит все существующие данные.
  5. Ввести узел в кластер. Убедиться, что каталог /etc/pve синхронизирован и узел появился в кластере.
  6. При необходимости вернуть ВМ и контейнеры на обновлённый узел.

46.3.1.3. Обновление узла Ceph

При переустановке ОС на узле, входящем в Ceph-кластер, OSD-диски необходимо предварительно корректно вывести из кластера. В противном случае после установки новой системы Ceph не сможет корректно «подхватить» существующие OSD, и повторное подключение дисков станет затруднительным или невозможным.
Перед началом работ необходимо убедиться, что:
  • Ceph-кластер находится в состоянии HEALTH_OK;
  • в кластере имеется достаточный запас свободного места, позволяющий:
    • временно вывести один или несколько OSD;
    • выполнить служебные операции Ceph (backfill, recovery, rebalancing);
  • коэффициент репликации позволяет безопасно удалить OSD без потери данных;
  • для служб MON / MGR / MDS в кластере имеются резервные экземпляры на других узлах.

Примечание

Для безопасного вывода одного OSD в Ceph требуется репликация не ниже size=3, свободное место в кластере — не менее объёма данных одного OSD (желательно с запасом 30 %), а заполненность OSD не должна превышать 70–75 %. В кластере из трёх OSD любые операции по их выводу допустимы, но считаются пограничными и требуют повышенного контроля.
Процедура обновления:
  1. Проверка состояния кластера
    • убедиться, что PVE-кластер находится в корректном состоянии:
      # pvecm status
      …
      Quorum information
      ------------------
      Date:             Wed Feb  4 16:34:33 2026
      Quorum provider:  corosync_votequorum
      Nodes:            3
      Node ID:          0x00000001
      Ring ID:          1.27
      Quorate:          Yes
      
    • проверить состояние Ceph:
      # ceph -s
      cluster:
      id:     e2a86754-35d1-4e63-a41b-35aafa5e0542
      health: HEALTH_OK
      
      services:
      mon: 3 daemons, quorum pve01,pve02,pve03 (age 38s)
      mgr: pve03(active, since 2m), standbys: pve01
      mds: 1/1 daemons up, 1 standby
      osd: 3 osds: 3 up (since 24m), 3 in (since 58m)
      
      data:
      volumes: 1/1 healthy
      pools:   3 pools, 65 pgs
      objects: 24 objects, 595 KiB
      usage:   222 MiB used, 315 GiB / 315 GiB avail
      pgs:     65 active+clean
      
  2. Миграция нагрузок
    Перенести (мигрировать) все ВМ и контейнеры с обновляемого узла на другие узлы кластера (см. раздел Миграция ВМ и контейнеров).
  3. Удаление Ceph-служб с узла (если присутствуют)
    Если на узле размещены службы Ceph, их необходимо корректно удалить из кластера, а не просто остановить (подробнее об удалении служб см. в разделах Удаление монитора, Удаление менеджера):
    # pveceph mon destroy <mon_id>
    # pveceph mgr destroy <mgr_id>
    # pveceph mds destroy <mds_id>
    

    Примечание

    Убедитесь, что на других узлах кластера существуют рабочие резервные экземпляры MON / MGR / MDS.
  4. Вывод OSD из Ceph-кластера
    Для каждого OSD, размещённого на обновляемом узле:
    1. Пометить OSD как out:
      # ceph osd out <osd.id>
      
    2. Отслеживать состояние кластера:
      # ceph -s
      # ceph pg stat
      
      Дождаться, пока все затронутые PG перейдут в состояние active+clean (завершение backfill и rebalancing).
    3. Пометить OSD как down:
      # ceph osd down <osd.id>
      
    4. Остановить службу OSD на узле:
      # systemctl stop ceph-osd@<osd.id>.service
      
    5. Удалить OSD из CRUSH-карты и базы Ceph:
      # ceph osd rm <osd.id>
      # ceph osd crush remove <osd.id>
      # ceph auth del osd.<osd.id>
      
    6. Проверить состояние дерева OSD:
      # ceph osd tree
      # ceph osd crush tree
      

    Примечание

    Подробнее см. в разделе Удаление OSD
  5. Очистка дисков OSD на узле
    После удаления OSD необходимо очистить диски:
    • при использовании LVM:
      # ceph-volume lvm zap /dev/X --destroy
      
    • вручную:
      # lvremove
      # vgremove
      # wipefs -a /dev/X
      

    Примечание

    Если использовались отдельные устройства под DB/WAL, их также необходимо очистить.
  6. Вывод узла из PVE-кластера и переустановка
    1. Выключить узел.
    2. Установить систему с PVE 9.x из ISO-образа alt-virtualization-pve-11.1-x86_64.iso.
  7. Возрат узла в кластер
    После установки системы:
    1. Подключить его к Ceph-кластеру.
    2. Заново добавить OSD-диски (диски должны быть пустыми).
    3. При необходимости повторно развернуть MON / MGR / MDS (подробнее об удалении служб см. в разделах Создание монитора, Создание менеджера, Создание сервера метаданных).
  8. Проверка состояния Ceph
    1. Проверить состояние Ceph:
      # ceph -s
    2. Дождаться завершения всех операций восстановления и ребалансировки.
  9. Возврат нагрузок
    При необходимости вернуть ВМ и контейнеры на обновлённый узел.