PVE 的那个 LXC 容器是个什么概念?说是性能和物理机几乎一样?

2024-04-28 17:23:32 +08:00
 mouyase

我是想用 PVE 整一个 DNS ,路由,网关的一体机,然后看网上的一些方案,都是先用 LXC 跑一个容器,然后在这个里面再跑一个 Docker 啥的。

有点不太明白 LXC 容器是个啥概念。

而且据说 LXC 下网卡的效率和直通类似?可以 virtio 的性能强得多?

那为啥不能在 LXC 容器下装 OpenWRT 或者爱快之类的?

7833 次点击
所在节点    宽带症候群
27 条回复
wueryi
2024-04-29 08:48:01 +08:00
虽然不建议 lxc 里跑 docker....但是咱这不是为了省事儿嘛,想测试个啥直接 clone 一个现成的 lxc 就能用 还不影响其他的容器 也不改动宿主机 不过如果是这个 docker 准备部署些常用的 呢不如新建个虚拟机里装 缺点就是内存是固定的
wsbqdyhm
2024-04-29 10:33:16 +08:00
我也是 LXC (乌班图)里跑 docker ,还没碰到过啥问题,备份管理相当方便,有问题直接删除从来。几秒搞定
ChaosAttractor
2024-04-29 10:59:54 +08:00
这些都是 Linux 的容器化技术,内核层面依赖 CGourps 实现,它可以提供在同一个内核中隔离多个用户空间进程,你可以理解为 LXC 里面的进程和外面的进程性能什么都是一样的(当然也可以限制),只是所有东西互相隔离
共享内核意味着 0 额外性能和内存开销,只有里面的进程会占用内存
而 LXC 则是管理管理 CGroups 和各种 Namespace 隔离的用户空间程序,类似的还有 ContainerD 和 LXD ,Docker 和 K8S 则基于 ContainerD
此外它们支持嵌套,所以在 LXC 中运行 Docker 并无不妥,因为 LXC 一般直接用于替代 Hypervisor
但 LXC 的网络基于内核的 NetNS ,并且因为共享内核和非特权的设计使得 eBPF 和 iptables/nftables 功能受限,而且大概率你还需要 CPU 转发(虚拟化则你可以直通网卡),各种硬件卸载功能也受限(当然如果你在用最新最热的 Mellanox 网卡那支持的还蛮好的)
一般作为路由我觉得不太合适
geekvcn
2024-04-29 14:19:23 +08:00
@ChaosAttractor LXC 可以启用特权容器,直接把物理网卡资源传给容器,并不一定要用 veth 网卡
busier
2024-04-29 19:20:59 +08:00
lxc 是操作系统容器
docker 是应用的容器

本质一样,定位不同
scguanzhong
2024-04-30 15:27:08 +08:00
唉我用 lxc 跑 docker ,总是会遇到网络问题,重启又好了

直接虚拟机装个 ubuntu ,一点问题都没有
shao
2024-08-09 10:44:29 +08:00
一直用 PVE LXC 跑 debian ,debian 跑 docker 。

直到遇到 MongoDB ,才知道 cpu 不支持 avx 。

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

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

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

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

© 2021 V2EX