1. Update LXC PVE
Proxmox7.2 container won't run in a pure cgroupv2 environment!
Данный опус является частью единого цикла заметок o CLI. Для его написания использовалось множество различных источников (скилы крутых специалистов, статьи с тематических сайтов, техническая документация, комментарии с форумов и социальных сетей и т. д и т. п.). К сожалению, указать все источники точно не представляется возможным! По этому, в конце заметки, будет указана ссылка только на основной источник. Материалы, использованные для написания заметки, изменялись автором под конкретную задачу! Вам, скорее всего, тоже придется поступить аналогичным образом для получения желаемого результата)
Либо можете воспользоваться готовым проектом, где все собрано в одном месте - winbox-installer.
После обновления PVE до v7.2 и перезагрузки, зашел в вебморду, проверил, что все стартануло, контейнеры все были запущены, но заметил при запуске контейнейра предупреждение:
WARN: old systemd (< v232) detected, container won't run in a pure cgroupv2 environment! Please see documentation -> container -> cgroup version.
TASK WARNINGS: 1
Предостережения от автора метода:
Отказ от ответственности 1 , НАСТОЯТЕЛЬНО рекомендуется переключиться на современный дистрибутив, который имеет реальный systemd с изначальной поддержкой cgroupv2!
Отказ от ответственности 2 , все примеры направлены на изменение контейнера с идентификатором 107, хранилища LVM и группы томов VG-IMAGES
Отказ от ответственности 3 , также следует учесть , что после подобного обновления LXC возможны проблеммы с созданием его резервной копии штатными способами!
Для первичного принудительного запуска контейнера средствами гиперфизора, подготавливаем точку монтирования:
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 chroot
exit
Отмонтируем обратно все, что монтировали:
#exit
umount /mnt/vrt/107/dev
umount /mnt/vrt107/dev/pts
umount /mnt/vrt107/proc
umount /mnt/vrt107/sys
umount /mnt/vrt107
Oстанавливаем и запускаем обновленный контейнер:
sudo pct stop 107
sudo pct start 107
В завершение
Контейнер будет работать как и прежде, но не рекомендуется использовать его в PRODUCTION. Решение не мое, нашел случайно на форумах proxmox, исправил ошибки и решил добавить к себе, вдруг пригодится народу. Исходная ссылка на пост в форуме.
Linux SED
WARN: old systemd (< v232) detected, container won't run in a pure cgroupv2 environment! Please see documentation -> container -> cgroup version.
TASK WARNINGS: 1
Заметка:
Смотрим количество свободной оперативки:
# free -h
Cпасибо автору!
Источник: