容器实战高手 · 存储

容器中读写的文件咋变慢了?

  • OverlayFS各层存储的关系:
    OverlayFS 会 mount 两层目录,分别是 lower 层和 upper 层;
    upper 层的文件会覆盖 lower 层的文件;
    在这里插入图片描述

我们在 merged/ 目录里做文件操作,具体包括这三种。

  1. 新建文件,这个文件会出现在 upper/ 目录中。
  2. 删除文件,如果我们删除"in_upper.txt",那么这个文件会在 upper/ 目录中消失。如果删除"in_lower.txt", 在 lower/ 目录里的"in_lower.txt"文件不会有变化,只是在 upper/ 目录中增加了一个特殊文件来告诉 OverlayFS,"in_lower.txt’这个文件不能出现在 merged/ 里了,这就表示它已经被删除了。
  3. 修改文件,类似如果修改"in_lower.txt",那么就会在 upper/ 目录中新建一个"in_lower.txt"文件,包含更新的内容,而在 lower/ 中的原来的实际文件"in_lower.txt"不会改变。
  • 使用容器文件系统的作用:减少相同镜像文件在同一个节点上的数据冗余,可以节省磁盘空间,也可以减少镜像文件下载占用的网络资源。

容器为啥把宿主机的磁盘写满了?

  • XFS需要开启quota属性
    对于根目录来说,这个参数必须作为一个内核启动的参数"rootflags=pquota",这样设置就可以保证根目录在启动挂载的时候,带上 XFS Quota 的特性并且支持 Project 模式。
    查看内核是否开启对应参数:
    在这里插入图片描述
  • 饭粒:设置目录容量配额
  1. 新建的目录 /tmp/xfs_prjquota,我们想对它做 Quota 限制。所以在这里要对它打上一个 Project ID。
  2. 通过 xfs_quota 这条命令,我们给 /tmp/xfs_prjquota 打上 Project ID 值 101。
  3. 使用 xfs_quota 命令,对 101(我们刚才建立的这个 Project ID)做 Quota 限制。
  4. 尝试写入数据
    1. # mkdir -p  /tmp/xfs_prjquota
    2. # xfs_quota -x -c 'project -s -p /tmp/xfs_prjquota 101' /
    Setting up project 101 (path /tmp/xfs_prjquota)...
    Processed 1 (/etc/projects and cmdline) paths for project 101 with recursion depth infinite (-1).
    3. # xfs_quota -x -c 'limit -p bhard=10m 101' /
    4. # dd if=/dev/zero of=/tmp/xfs_prjquota/test.file bs=102
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值