容器高级面试题:如何给一个目录设置quota(配额)

给一个目录配额quota 和容器啥关系?

容器高级面试题:如何给一个目录设置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

标签:配额   容器   目录   底层   演示   容量   命令   参数   编辑   主机   高级   发生   关系   功能   发现   测试   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top