1.概述及实现条件
磁盘配额:磁盘配额是
Linux
系统中用来限制特定的普通用户或用户组在指定的分区上占用的磁盘空间
或文件个数的。
2.
特点
作用范围:针对指定的文件系统
限制对象:用户账号,组账号
限制类型:磁盘容量(对磁盘空间的限制),文件数量(对inode
号的限制)
限制方法:软限制,硬限制
3.
演示案例
1 xfsprogs quota
安装
![](https://i-blog.csdnimg.cn/direct/4576308f172243a9a84e78b878662d32.png)
2.
以支持磁盘配额的方式挂载
[root@yunwen/]# umount /dev/sdb1 /mnt/sdb1 //如果之前挂载了,需要先解挂载
[root@yunwen/]# mount -o usrquota,grpquota /dev/sdb1 /mnt/sdb1
![](https://i-blog.csdnimg.cn/direct/12ba90104bce4632876e7f51c74f59d7.png)
[root@yunwen/]# vim /etc/fstab #加入自动挂载信息
/dev/sdb1 /mnt/sdb1 xfs defaults,usrquota,grpquota 0 0
![](https://i-blog.csdnimg.cn/direct/31ff5a1fdeab467d9cc31b5efe1c1811.png)
3.
创建用户
[root@yunwen/]# useradd zhangsan
[root@yunwen/]# passwd zhangsan
![](https://i-blog.csdnimg.cn/direct/e3da2208acc94532a52ebc2b7e490613.png)
4.磁盘配额
[root@yunwen/]# xfs_quota -x -c 'limit -u bsoft=80M bhard=100M zhangsan'
/mnt/sdb1
限制磁盘空间
[root@yunwen/]# xfs_quota -x -c 'limit -u isoft=4 ihard=6 zhangsan' /mnt/sdb1
限制文件数量
![](https://i-blog.csdnimg.cn/direct/4e84f9a3d91243d2aed671ea3bb7b6d4.png)
常用选项:
-x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。
-c:表示直接调用管理命令。
-u:指定用户账号对象。
-g:指定组账号对象。
限制字段:
bsoft:设置磁盘容量的软限制数值
(
默认单位为
KB)
。
bhard:设置磁盘容量的硬限制数值
(
默认单位为
KB)
。
isoft:设置磁盘文件数的软限制数值。
ihard:设置磁盘文件数的硬限制数值。
5.
给
/data
赋权
[root@yunwen/]# chmod 777 /mnt/sdb1
//设置所有人对
/data
都有读写执行的权限
![](https://i-blog.csdnimg.cn/direct/3eb85efe143b47c49a25d5e5027dfca7.png)
6
验证磁盘配额
使用命令
dd:是一个设备转换和连续复制命令
“if=” 指定输入设备
(
或文件
)
"of="指定输出设备
(
或文件
)
"bs=" 指定读取数据块的大小
"count=”指定读取数据块的数量
/dev/zero “零
"
设备文件,可以无限的提供空字符。常用来生成
-
一个特定大小的文件
验证
验证磁盘容量
[root@yunwen/]# su - zhangsan
[zhangsan@yunwen~]$ dd if=/dev/zero of=/mnt/sdb1/text1.txt bs=10M count=12
![](https://i-blog.csdnimg.cn/direct/fe6112e928cf468c83f4aacd81b55981.png)
[zhangsan@yunwen~]$ cd /mnt/sdb1
[zhangsan@yunwensdb1]$ rm -rf *
[zhangsan@yunwensdb1]$ touch {1..10}.txt
![](https://i-blog.csdnimg.cn/direct/d47c997a3d2740c4bd07e1d0f6a201b3.png)
7
取消磁盘限额
[root@yunwen/]# xfs_quota -x -c 'disable -up' /mnt/sdb1
[root@yunwen/]# su - zhangsan
![](https://i-blog.csdnimg.cn/direct/d97797a0bbbb4b53bba6a3b1230caa8e.png)
[zhangsan@yunwen ~]$ dd if=/dev/zero of=/mnt/sdb1/text1.txt bs=10M count=12
![](https://i-blog.csdnimg.cn/direct/6dd667e67cea4f4291af76b695545945.png)
[zhangsan@yunwen~]$ cd /mnt/sdb1
[zhangsan@yunwen sdb1]$ ls
![](https://i-blog.csdnimg.cn/direct/9f107f9cfbe646f2acc33fe905de74d0.png)
[zhangsan@yunwen sdb1]$ touch {1..10}.txt
[zhangsan@yunwen sdb1]$ ls
![](https://i-blog.csdnimg.cn/direct/76733d87fc274236ad876afc00c55ea3.png)
若要再次设置磁盘配额,需要重新以支持磁盘配额的方式挂载