给一个目录配额quota 和容器啥关系?
我们在使用容器的时候,经常会发生由于单个容器写日志过大导致整个主机的磁盘空间耗尽的问题,此时我们就需要针对单个容器进行磁盘空间的限制。dockerd 的启动参数
--storage-opt overlay2.size=40G
底层就是基于目录配额实现的。下面我们通过xfs quota功能演示一下目录配额问题。
首先我们需要开启这个功能,如果是系统盘开启需要编辑 /etc/default/grub的GRUB_CMDLINE_LINUX(centos举例),添加下面的参数。
rootflags=uquota,pquota
然后执行 grub2-mkconfig -o /boot/grub2/grub.cfg 更新grub配置文件。
如果是单独挂载的数据盘,则需要修改 /etc/fstab。
UUID=.... /home xfs defaults,uquota,pquota 0 0
修改成功后可以通过mount 命令查看一下
# mount | grep quota
我们先创建测试目录
# mkdir -p /data/volumes/xfs32m/5m
设置projectid
# xfs_quota -x -c 'project -s -p /data/volumes/xfs32m/5m 100' /
设置配额,将软限制和硬限制都设置成 5M。这里的100就是上面的projectid。
# xfs_quota -x -c 'limit -p bsoft=5m bhard=5m 100' /
检查配额设置是否成功
# xfs_quota -x -c 'report -h' /
Project quota on / (/dev/vda1)
Blocks
Project ID Used Soft Hard Warn/Grace
---------- ---------------------------------
#0 13.1G 0 0 00 [------]
#100 0 5M 5M 00 [------]
可以看到100 这个projectid 的设置以及成功,并且 used 为 0。
测试写入,可以发现,我写10M,结果只成功写入了5 M.
cd /data/volumes/xfs32m/5m
# dd if=/dev/zero of=a bs=1M count=10
dd: 写入'a' 出错: 设备上没有空间
记录了6+0 的读入
记录了5+0 的写出
重新查看容量,used 已经为 5M 了。perfect!
# sudo xfs_quota -x -c 'report -h' /
Project quota on / (/dev/vda1)
Blocks
Project ID Used Soft Hard Warn/Grace
---------- ---------------------------------
#0 13.1G 0 0 00 [------]
#100 5M 5M 5M 00 [------]
页面更新:2024-06-11
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号