Найти в Дзене
Телефонизация.

Proxmox 7.1 container won't run in a pure cgroupv2 environment

Всем привет. Друзья, огромная просьба, если вам помогло решение, поставьте лайк. Не стесняйтесь писать комментарии. Обновил один из proxmox с 6.4 на 7.1, все пошло хорошо кроме lxc контейнеров с Centos 7. После обновления и перезагрузки проксмокса зашел в вебморду, проверил что все стартануло, контейнеры все были запущены, но заметил при запуске контейнейра с ansible предупреждение: WARN: old systemd (< v232) detected, container won't run in a pure cgroupv2 environment! Please see documentation -> container -> cgroup version.
TASK WARNINGS: 1 Лезу на ansible по ssh и получаю от ворот поворот, что хост не доступен. Не буду томить, нашел довольно грубое, но крайне эффективное лекарство, что помогло оживить контейнер. В двух словах чо будем делать. Монтируем образ контейнера прям в проксмокс, через chroot подключаемся, добавляем репозиторий, обновляемся, отмонтируем все обратно, включаем заново контейнер. Инфа. Дано: Контейнер с ID 107, диск контейнера в /dev/pve/vm-107-disk-1 Если у
Оглавление

Всем привет. Друзья, огромная просьба, если вам помогло решение, поставьте лайк. Не стесняйтесь писать комментарии.

Обновил один из proxmox с 6.4 на 7.1, все пошло хорошо кроме lxc контейнеров с Centos 7.

После обновления и перезагрузки проксмокса зашел в вебморду, проверил что все стартануло, контейнеры все были запущены, но заметил при запуске контейнейра с ansible предупреждение:

WARN: old systemd (< v232) detected, container won't run in a pure cgroupv2 environment! Please see documentation -> container -> cgroup version.
TASK WARNINGS: 1

Лезу на ansible по ssh и получаю от ворот поворот, что хост не доступен.

Не буду томить, нашел довольно грубое, но крайне эффективное лекарство, что помогло оживить контейнер.

В двух словах чо будем делать. Монтируем образ контейнера прям в проксмокс, через chroot подключаемся, добавляем репозиторий, обновляемся, отмонтируем все обратно, включаем заново контейнер.

Инфа.

Дано: Контейнер с ID 107, диск контейнера в /dev/pve/vm-107-disk-1

Если у вас не виден диск в этой папке, может другой конфиг, посмотрите где лежит.

В моем случае я сначала склонировал убитый контейнер в другой и на нем проводил опыты, диск не появлялся в /dev/pve/ пока не запустишь контейнер.

Погнали.

Подготавливаем точку монтирования.
mkdir -p /mnt/vrt107/

Монтируем образ диска нашего не работающего контейнера (рекомендую делать сначала на клоне, ну мало ли )
mount /dev/pve/vm-107-disk-1 /mnt/vrt107/

Подключаем необходимые dev, proc, sys в наш контейнер
mount --bind /dev/ /mnt/vrt/107/dev
mount --bind /dev/pts /mnt/vrt107/dev/pts
mount --bind /proc /mnt/vrt107/proc
mount --bind /sys /mnt/vrt107/sys

Заходим в контейнер через chroot
chroot /mnt/vrt107/

Качаем в контейнере новую репу с systemd который с необходимым нам cgroupv2
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 -y

Выходим из контейнера и отмонтируем обратно все что монтировали, останавливаем контейнер.
exit
umount /mnt/vrt107/dev/pts
umount /mnt/vrt107/dev
umount /mnt/vrt107/proc
umount /mnt/vrt107/sys
umount /mnt/vrt107
pct stop 107

Запускаем заново контейнер и идем проверять ssh контейнера
pct start 107

Контейнер запустился и все работает.
Контейнер запустился и все работает.

В завершение.

Решение не мое, нашел случайно на форумах proxmox, исправил ошибки и решил добавить к себе, вдруг пригодится народу. Исходная ссылка на пост в форуме.