(linux)quota磁盘配额管理

quota 磁盘配额管理

1、磁盘配额的概念

quota 磁盘配额功能只在指定的文件系统(分区)内有效,未设置配额的文件系统不受限制。
quota 针对指定的用户账号、组账号进行限制,其他用户或组不受影响。
磁盘配额可以进行两方面的限制:磁盘容量、文件数量。
磁盘容量:限制用户能够使用的磁盘数据块(block)大小,也就是限制磁盘空间大小,默认单位为 KB。
文件数量:限制用户能够拥有的文件个数。
磁盘配额的限制方法分为软限制和硬限制两种。
软限制:指设定一个软性的配额数值(如 500MB 磁盘空间、200 个文件),在固定的宽限期(默认为 7 天)内允许暂时超过这个限制,但系统会给出警告信息。
硬限制:指设定一个硬性的配额数值(如 1GB 磁盘空间、500 个文件),而且绝对禁止用户超过该限值。硬限制的配额值应大于相应的软限制值,否则软限制值将失效。
举例:软件限制为:2G
硬限制为:1G

2、设置磁盘配额

下面以硬盘分区“/dev/sdb1”为例,先将其挂载到“/data”目录下,然后在文件系统中实现磁盘配额:
(1)启用 quota 磁盘配额
首先要通过修改配置文件“/etc/fstab”的方式启用 quota 磁盘配额。
[root@localhost var]# vim /etc/fstab
/dev/sdb1 /data ext4 defaults,usrquota,grpquota 0 0
将该文件系统重新挂载
[root@localhost ~]# mount -o remount /data 执行 mount 命令查看已经挂载的文件系统,检查是否已经启用了 usrquota 和
grpquota 功能
[root@localhost ~]# mount | grep sdb1
/dev/sdb1 on /data type ext4 (rw,usrquota,grpquota)
(2)生成配额文件
quotacheck 命令可以对文件系统进行磁盘配额检测,发现哪些文件系统启用了磁盘配额功能,并在这些文件系统中生成配额文件 aquota.user 和 aquota.group。
[root@localhost ~]# quotacheck -cvug /data 相关选项的作用:
-c,创建配额文件。
-v,显示详细信息。
-u,检查用户配额信息,创建 aquota.user 文件。
-g,检查组配额信息,创建 aquota.group 文件。
[root@localhost ~]# setenforce 0 ’将 SELinux 设为许可模式
[root@localhost ~]# quotacheck -cvug /data ’再次执行 quotacheck 命令
[root@localhost ~]# ls /data ’查看生成的配额文件
aquota.group aquota.user lost+found
(3)编辑用户和组帐号的配额设置
编辑用户的配额设置

使用 edquota 命令结合“-u”、“-g”选项可用于编辑用户或组的配额设置。
创建 financial 组,创建用户 jerry,将 financial 指定为 jerry 的基本组。
[root@localhost ~]# edquota -u jerry ’设置用户 jerry 的磁盘配额
在这里插入图片描述Filesystem:表示本行配置对应的文件系统(分区),即配额的作用范围。
blocks:表示当前已使用的磁盘容量,默认单位为 KB。该值由 edquota 程序自动计算生成。
soft:第 3 列中的 soft 对应为磁盘容量的软限制数值,默认单位为 KB;第 6 列中的 soft 对应为文件数量的软限制数值位为个。
hard:第 4 列中的 hard 对应为磁盘容量的硬限制数值,默认单位为 KB;默认单第 7 列中的 hard 对应为文件数量的硬限制数值,默认单位为个;
inodes:表示当前已拥有的文件数量。该值由 edquota 程序自动计算生成。

