磁盘配额 quota
作用: 限制用户或组对磁盘空间的使用,例如文件服务器,邮件服务器…
========================================================
一、 启用磁盘限额
1. 让文件系统支持配额
[root@jeson ~]# vim /etc/fstab /dev/vg01/lv_home /home ext4 defaults,usrquota,grpquota 12 [root@jeson ~]# mount -o remount /home/ [root@jeson ~]# mount /dev/mapper/vg01-lv_home on /home type ext3 (rw,usrquota,grpquota)
2. 创建磁盘配额的数据库文件
注意: 建议停用SELinux
[root@jeson ~]# quotacheck -acug [root@jeson ~]# ll /home/aquota.* -rw-------1 root root 1228809-0923:06/home/aquota.group -rw-------1 root root 1126409-0923:06/home/aquota.user
//-a 所有分区(已支持配额)
//-c 创建
//-u 用户
//-g 组
3.启动磁盘配额
[root@jeson ~]# quotaon -a //启动所有分区的磁盘配额 [root@jeson v01_dir]# rm aquota.* //此时配置文件已经处理被使用状态,不准许删除操作。 rm:是否删除普通文件"aquota.group"?y rm:无法删除"aquota.group":不允许的操作
二、日常管理
+++设置配额+++
方法一:edquota
[root@jeson ~]# edquota -u alice Disk quotas for user alice (uid 500): Filesystem blocks soft hard inodes soft hard /dev/mapper/vg01-lv_home 16819210240408
blocks: 从磁盘的使用量限制,比如限制用户使用10M,单位是k
inodes: 从创建文件数限制,比如只能建立100个文件
soft: 软限制 block 8M
hard: 硬限制 block 10M
grace time: 宽限期,默认7天
# edquota -t
[root@jeson ~]# su - alice [alice@jeson ~]$ pwd /home/alice [alice@jeson ~]$ dd if=/dev/zero of=file99 bs=1M count=66+0 records in6+0 records out 6291456 bytes (6.3 MB) copied,0.00549407 seconds,1.1 GB/s [alice@jeson ~]$ dd if=/dev/zero of=file99 bs=1M count=9 dm-2: warning, user block quota exceeded.9+0 records in9+0 records out 9437184 bytes (9.4 MB) copied,0.0113783 seconds,829 MB/s [alice@jeson ~]$ dd if=/dev/zero of=file99 bs=1M count=11 dm-2: warning, user block quota exceeded. dm-2: write failed, user block limit reached. dd:写入“file99”:超出磁盘限额10+0 records in9+0 records out 10440704 bytes (10 MB) copied,0.0101768 seconds,1.0 GB/s [alice@jeson ~]$ quota //查看自己的配额情况 Disk quotas for user alice (uid 500):Filesystem blocks quota limit grace files quota limit grace /dev/mapper/vg01-lv_home 10240*8192102406days8*08
方法二: setquota
# setquota -u username block软限制 block硬限制 inode软限制 inode硬限制 分区 # setquota -u jack 80000 100000 15 20 /dev/sda2# quota jack
方法三:复制
# edquota -p alice tom robin user1 user2 user3
将alice的配额方案复制给后面所有用户
+++查看配额+++
查看单个用户的配额: # quota jack
查看所有用户的配额: # repquota -a
# repquota -ag
普通用户查看自己配额: $ quota
========================================================
扩展知识:针对组设置配额
例1:限制hr组的成员能在/home/hr目录中:100M 50文件
[root@jeson ~]# groupadd hr [root@jeson ~]# useradd hr01 -G hr [root@jeson ~]# useradd hr02 -G hr [root@jeson ~]# mkdir /home/hr [root@jeson ~]# chgrp hr /home/hr [root@jeson ~]# chmod 2770 /home/hr [root@jeson ~]# ll -d /home/hr drwxrws---2 root hr 409609-1217:07/home/hr [root@jeson ~]# edquota -g hrDisk quotas for group hr (gid 507):Filesystem blocks soft hard inodes soft hard /dev/mapper/vg01-lv_home 401024001050[root@jeson ~]# repquota -ag========================================================