AUFS和devicemapper在Docker中有什么区别?

4
当 Docker 出现时,AUFS 作为 Docker 的基础存储驱动,在使用上避免了重复的冗余存储层,受到广泛关注。而如今 Docker 更偏爱 devicemapper 存储驱动(比如在 Ubuntu 14.04 中是默认选项)。那么 devicemapper 提供了与 AUFS 相同的功能吗?还是人们已经发现使用 AUFS 的优点并不是很大?

1
顺便说一句,这个问题可能更适合Server Fault而不是Stack Overflow,因为它涉及系统级工具的配置,而不是程序编程本身。 - Charles Duffy
顺便提一下,http://stackoverflow.com/q/23943691/14122 这个链接可能对你有用 -- 请阅读完整的评论历史记录。 - Charles Duffy
我不确定如何将我的问题迁移到Server Fault,或者标记为迁移。 - Wolfgang
2个回答

3

这篇文章详细介绍了docker可用的存储后端之间的区别。由于AUFS未包含在内核中,因此只能在提供此功能的系统(例如Ubuntu)上使用,因此才实现了Devicemapper支持。因此,在生产环境中通常不建议使用。


如果我的生产环境是基于Ubuntu的话,有什么理由不使用AUFS呢? - Wolfgang
即使是Ubuntu也将在未来的发布版本中弃用AUFS。由于AUFS永远不会被主线Linux内核接受,因此我不会选择它作为新项目的文件系统。 - Ben Whaley

1
不,devicemapper没有提供相同的功能--它慢得多;因为它在块设备层操作,需要处理挂载、卸载、fsck等问题。
它被广泛使用的原因是许多发行版的内核不支持AUFS。然而,如果您可以使用AUFS,那么您可能应该使用AUFS。

所以,devicemapper和AUFS都可以创建和合并层,但它们的方式完全不同? - Wolfgang
正确的,并且具有完全不同的磁盘表示。 - Charles Duffy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接