Update/p11-PVE

Материал из ALT Linux Wiki

Обновление

В данной статье описаны особенности обновления c p10 до p11 для систем профиля Proxmox Virtual Environment. Рекомендуется ознакомиться со статьей Update/p11, а также PVE.

Все операции нужно делать с правами пользователя root.

1. Обновить дистрибутив до самого свежего p10

# apt-get update
# apt-get dist-upgrade

2. Проверить apt-repo

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

# apt-get install apt-repo

3. Изменить источники обновления

# apt-repo set p11

4. Обновиться до p11

# apt-get update
# apt-get dist-upgrade
Важно! Не ставьте автоподтверждение пакетному менеджеру для обновления системы/установки новых пакетов (флаг -y или --yes/--assume-yes), так как при этом могут удалиться критически важные для PVE пакеты
Примечание: После ввода команды dist-upgrade обратите внимание на список пакетов, которые будут удалены при обновлении. Есть вероятность, что среди них могут оказаться критически важные для работы PVE пакеты, а именно:
ceph ceph-base ceph-common ceph-mds ceph-mgr ceph-mgr-modules-core ceph-mgr-restful ceph-mon ceph-osd ceph-radosgw ceph-volume proxmox-backup-file-restore pve-container pve-guest-common pve-ha-manager pve-manager pve-qemu pve-qemu-server pve-qemu-system pve-spiceterm pve-storage thrift

Также есть вероятность, что из-за конфликта etcnet и ifupdown2 команда apt-get dist-upgrade просто не выполнится.

Для решения проблемы выполните команду ниже, которая должна одновременно установить ifupdown2 и удалить etcnet (обратите на знак минус после имени пакета):

# apt-get install etcnet- ifupdown2

Вы увидите примерно такое сообщение об ошибке:

Следующие пакеты имеют неудовлетворенные зависимости:
  ifupdown2: Depends: python3(systemd.journal) (< 0)
