ext3 nfs ntfs-3g cifs(samba)
#自动化挂载
autofs:[root@station230 ~]# vim /etc/sysconfig/network
磁盘配额详解
[root@station11 wing]# chown wing.wing /mnt
[root@station11 wing]# su – wing
[wing@station11 ~]$ dd if=/dev/zero of=/mnt/5m bs=5M count=1
sda10: warning, user block quota exceeded. 可以看到我们创建了一个 5M大小的文件,这
出现了警告!
1+0 records in
1+0 records out
5242880 bytes (5.2 MB) copied, 0.0175647 seconds, 298 MB/s
再测试一下节点数目:
[wing@station11 mnt]$ for i in $(seq 1 11);do
> touch /mnt/file$i && echo "create file$i"
> done
create file1
create file2
create file3
create file4
create file5
create file6
create file7
create file8
sda10: warning, user file quota exceeded. 我们用 for循环创建 11个文件,可以看到当创建完
第 8个之后就出现警告信息了!加上之前里面有两个文件正好 10个文件出现警告信息!
create file9
create file10
create file11 Quota
2012年 03月 29 日 星期四 23:35:56 CST-wing
RHEL的磁盘配额由linux 内核提供,可以对用户或者群组限定配额,但不能对 uid 为0的
root 权限账户使用,只能针对分区或者说文件系统,不能针对目录,对文件大小和数量 rhel
提供两种磁盘配额的限制。
区块配额(block quota):
区块配额代表以该用户或者群组在文件系统上拥有的文件的大小总和作为限制条件,单位为
KB,我们设置wing在/home/文件系统上的区块配额为 10240,那就表示在/home/文件系统上,
所有拥有者为wing的文件大小总和必须小于或等于 10240KB,也就是 10MB。
索引节点配额(inode quota):
索引节点配额也拿过来限制用户或群组在文件系统上课使用多少个索引节点(index
node,inode),也就是文件数量的总和。例如 wing在/home/文件系统上的索引节点配额为
100,代表wing仅能再/home/文件系统上简历100个(含)以下的文件。
如果同时定义区块配额与索引节点配额,将会以最先到达的限制为主。
软性限制(soft limit):
这是用户配额的警告上限,如果用户超出了软性限制,则 rhel 会提醒用户已经超出配额了,
并允许在限期(grace period)内,继续使用文件系统。
硬性限制(hard limit):
用户可使用的绝对上限,只要超过硬性限制,rhel 就会立即禁止用户使用任何磁盘空间。
限期:
假设用户超过软性限制,但尚未超过硬性限制,则只要在限期内,rhel 还是会允许用户继续使
用磁盘空间的,但一旦到了限期,即使仍未超过硬性限制,rhel 也会强制禁止用户使用文件
系统,rhel 会等到使用者把文件系统的使用率降低到软性限制后,才从新计算限期,默认的
限期为 7天。
在做磁盘配额之前查看一下当前内核支持不支持 quota:
[root@station11 boot]# cat /boot/config-2.6.18-128.el5 |grep -i quota --color
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_QUOTA=y
CONFIG_QUOTACTL=y
建立磁盘配额:
要建立磁盘配额,你必须先完成下列几个步骤:
1.修改文件系统的挂载参数
2.初始化磁盘配额数据库
3.启用与停用磁盘配额
修改挂载参数:
[root@station11 tmp]# mount /dev/sda10 /mnt 直接挂载
[root@station11 mnt]# mount /dev/sda10 on /mnt type ext3 (rw) 直接挂载后是没有磁盘配额的属性的,所以要重新
挂载一下
[root@station11 mnt]# mount -o remount,usrquota,grpquota /dev/sda10 /mnt
重新挂载
[root@station11 mnt]# mount
/dev/sda10 on /mnt type ext3 (rw,usrquota,grpquota) 可以看到重新挂载完之后查看
mount 属性里面有了磁盘配额的属性。
初始化磁盘配额数据库:
修改完挂载参数后,你还必须初始化磁盘配额数据库。rehl 的磁盘配额数据库存储于文件系
统挂载点目录中,并以下列的名称命名。
Aquota.user
存储用户的文件系统使用信息与磁盘配额设置数据。
Aquota.group
存储群组的文件系统使用信息与磁盘配额设置数据
以上两个磁盘配额数据库用来存储下列两项信息:
磁盘配额设置值:要使用磁盘配额,必须配置用户或群组的磁盘配额量,这个设置值将会存
储在磁盘配额数据库中。
目前使用量:当用户或群组新建与删除文件时,rhel 会自动更新使用量,并存入磁盘配额数
据库。
如果磁盘配额数据库不存在或内容错乱,磁盘配额将无法运行。
要初始化磁盘配额数据库,使用 quotacheck 工具:
[root@station11 boot]# rpm -qf `which quotacheck` 查询一下相关软件包有没有安装
quota-3.13-1.2.5.el5
[root@station11 mnt]# quotacheck -g -u -c -a
[root@station11 mnt]# ls
aquota.group aquota.user lost+found
可以发现初始化之后 mnt 目录下出现了 aquota.group aquota.user 两个文件。
-u 建立或更新aquota.user,这是默认值,不指定-u时,会自动建立或更新 aquota.user
-g 建立或更新 aquota.group,只有启用群组配额功能时,这个参数才有意义
-c 新建磁盘配额数据库,当指定-c参数时,quotacheck 会重新产生出磁盘配额数据库,原
先的设置数据会全部卸载,如果没有-c参数,只会更新磁盘配额数据库。
-a 指出对所有文件系统建立或更新数据库。单独指定文件系统的话可以不用-a ,比如直接跟
/dev/sda10 [root@station11 mnt]# quotacheck -g -u -c /dev/sda10
启用与停用磁盘配额:
磁盘配额默认是停用的状态,即使你挂载了已经加入 uerquota或 grpquota挂载参数的文件系
统,磁盘配额仍是停用的。
[root@station11 mnt]# quotaon -u -g -v -p -a 加上-p参数只是查看现在磁盘配额是否启用。
group quota on /mnt (/dev/sda10) is off
user quota on /mnt (/dev/sda10) is off
[root@station11 mnt]# quotaon -u -g -v -a 启用磁盘配额,这里的-a 一样也可以用具体的文件系统代替,比如用/dev/sda10 代替-a.
/dev/sda10 [/mnt]: group quotas turned on
/dev/sda10 [/mnt]: user quotas turned on
-u 启动用户配额功能,这是默认值
-g 启动群组配额功能
-p 仅显示磁盘配额是否启用
-v 显示冗长信息(也就是显示更详细的信息)
[root@station11 mnt]# quotaoff -u -a 停用磁盘配额
[root@station11 mnt]# quotaoff -p -a 可以用-p查看到已经把用户的配额给停用掉了
group quota on /mnt (/dev/sda10) is on
user quota on /mnt (/dev/sda10) is off
注意:磁盘配额不能重复启动与重复关闭,否则会显示“设备或系统资源忙碌(Device or
resource busy)”的错误信息
使用 edquota设置磁盘配额:
设置磁盘配额有两种方式:edquota和setquota
edquota [-u | -g] NAME {-a | FILESYSTEM}
[root@station11 boot]# edquota -u wing
对象类型 使用者名称与uid
Disk quotas for user wing (uid 504):
Filesystem blocks soft hard inodes soft hard
/dev/sda10 0 0 0 0 0 0
文件系统名称
区域配额,由左至右分别代表: 区域配额,由左至右分别代表:
目前的使用量 目前的使用量
软性配额设定值 软性配额设定值
硬性配额设定值 硬性配额设定值
目前使用量字段的内容是由系统自己计算产生出来的,它是这 3个字段中唯一一个无法修改
的数据,如果不小心修改了这个字段,会出现如下警告信息:
edquota:WARNING -/dev/sda10:cannot change current inode allocation
[root@station11 boot]# edquota -t 修改软性限制的过期时间:
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/sda10 7days 7days
使用 setquota设置磁盘配额:
setquota可以直接在shell 界面设置, 其用法如下:
#setquota [-u | -g ] NAME \
BLOCK_SOFTLIMIT BLOCK_HARDLIMIT \
INODE_SOFTLIMIT INODE_HARDLIMIT \
{-a | FILESYSTEMS...}
[root@station11 ~]# setquota -u wing 4000 8000 10 20 -a
自动挂载:
#vi /etc/auto.master
/opt /etc/auto.opt
#vi /etc/auto.opt
myext3 -fstype=auto :/dev/sda6
#service autofs restart
#cd /opt/myext3
#mount 验证