关于docker使用稀疏文件loop-lvm导致垃圾不能回收问题
2018-02-14 11:31
369 查看
CentOS/RHEL 的用户需要注意的事项
在 Ubuntu/Debian 上有 UnionFS 可以使用,如 aufs 或者 overlay2 ,而 CentOS 和 RHEL的内核中没有相关驱动。因此对于这类系统,一般使用 devicemapper 驱动利用 LVM 的一些机制来模拟分层存储。这样的做法除了性能比较差外,稳定性一般也不好,而且配置相对复杂。Docker 安装在 CentOS/RHEL 上后,会默认选择 devicemapper ,但是为了简化配置,
其 devicemapper 是跑在一个稀疏文件模拟的块设备上,也被称为 loop-lvm 。这样的选择是因为不需要额外配置就可以运行 Docker,这是自动配置唯一能做到的事情。但是 loop-lvm的做法非常不好,其稳定性、性能更差,无论是日志还是 docker info 中都会看到警告信息。官方文档有明确的文章讲解了如何配置块设备给 devicemapper 驱动做存储层的做法,这
类做法也被称为配置 direct-lvm 。
除了前面说到的问题外, devicemapper + loop-lvm 还有一个缺陷,因为它是稀疏文件,所
以它会不断增长。用户在使用过程中会注意到/var/lib/docker/devicemapper/devicemapper/data 不断增长,
而且无法控制。很多人会希望删除镜像或者可以解决这个问题,结果发现效果并不明显。原因就是这个稀疏文件
的空间释放后基本不进行垃圾回收的问题。因此往往会出现即使删除了文件内容,空间却无法回收,随
着使用这个稀疏文件一直在不断增长。所以对于 CentOS/RHEL 的用户来说,在没有办法使用 UnionFS 的情况下,
一定要配置direct-lvm 给 devicemapper ,无论是为了性能、稳定性还是空间利用率。或许有人注意到了 CentOS 7
中存在被 backports 回来的 overlay 驱动,不过 CentOS 里的这个驱动达不到生产环境使用的稳定程度,所以不推荐使用。
配置direct-lvm 给 devicemapper参考:http://blog.csdn.net/JackLiu16/article/details/79357917
在 Ubuntu/Debian 上有 UnionFS 可以使用,如 aufs 或者 overlay2 ,而 CentOS 和 RHEL的内核中没有相关驱动。因此对于这类系统,一般使用 devicemapper 驱动利用 LVM 的一些机制来模拟分层存储。这样的做法除了性能比较差外,稳定性一般也不好,而且配置相对复杂。Docker 安装在 CentOS/RHEL 上后,会默认选择 devicemapper ,但是为了简化配置,
其 devicemapper 是跑在一个稀疏文件模拟的块设备上,也被称为 loop-lvm 。这样的选择是因为不需要额外配置就可以运行 Docker,这是自动配置唯一能做到的事情。但是 loop-lvm的做法非常不好,其稳定性、性能更差,无论是日志还是 docker info 中都会看到警告信息。官方文档有明确的文章讲解了如何配置块设备给 devicemapper 驱动做存储层的做法,这
类做法也被称为配置 direct-lvm 。
除了前面说到的问题外, devicemapper + loop-lvm 还有一个缺陷,因为它是稀疏文件,所
以它会不断增长。用户在使用过程中会注意到/var/lib/docker/devicemapper/devicemapper/data 不断增长,
而且无法控制。很多人会希望删除镜像或者可以解决这个问题,结果发现效果并不明显。原因就是这个稀疏文件
的空间释放后基本不进行垃圾回收的问题。因此往往会出现即使删除了文件内容,空间却无法回收,随
着使用这个稀疏文件一直在不断增长。所以对于 CentOS/RHEL 的用户来说,在没有办法使用 UnionFS 的情况下,
一定要配置direct-lvm 给 devicemapper ,无论是为了性能、稳定性还是空间利用率。或许有人注意到了 CentOS 7
中存在被 backports 回来的 overlay 驱动,不过 CentOS 里的这个驱动达不到生产环境使用的稳定程度,所以不推荐使用。
配置direct-lvm 给 devicemapper参考:http://blog.csdn.net/JackLiu16/article/details/79357917
相关文章推荐
- 关于java编辑器eclipse工具以及jdk安装导致的javac不能使用问题
- 关于使用ISA代理导致一些网上银行出现不能正常打开的问题
- 关于使用Eclipse导出jar文件时图片不能显示的问题
- 关于spring mvc拦截器拦截js文件等导致无法正常使用问题的解决
- 关于spring mvc拦截器拦截js文件等导致无法正常使用问题的解决
- 关于IDEA中src下不能使用xml文件导致的问题
- 关于docker build时间过久及add不能跨文件的问题
- 关于使用IIRF2.0 重写 导致 Cookie 不能在其它页面使用的问题
- centos7.3 docker registry(使用版本 2.6.1) 私有仓库 建立 查询 删除(未成功删除文件和元数据,好像是实际当前官方版本不支持) 回收垃圾(未成功,好像是实际当前官方版本不支持) 安全认证(仅限用户名密码)
- 关于mk文件中findstring 使用中不能带引号的问题
- 关于某些网站不能使用Adobe PDF Reader下载PDF文件的问题解决方案
- 关于使用ISA代理导致一些网上银行出现不能正常打开的问题
- 关于spring mvc拦截器拦截js文件等导致无法正常使用问题的解决
- Android系统wifi之p2p(wifi直连)配置文件权限导致应用不能使用wifi问题
- 转:关于我使用spring mvc框架做文件上传时遇到的问题
- 关于安装IIS 后 只能运行htm文件 不能运行ASP的问题解决
- 关于win2003企业版中FSO组件不能使用的问题
- 关于多站点一些控件不能正常使用问题
- 关于AIX下的su不能使用环境变量问题的解决
- policykit-gnome导致unlock不能使用的问题