在 Alpine Linux 中创建虚拟机时 Cgroup 挂在失败的现象

现象:

在 Alpine Linux 中部署 LXD或者incus 服务后,创建 容器或者虚拟机时提示 实例启动失败、退出代码为1:

查询启动日志后,发现是 cgroup 挂载失败导致了 container 拉起失败。

原因分析:

从启动日志上看,是 cgroup 挂载失败导致了 container setup 失败。

此时查看发现目标实例创建成功了、只是 start 失败。

这是便可以排除 image 的可用性和有效性问题了,应该是 host-OS 中的 cgroup 驱动与 guest-OS中cgroup 驱动的冲突或者不兼容。

已知本次使用的 image版本是 Debian-12,kernel 是 6 系列的 LTS,默认应该直接启用了 cgroup-V2。

可以考虑直接查看 host-OS中的 cgroup驱动状况:

通过上文输出可知,host-OS中安装的也是 cgroup-V2 。

此时应该考虑是不是 host-OS中的 cgroup 配置了 混合 模式:

从以上输出中看,可知 host-OS中的 cgroup 是支持 混合模式配置的,且注销了直接启用 cgroup-V2 。

此时尝试通过手工卸载 cgroup 的 systemd 挂载点后、重新拉起一个 实例:

验证发现的确是 cgroup 不兼容导致的 实例 拉起失败。

解决办法:

host-OS启动时先卸载 cgroup 默认挂载的 systemd ,由 LXC 创建实例时自动选择所需挂载的cgroup驱动版本:

相关推荐
YJlio21 小时前
PsService·下(7.21):Find/SetConfig 与服务的启动/停止/重启/暂停/恢复
linux·运维·服务器
波诺波21 小时前
环境管理器
linux·前端·python
_OP_CHEN1 天前
Linux系统编程:(六)深入理解 Linux 软件包管理器——从原理到 yum 实战全攻略
linux·运维·服务器·yum·软件包管理器·linux生态
qq_343247031 天前
docker 下搭建 nacos
运维·docker·容器
人工智能训练1 天前
Ubuntu系统中Docker的常用命令总结
linux·运维·人工智能·ubuntu·docker·ai
AI小小怪1 天前
在Linux服务器上安装CVAT (Docker 28.5.1)
运维·docker·容器·数据标注·cvat
小坏讲微服务1 天前
Docker-compose 搭建Maven私服部署
java·spring boot·后端·docker·微服务·容器·maven
KYGALYX1 天前
在Linux中备份msyql数据库和表的详细操作
linux·运维·数据库
余—笙1 天前
Linux(docker)安装搭建CuteHttpFileServer/chfs文件共享服务器
linux·服务器·docker
lang201509281 天前
Linux高效备份:tar与gzip完全指南
linux·运维·服务器