KVM vs LXC容器
KVM与LXC:隔离性与密度
简短回答
LXC容器共享宿主机内核,启动只需毫秒级,几乎无开销;KVM虚拟机运行自己的内核,有2-5%的开销,但提供真正的安全边界。对于多租户托管,这种区别是决定性的:LXC宿主机上的内核漏洞会影响其上的所有租户。
| 维度 | KVM | LXC容器 |
|---|---|---|
| 隔离边界 | 硬件强制 | 内核命名空间 |
| 启动时间 | 5-15秒 | 不到一秒 |
| 开销 | 2–5% | 低于1% |
| 密度 | 较低 | 高得多 |
| 内核选择 | 你自己 | 宿主机内核 |
| 多租户安全 | 强 | 完全取决于宿主机内核 |
你应该选择哪个?
KVM
只要租户之间不完全信任,就选择KVM——这包括所有商业托管场景。
LXC容器
LXC在你自己的信任边界内表现出色,例如,在你已经拥有的KVM实例上运行容器。
常见问题
LXC是否不如KVM安全?
隔离边界在构造上更弱。LXC 中的内核逃逸可触及宿主机上的所有容器;而在 KVM 中,同等逃逸则需要超虚拟机逃逸,这是一类更难利用的漏洞。
我可以在 KVM VPS 内运行 LXC 吗?
可以,而且这是一种良好模式:通过硬件隔离与其他客户隔离,通过廉价容器隔离保护自身服务。