在虚拟机环境下实现的:
[root@cloudtest ~]# fdisk -l
Disk /dev/sda: 17.2 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000fde4
Device Boot Start End Blocks Id System
/dev/sda1 * 1 1306 10485760 83 Linux
/dev/sda2 1306 1437 1048576 82 Linux swap / Solaris
/dev/sda3 1437 1567 1048576 82 Linux swap / Solaris
/dev/sda4 1567 2088 4187924 83 Linux
第一步:建立好实验所需的用户和用户组
[root@cloudtest ~]# groupadd testgroup
[root@cloudtest ~]# useradd -g testgroup testuser1
[root@cloudtest ~]# useradd -g testgroup testuser2
[root@cloudtest ~]# passwd testuser1
[root@cloudtest ~]# passwd testuser2
建立目录
[root@cloudtest ~]# mkdir /mnt/quota
第二步:建立文件系统的磁盘配额支持
首先挂载
[root@cloudtest ~]# mount /dev/sda4 /mnt/quota
[root@cloudtest ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.9G 1.9G 7.6G 20% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda4 4.0G 73M 3.7G 2% /mnt/quota
[root@cloudtest ~]# vi /etc/fstab
# /etc/fstab
# Created by anaconda on Fri Sep 9 23:32:44 2011
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=4de353be-6524-405e-b4c1-1ee5e7b220b9 / ext4 defaults 1 1
UUID=3198fb5a-af7f-4da4-9ad1-778f0782d60a swap swap defaults 0 0
UUID=b3d4cfe1-b710-4845-be26-aad1ac03cec8 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sda4 /mnt/quota ext4 defaults,usrquota,grpquota 0 0
保存退出
[root@cloudtest ~]# mount
/dev/sda1 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda4 on /mnt/quota type ext4 (rw,usrquota,grpquota)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
出现不是上面所示情况 需要reboot
然后:扫描磁盘的用户使用情况并产生aquota.user和aquota.group两个记录文件
[root@cloudtest ~]# quotacheck -avug
如果出现权限问题请关闭SElinux
第三步:
[root@cloudtest ~]# ll /mnt/quota
total 32
-rw-------. 1 root root 6144 Sep 20 19:40 aquota.group
-rw-------. 1 root root 7168 Sep 20 19:40 aquota.user
drwx------. 2 root root 16384 Sep 20 18:57 lost+found
第四步:启动磁盘配额
[root@cloudtest ~]# quotaon -avug
/dev/sda4 [/mnt/quota]: group quotas turned on
/dev/sda4 [/mnt/quota]: user quotas turned on
第五步:编辑用户的可用空间
[root@cloudtest ~]# edquota -u testuser1
Disk quotas for user testuser1 (uid 503):
Filesystem blocks soft hard inodes soft hard
/dev/sda4 0 45000 50000 0 0 0
接着把testuser1的设置复制给testuser2即可
[root@cloudtest ~]# edquota -p testuser1 -u testuser2
查看用户磁盘配额情况:
[root@cloudtest ~]# quota -vu testuser1 testuser2
Disk quotas for user testuser1 (uid 503):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda4 0 45000 50000 0 0 0
Disk quotas for user testuser2 (uid 504):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda4 0 45000 50000 0 0 0
第七步:编辑用户组可用的磁盘空间
[root@cloudtest ~]# edquota -g testgroup
如果你想关闭磁盘配额的设置那当然就是quotaoff -avug 了。
如果你想设置启动时就启动磁盘配额的话那就如下。编辑一个文件即可
[root@cloudtest ~]# vi /etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/sbin/quotaon -avug
~
~
:x
保存退出即可。以后系统开机的时候即会启动磁盘配额了。