RHCE培训笔记――磁盘配额

所谓磁盘配额就是管理员为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。
磁盘配额用于对新加载的分区进行磁盘配额,对系统安装时设定的分区无效。
另外,在redhat版本6中设置磁盘配额,需要关闭selinux,否则会出错。
 
Quota是在RedHatlinux下实现linux磁盘配额的工具,它支持单独的挂载文件系统,而不是一个目录。quota默认是安装的,如果没有安装,请用yum install quota命令进行安装。
以下实验平台为CentOS 6.2。
 
这里以加载到/data的lv_data为例。
[root@ itpro  ~]# 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的属性
在defaults后面加上usrquota选项,修改后内容如下:
[root@ itpro  ~]# 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@ itpro  ~]# quotacheck -cum /data
[root@ itpro  ~]# 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@ itpro  ~]# 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@ itpro  ~]# 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.000000
 
5.测试
首先要确保用户shuqing对/data目录有写权限
[root@ itpro  ~]# ll -d /data
drwxr-xr-x. 3 root root 4096 Mar 10 13:08 /data
[root@ itpro  ~]# chmod o+w /data
[root@ itpro  ~]# ll -d /data
drwxr-xrwx. 3 root root 4096 Mar 10 13:08 /data
 (注:这里是给其他用户添加写权限)
 
切换到shuqing用户,并进入到/data目录
[root@ itpro  ~]# su shuqing
[shuqing@ itpro  root]$ cd /data
 
情况1:创建一个1M的文件,可以正常创建
[shuqing@ itpro  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@ itpro  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
 
情况2:创建一个大于1M、小于2M的文件,可以正常创建,但出现警告
[shuqing@ itpro  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@ itpro  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@ itpro  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@ itpro  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
 

你可能感兴趣的:(centos,RHEL,quota,6,磁盘配额)