E: Извините, `битые' пакеты

Дополните команду выше пакетом из списка Depends:

# apt-get install etcnet- ifupdown2 python3

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

В итоге у вас может получиться такая команда на установку и удаление пакетов (пример взят из опыта обновления PVE на серверах компании Базальт СПО):

# apt-get install etcnet- ifupdown2 python3 python3-base libcrypto3 libssl3 openssl apt-repo ceph ceph-common ceph-radosgw pve-acme pve-container pve-guest-common pve-ha-manager pve-manager pve-qemu-server pve-storage perl pve-firewall libpve-cluster-perl pve-qemu-system proxmox-backup-file-restore pve-qemu-common pve-qemu-img libcurl libldap2 "perl(RRDs.pm)" openldap-common  samba-client

(у вас этот список может немного отличаться, так что будьте осторожны)

Далее ещё раз запустите команду обновления системы, которая на этот раз должна выполниться успешно:

# apt-get dist-upgrade

В некоторых случаях обновление проходит штатно, но не происходит замена сетевой подсистемы, что бы сменить etcnet на ifupdown2 иcпользуйте следующую команду, а также учитывайте рекомендации выше:

# apt-get install etcnet- ifupdown2


Примечание: В первых версиях P11 известна ситуация, когда при вводе команды apt-get dist-upgrade в информации об обновляемых пакетах появлялось сообщение:
The following packages have been kept back
  pve-firewall

Это также обусловлено тем, что в новой версии PVE используются система настройки сети ifupdown2, а не etcnet, и apt не может автоматически произвести замену. В таком случае делаем это вручную.

Подтверждаем dist-upgrade и дожидаемся завершения обновления.

В одной транзакции обновляем pve-firewall, устанавливаем ifupdown2 и удаляем etcnet:

# apt-get install pve-firewall ifupdown2 etcnet-

Пример вывода:

# apt-get install pve-firewall ifupdown2 etcnet-
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  pve-network
The following packages will be upgraded
  pve-firewall
The following packages will be REMOVED:
  alterator-net-bond  alterator-net-bridge  alterator-net-eth  alterator-net-functions  alterator-net-iptables  alterator-net-pppoe  alterator-net-vlan  alterator-quota  etcnet  etcnet-defaults-server
The following NEW packages will be installed:
  ifupdown2  pve-network
1 upgraded, 2 newly installed, 10 removed and 0 not upgraded.
Need to get 849kB of archives.
After unpacking 3917kB of additional disk space will be used.
Do you want to continue? [Y/n] y

Особое внимание обратите на строчку The following packages will be REMOVED: если в ней нет критически важных пакетов, подтвердите команду


Активация сетевого менеджера

Далее включаем автозапуск systemd сервиса networking.service из пакета ifupdown2

# systemctl enable networking.service

Теперь после перезапуска системы сеть будет настроены с помощью ifupdown2.

Конфигурация сетевых интерфейсов находится в файле /etc/network/interfaces (см. man:interfaces(5)). Ранее при использовании etcnet данный файл генерировался автоматически на основе конфигурации интерфейсов в /etc/net/ifaces, поэтому он уже должен содержать актуальную конфигурацию.

В новой версии PVE появилась поддержка SDN (Software-Defined Network) [1]. Для поддержки этого функционала необходимо добавить в /etc/network/interfaces на всех узлах строку, которая будет считывать конфиги из каталога /etc/network/interfaces.d/, так как туда будет помещаться конфигурация при работе с SDN.

source /etc/network/interfaces.d/*

Пример конфигурационного файла с использованием Linux Bridge:

auto lo
iface lo inet loopback

auto enp1s0
iface enp1s0 inet manual

iface enp1s0 inet6 manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.122.123/24
        gateway 192.168.122.1
        bridge-ports enp1s0
        bridge-stp off
        bridge-fd 0

source /etc/network/interfaces.d/*

Пример конфигурационного файла с использованием Open vSwitch:

auto lo
iface lo inet loopback

auto ens19
iface ens19 inet static
        ovs_type OVSPort
        ovs_bridge vmbr0

iface ens19 inet6 static

auto vmbr0
iface vmbr0 inet static
        address 10.4.5.111/24
        gateway 10.4.5.1
        ovs_type OVSBridge
        ovs_ports ens19

source /etc/network/interfaces.d/*
Примечание: Если после перезапуска системы сетевые интерфейсы не настраиваются, убедитесь, что в конфиге присутствуют строки auto <имя интерфейса>


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

# ip -c link

И зафиксируйте его в файле /etc/network/interfaces:

auto vmbr0
iface vmbr0 inet static
       address xxx.xxx.xxx.xxx
        hwaddress 8r:bb:44:9e:55:0d

DHCP

Если собираетесь использовать dhcp для назначения адресов, необходимо установить dhcp-client. На данный момент поддержки dhcpcd нет.

# apt-get install dhcp-client

Branding

Для обновления файла /etc/os-release необходимо заменить пакеты branding-*. Тут необходимо будет ввести подтверждение "Yes, do as I say!", потому что в данной транзакции удаляется пакет branding-alt-server-v-release. Данный пакет предоставляет Provides altlinux-release, от которого зависит пакет basesystem (помечен как Important в /etc/apt/pkgpriorities). Пакет branding-alt-virtualization-pve-release тоже предоставляет этот Provides и заменяет собой branding-alt-server-v-release.

# apt-get install branding-alt-virtualization-pve-release branding-alt-virtualization-pve-alterator branding-alt-virtualization-pve-notes branding-alt-virtualization-pve-indexhtml
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  docs-alt-virtualization-pve
The following packages will be REMOVED:
  branding-alt-server-v-alterator  branding-alt-server-v-indexhtml  branding-alt-server-v-notes  branding-alt-server-v-release  docs-alt-server-v
The following NEW packages will be installed:
  branding-alt-virtualization-pve-alterator  branding-alt-virtualization-pve-indexhtml  branding-alt-virtualization-pve-notes  branding-alt-virtualization-pve-release  docs-alt-virtualization-pve
WARNING: The following essential packages will be removed
This should NOT be done unless you know exactly what you are doing!
  branding-alt-server-v-release (due to basesystem)
0 upgraded, 5 newly installed, 5 removed and 0 not upgraded.
Need to get 9272kB of archives.
After unpacking 880kB disk space will be freed.
You are about to do something potentially harmful
To continue type in the phrase 'Yes, do as I say!'
 ?] Yes, do as I say!
Примечание: Для отображения правильного брэндинга в меню grub, необходимо обновить конфиг grub, например командой update-grub. При обновлении ядра конфиг grub обновляется автоматически.


Ядро

Обновляем ядро:

# update-kernel

Перезапускаем систему.

Примечания