硬盘配额
实现配额的条件
需要Linux内核的支持
安装xfsprogs与quota软件包
Linux磁盘限额的特点
作用范围:针对指定文件系统(分区)
限制对象:用户账号、组账号
限制类型:磁盘容量、文件数量
限制方法:软限制、硬限制
实验
先卸载之前的/mailbox目录挂载的分区
[root@localhost ~]# umount /mailbox
#使用带-o usrquota,grpquota选项mount命令挂载指定分区,以便增加对用户、组定额权限
[root@localhost ~]# mount -o usrquota,grpquota /dev/moyou/zhenbai /mailbox
#mount查看有没有挂载上去
/dev/mapper/moyou-zhenbai on /mailbox type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
#若每次开机后自动支持配额功能方式挂载该分区,可以将usrquota,grpquota写入/etc/fstab中
[root@localhost ~]# vi /etc/fstab
/dev/moyou/zhenbai /mailbox xfs defaults,usrquota,grpquota 0 0
编辑用户和组账号配额设置
#基本格式为 xfs_quota -x -c 'limlt -u bsoft=N bhard=N isoft=N ihard=N 用户名`挂载点
#-x表示专家模式,当前模式下允许对所有配额系统进行修改所有管理命令可用
#-c表示直接调用管理命令
#xfs_quota命令可以以交互的方式进行
#如果上述设置其用户磁盘配额不加-c那么命令执行后失败,并切入xfs_quota>环境下,
以交互方式配置管理磁盘配额。
#除-x-c选项之外,limit命令后面还包含了四个配额限制字段:
bsoft:设置磁盘容量的软限制数值
bhard:设置磁盘容量的硬盘限制数值
isoft:设置磁盘文件数的硬限制数值
ihard:设置磁盘文件数的软限制数值
执行以下操作可以设置组账号user的磁盘配额:磁盘容量软限制150m、磁盘容量硬限制200m、
文件数软限制200、文件数硬限制200,这个限制是给yuheng1的还要创建一个yuheng1账户
[root@localhost ~]# useradd yuheng1 #设置yuheng1账户密码
[root@localhost ~]# passwd yuheng1
#更改文件属主与属组
[root@localhost ~]# chown yuheng1:yuheng1 /mailbox
#更改文件权限为777
[root@localhost ~]# chmod 777 /mailbox
[root@localhost ~]# xfs_quota -x -c 'limit -u bsoft=150M bhard=200M isoft=20 ihard=20 yuheng1' /mailbox/
#查询限制 (账号-u,账号组-g)
xfs_quota -c 'quota -uv tangtang' /mailbox/
xfs_quota -c 'quota -i -uv tangtang' /mailbox/
验证磁盘配额功能
使用dd转换工具,dd命令是一个设备转换和复制命令,分别使用if=选项指定输入设备(或文件)
、bs= 选项指定读取数据块大小、count=指定读取数据块的数量。
#例如:向/mailbox目录写入一个名为ddtest.data测试文件,大小为4M(分四次读取,每次1MB),
复制来源设备文件/dev/zero
#登录yuheng1账户测试
#设置软限制是150m超过没关系的超过200m会报错硬限制
[yuheng1@localhost ~]$ dd if=/dev/zero of=/mailbox/yuheng1.txt bs=2M count=1
#超过200m
[yuheng1@localhost ~]$ dd if=/dev/zero of=/mailbox/yuheng1.txt bs=200M count=2
dd: error writing ‘/mailbox/yuheng1.txt’: Disk quota exceeded #配额超过200报错
5+0 records in
4+0 records out
209715200 bytes (210 MB) copied, 0.138238 s, 1.5 GB/s
#超过200的部分不会读写
[yuheng1@localhost mailbox]$ ls -hl
total 201M
-rw-rw-r--. 1 yuheng1 yuheng1 0 Jul 14 17:28 1
-rw-rw-r--. 1 yuheng1 yuheng1 0 Jul 14 17:28 2
-rw-r--r--. 1 root root 1.0M Jul 14 17:35 ddtest.data
-rw-rw-r--. 1 yuheng1 yuheng1 200M Jul 14 17:52 yuheng1.txt (硬限制在200m)
查看用户yuheng1磁盘文件限制值
[root@localhost ~]# xfs_quota -c 'quota -i -uv yuheng1' /mailbox
Disk quotas for User yuheng1 (1001)
Filesystem Files Quota Limit Warn/Time Mounted on
/dev/mapper/moyou-zhenbai
4 20 20 00 [--------] /mailbox
现有4 软限制20 硬限制20
查看文件大小限制值
[root@localhost ~]# xfs_quota -c 'quota -uv yuheng1' /mailbox
Disk quotas for User yuheng1 (1001)
Filesystem Blocks Quota Limit Warn/Time Mounted on
/dev/mapper/moyou-zhenbai
204800 153600 204800 00 [6 days] /mailbox
查看所有的限制值
[root@localhost ~]# xfs_quota -x -c 'report -abi'
User quota on /mailbox (/dev/mapper/moyou-zhenbai)
Blocks Inodes
User ID Used Soft Hard Warn/Grace Used Soft Hard Warn/ Grace
---------- -------------------------------------------------- --------------------------------------------------
root 1024 0 0 00 [--------] 3 0 0 00 [--------]
yuheng1 204800 153600 204800 00 [6 days] 4 20 20 00 [--------]
Group quota on /mailbox (/dev/mapper/moyou-zhenbai)
Blocks Inodes
Group ID Used Soft Hard Warn/Grace Used Soft Hard Warn/ Grace
---------- -------------------------------------------------- --------------------------------------------------
root 1024 0 0 00 [--------] 3 0 0 00 [--------]
yuheng 0 1048576 2097152 00 [--------] 0 2000 2500 00 [--------]
yuheng1 204800 153600 204800 00 [6 days] 4 20 20 00 [--------]
————————————————————————————————————————————————————————————————