目前折疼 pve lxc 遇到的问题

303 天前
 moxuanyuan

我是在一台 arm vps 上安装 pve 来管理 lxc ,下面遇到的问题真花了很多时间才能找到问题所在。这些问题在 x86 平台,依然存在,并非 arm 平台的兼容性问题。

当然,如果我用 x86 的 pve 会少走很多弯路。

1. docker in lxc 的 storage driver 问题

docker 在 lxc 中默认的 storage driver 是 vfs ,vfs 性能差和无层复用占用空间大等问题。网上有教程教如何将 storage driver 改为性能更好的 overlay2 。

但问题来了,几乎所有教程都没有提及到要 docker in lxc 使用 overlay2 ,宿主机内核必须要是 5.11 及以上才能应用成功,否则 storage driver 改为 overlay2 后,docker 无法启动。

而 debian 11 默认安装的内核是 5.10 ,这样导致类似我这样的小白,花了大量时间研究这个问题,才无意中发现问题所在,过程是非常痛苦及浪费时间。

2. pve 8 与 lxc 官方某些镜像的兼容性问题

刚开始,我是用 pve 7 arm 版(佛西大佬维护的版本),因为 pve 官方的 ct 模板并不提供 arm 版,所以我只能去 linuxcontainers.org 下载 arm 的镜像(我下的是 debian 12 ),然后创建 lxc 容器。

创建过程没什么问题。后来因为上面 storage driver 问题通过升级内核解决后,我就直接将 arm vps 重装 debian 12 ,然后安装 pve 8 。依然用 linuxcontainers.org 下载 arm 的镜像去创建容器,但此时无法创建成功,

错误信息提示“unable to open file '/etc/network/interfaces.tmp.13283' - No such file or directory”,无论 debian 11 还是 12 的镜像都一样有这个问题。

我尝试在一台 x86 pve 8 的主机使用 linuxcontainers.org 下载 x86 的镜像去创建容器,也有同样问题。但 x86 pve 8 使用 pve 官方的 debian 12 x86 镜像,是没有问题,可以创建成功。

我在上网搜索了一下,在 forum.proxmox.com 也有几个人提及这个问题( 提及的是 mint 和 debian 镜像 ),发贴日期都是最近几个月。

后来,我发现在 pve 8 arm 可以使用 alpine 镜像创建成功。奇怪的是,之前 pve 7 arm 版中使用 alpine cloud 镜像,重启容器后网络配置都被还原。

所以这些兼容性问题,真是令人头疼.

2522 次点击
所在节点    Linux
23 条回复
moxuanyuan
291 天前
@faninx #20 內核 5.11 以上就會是 overlay2
moxuanyuan
291 天前
@faninx #20 我 docker in lxc ,overlay2 ,用 nginx-proxy-manager 沒問題
ccxuy
289 天前
@Masoud2023 我有个别的需求不知道好不好实现,有些物理机不受控,但是分配了几台可以自己控制的虚拟机,里面可能自己还要再启动虚拟机验证东西,最好能有个 UI 面板能管理 qemu 机器,通过几种模板来启动,不知道能实现么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/959705

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX