我发现对于大文件(例如 PostgreSQL 数据库的数据目录)使用 btrfs CoW 功能并不是一个好主意。
由于我使用 docker 作为数据库,我现在问自己,是否应该对整个/var/lib/docker
目录禁用 CoW。但我不确定,因为docker的分层文件系统是否利用了这个功能?
或者是否可以仅针对某些特定卷禁用 CoW?
我不认为docker
直接插入 BTRFS(或任何文件系统)CoW 行为;相反,它可以使用快照和/或引用链接来避免复制整个容器映像。
虽然禁用 CoW 肯定有利于性能,但请注意:
虽然对于数据库(如 PostgreSQL),上述几点可能不是问题(即:数据校验和在数据库记录级别完成,快照由事务层提供),但对于缺少这些功能的 VM 或容器可能会出现问题。
无论如何,我真的建议您阅读有关 nodatacow 的 BTRFS 常见问题解答
归档时间: |
|
查看次数: |
3762 次 |
最近记录: |