感谢支持
我们一直在努力

Linux基本知识点总结——磁盘配额

所谓磁盘配额就是管理员为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。
 
磁盘配额用于对新加载的分区进行磁盘配额,对系统安装时设定的分区无效。
 
另外,在RedHat版本6中设置磁盘配额,需要关闭selinux,否则会出错。
 
Quota是在RedHatlinux下实现linux磁盘配额的工具,它支持单独的挂载文件系统,而不是一个目录。quota默认是安装的,如果没有安装,请用yum install quota命令进行安装。
 
以下实验平台为CentOS 6.2。
 
这里以加载到/data的lv_data为例。
 
[root@luffy ~]# cat /etc/fstab
 
# /etc/fstab
 
/dev/mapper/vg_itpro-lv_root /                  ext4    defaults        1 1
 
/dev/mapper/vg_itpro-lv_data /data              ext4    defaults        0 0
 
……省略部分输出……
 
[root@itpro ~]# quotacheck -cum /data
 
quotacheck: Mountpoint (or device) /data not found or has no quota enabled.
 
quotacheck: Cannot find filesystem to check or filesystem not mounted with quota option.
 
(注:默认情况下/data是不支持quota的)
 
 
 
1.首先修改/etc/fstab中lv_data的属性
 
修改后内容如下:
 
[root@luffy ~]# cat /etc/fstab
 
/dev/mapper/vg_itpro-lv_root /              ext4    defaults      1 1
 
/dev/mapper/vg_itpro-lv_data /data        ext4    defaults,usrquota    0 0
 
……
 
(注:在defaults后面追加usrquota,如果是针对用户组,则加grpquota)
 
重新加载分区,并检查分区参数是否正确
 
[root@itpro ~]# mount -o remount /data
 
[root@itpro ~]# mount |grep /data
 
/dev/mapper/vg_itpro-lv_data on /data type ext4 (rw,usrquota)
 
(注:(rw,usrquota)说明usrquota设置成功;
 
也可以不修改fstab文件,直接使用命令# mount -o remount,usrquota /data
 
不过,系统重启后会失效,所以,fstab文件还是要修改的。)
 
 
 
2.扫描文件系统生成配额文件
 
[root@luffy ~]# quotacheck -cum /data
 
[root@luffy ~]# ls /data/
 
aquota.user  lost+found
 
(注:此时,/data目录下自动生成了一个aquota.user文件;
 
如果是针对用户组,则生成aquota.group文件;
 
如果出现
 
quotacheck: Cannot create new quotafile /data/aquota.user.new: Permission denied
 
quotacheck: Cannot initialize IO on new quotafile: Permission denied
 
说明selinux没关闭。使用#setenforce 0关闭selinux,同时编辑/etc/selinux/config文件,将SELINUX的值设为permissive或disabled。)3.针对指定用户设置配额

[root@luffy ~]# edquota -u shuqing

Disk quotas for user shuqing (uid 500):

Filesystem blocks soft hard inodes soft hard

/dev/mapper/vg_itpro-lv_data 0 1024 2048 0 0 0

(注:这里以用户shuqing为例,soft设为1M,hard设为2M。

字段说明:a. 文件系统 (filesystem):

b. 磁盘容量 (blocks):当前磁盘使用大小,单位为 Kbytes,不用管;

c. soft:磁盘容量 (block) 的 soft 限制值,单位亦为 KB

d. hard:block 的 hard 限制值,单位 KB;

e. 档案数量 (inodes):当前文件记录数,单位为个数,不用管;

f. soft:inode 的 soft 限制值;

g. hard:inode 的 hard 限制值。)

4.开启配额

开启

[root@luffy ~]# quotaon /data

查看分区配额的配置

[root@itpro ~]# quota -uv sqa

Disk quotas for user sqa (uid 500):

Filesystem blocks quota limit grace files quota limit grace

/dev/mapper/vg_itpro-lv_data

0 1024 2048 0 0 0

[root@itpro ~]# repquota -auvs

*** Report for user quotas on device /dev/mapper/vg_itpro-lv_data

Block grace time: 7days; Inode grace time: 7days

Block limits File limits

User used soft hard grace used soft hard grace

———————————————————————-

root — 20 0 0 2 0 0

sqa — 0 1024 2048 0 0 0

Statistics:

Total blocks: 7

Data blocks: 1

Entries: 2

Used average: 2.0000005.测试

首先要确保用户shuqing对/data目录有写权限

[root@luffy ~]# ll -d /data

drwxr-xr-x. 3 root root 4096 Mar 10 13:08 /data

[root@luffy ~]# chmod o+w /data

[root@luffy ~]# ll -d /data

drwxr-xrwx. 3 root root 4096 Mar 10 13:08 /data

(注:这里是给其他用户添加写权限)

切换到shuqing用户,并进入到/data目录

[root@luffy ~]# su shuqing

[shuqing@luffy root]$ cd /data

情况1:创建一个1M的文件,可以正常创建

[shuqing@luffy data]$ dd if=/dev/zero of=testfile bs=1k count=1024

1024+0 records in

1024+0 records out

1048576 bytes (1.0 MB) copied, 0.00550559 s, 190 MB/s

[shuqing@luffy data]$ ll

total 1048

-rw——-. 1 root root 7168 Mar 10 13:23 aquota.user

drwx——. 2 root root 16384 Mar 10 04:51 lost+found

-rw-rw-r–. 1 shuqing shuqing 1048576 Mar 10 13:23 testfile

[shuqing@luffy data]$

情况2:创建一个大于1M、小于2M的文件,可以正常创建,但出现警告

[shuqing@luffy data]$ dd if=/dev/zero of=testfile bs=1k count=1500

dm-2: warning, user block quota exceeded.

1500+0 records in

1500+0 records out

1536000 bytes (1.5 MB) copied, 0.0135609 s, 113 MB/s

[shuqing@luffy data]$ ll

total 1524

-rw——-. 1 root root 7168 Mar 10 13:24 aquota.user

drwx——. 2 root root 16384 Mar 10 04:51 lost+found

-rw-rw-r–. 1 shuqing shuqing 1536000 Mar 10 13:24 testfile

情况3:创建一个大于2M的文件,出现警告及报错,最终生长的文件只有2M。

[shuqing@luffy data]$ dd if=/dev/zero of=testfile bs=1k count=2500

dm-2: warning, user block quota exceeded.

dm-2: write failed, user block limit reached.

dd: writing `testfile’: Disk quota exceeded

2049+0 records in

2048+0 records out

2097152 bytes (2.1 MB) copied, 0.0263838 s, 79.5 MB/s

[shuqing@luffy data]$ ll

total 2072

-rw——-. 1 root root 7168 Mar 10 13:24 aquota.user

drwx——. 2 root root 16384 Mar 10 04:51 lost+found

-rw-rw-r–. 1 shuqing shuqing 2097152 Mar 10 13:25 testfile

赞(0) 打赏
转载请注明出处:服务器评测 » Linux基本知识点总结——磁盘配额
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