注意使用博主PVE版本为9.0.3

CT模板相关

最建议使用的模板

最好用的模板实际上是alpine linux,官方有专门虚拟化的版本,虚拟化环境下不需要固件驱动因此系统镜像非常小,完整系统iso镜像仅70.25MB;而PVE官方alpine linux的CT模板仅3.32MB,创建完毕后更新包管理器源也仅占用16.4MB。快且小,就是gcc库不是gnu的而是musl的,因此很多

创建时报错TASK ERROR: unable to create CT 101 - unsupported debian version ‘13.1’

其实-^-就是PVE官方升级CT模块时忘改支持的系统版本了,手动在/usr/share/perl5/PVE/LXC/Setup/Debian.pm修改:

die "unsupported debian version '$version'\n" if !($version >= 4 && $version <= 13);

die "unsupported debian version '$version'\n" if !($version >= 4 && $version <= 14);

重启PVE重新创建CT容器即可。

不想重启PVE就重启pve守护进程来读取配置,命令:

systemctl restart pvedaemon

参考原文链接: Debian 13.1 LXC template fails to create/start (FIX)

用alpine linux模板安装docker时报错mount: mounting none on /sys/fs/cgroup failed: Resource busy

PVE中alpine linux的模板很小,很精简。但正常配置完启动安装docker时会报错(能正常用但Docker 统计不会报告 CPU 或内存使用率):

~: service cgroups start
mount: mounting none on /sys/fs/cgroup failed: Resource busy
sh: write error: Resource busy
sh: write error: Resource busy
sh: write error: Resource busy
sh: write error: Resource busy
sh: write error: Resource busy
sh: write error: Resource busy
sh: write error: Resource busy
sh: write error: Resource busy

一搜发现时PVE独有在alpine linux的模板上的问题,原因是容器基于命名空间,非完整虚拟机,而在PVE里用CT模板也实际在用命名空间,里面装docker本质上是嵌套命名空间,而模板内Docker能否运行要看PVE配置/docker版本/命名空间是否支持,目前通过正常手段明显是不支持的。

所以剩下两条路径,即PVE创建alpine linux虚拟机然后装docker,或者用Debian的CT模板装docker,第一条亲测没问题,大概总占用400MB,第二条网上用户反映是正常的。

参考原文链接: Cannot start “cgroups” service in Alpine LXC