编辑组的配额设置
[root@localhost ~]# edquota -g financial ’设置 financial 组的磁盘配额
在这里插入图片描述配额设置仅对基本组生效。如用户 jerry 所属的基本组是“financial”,所属的附加组是“technology”,那么只有针对“financial”组设置的配额才对 jerry 有效,而针对“technology”组设置的配额则对 jerry没有限制。
(4)激活磁盘配额
[root@localhost ~]# quotaon -ugv /data ’激活“/data”文件系统的用户、组配额
/dev/sdb1 [/data]: group quotas turned on
/dev/sdb1 [/data]: user quotas turned on 相关选项的作用:
-u,激活用户磁盘配额。
-g,激活组磁盘配额。
-v,显示详细信息。
(5)验证并查看磁盘配额
验证磁盘配额功能:
下面使用受配额限制的用户帐号(jerry)登录 Linux 系统,并向应用了配额的文件系统进行复制文件等写操作,测试所设置磁盘配额项是否有效。为了方便测试,将用户 jery 的基本组设为 financial,对用户和组的磁盘配额功能一并进行测试。
用 dd 命令生成指定大小的测试文件
从设备文件/dev/zero 中复制数据到/home/jerry/test 文件,读取 210 个大小为 1MB
的数据块
[root@localhost ~]# dd if=/dev/zero of=/mnt/data bs=1KB count=120
记录了 210+0 的读入
记录了 210+0 的写出
220200960 字节(220 MB)已复制,13.3504 秒,16.5 MB/秒
[root@localhost ~]# ll -h /home/jerry
总用量 211M
-rw-r–r–. 1 root root 210M 11 月 6 10:49 test
开放 data/的写入权限
[root@localhost ~]#chmod 777 /data

切换到 jerry 用户的身份进行测试,磁盘配额功能验证成功
在这里插入图片描述查看用户或分区的配额使用情况
使用 quota 命令结合“-u”、“-g”选项分别查看指定用户和组的配额使用情况。
在这里插入图片描述(6)关闭磁盘配额
利用 quotaoff -vug 命令关闭磁盘配额
在这里插入图片描述(7)磁盘配额小结
通过 quota 磁盘配额可以方便地对单个用户或用户组的可用磁盘空间进行限制,使磁盘管理工作具有更大的灵活性。
在生产环境中具体应用时还应注意,quota 是以每一个使用者,每一个文件系统为基础的,它不能跨文件系统对用户做出了如指掌,如果使用者可能在超过一个以上的系统中建立文件,那么必须在每一个文件系统上分别设定 quota 配额。
另外,由于 root 用户在 Linux 环境中具有至高无上的权限,所以无法对 root 用户设置配额。

quota磁盘配额管理

磁盘配额的企业应用场景:
如FTP服务器供公司员工上传工作的相关资料。
可以限制员工上传文件的大小,从而节约磁盘空间。

磁盘配额:限制用户使用磁盘空间
如何限制:
磁盘容量(只允许使用几个G)

文件数量

软限制:在一定时间内,允许超过设定配额

硬限制:超过设定配额则失效
硬限制的配额值应大于相应的软限制值,
否则软限制值将失效

案例分析:
公司有一个FTP服务器,总大小是12G,用于存储公司的
文件。为了节约磁盘空间,限制用户使用的空间为2G。

第一步:启用quota磁盘配额:
vim /etc/fstab
/dev/wgroup/FTP /mn/FTP ext4 defaults(不加
defaults要加rw),usrquota,grpquota 0 0
usrquota(对用户进行限制)
grpquota(对用户组进行限制,只能对基本组进行限制)

mount -o remount /mnt/FTP
mount | grep FTP

第二步:生成配额文件
ls FTP/

quotacheck -cvug /mnt/FTP

ls FTP/

getenforce 查看setlinux安全机制(Enforcing保护状态)
setenforce(设置状态)(查看设置选项)
setenforce 0(关闭保护)
getenforce

第三步:编辑用户的配额项/设置
edquota -u stu1(限制stu1用户的使用空间)
bolcks 0 显示已经使用的空间/容量 (容量限制)
soft 10000 软限制(默认单位KB)(容量限制)
hard 15000 硬限制(容量限制)
inodes 文件数量 (文件数量限制)
soft (文件数量限制)
hard (文件数量限制)

第四步:激活磁盘配额
quotaon -u(用户)g(组)v(详细信息) /mnt/FTP
这里只管用户即可:
quotaon -u /mnt/FTP

第五步:测试配额限制

su root
chmod 777 /mnt/FTP/stu1
su stu1
dd if=/dev/zero of =/mnt/FTP/stu1 bs =1MB count =12
(不能超出配额)

第六步:查看用户磁盘的情况
quota -u stu1(用户名)查看stu1用户的使用情况

repquota /mnt/FTP 查看磁盘被使用的情况

补充:用户组限制(只能限制基本组),每个用户总的使用空间为
硬限制的容量。

useradd -g rsb stu1
useradd -g rsb stu2

quotaoff

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值