Linux下磁盘配额

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下磁盘配额相关的知识,希望对你有一定的参考价值。


限定用户或对组磁盘空间的使用

安装quote包    

[[email protected] ~]# yum install quota

格式化磁盘

[[email protected] ~]# mkfs.ext4 /dev/sdc
mke2fs 1.41.12 (17-May-2010)
/dev/sdc is entire device, not just one partition!
无论如何也要继续? (y,n) y
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242880 blocks
262144 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4294967296
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

创建目录挂载sdc

[[email protected] ~]# mkdir /tmp/sdc
[[email protected] ~]# mount -o remount,usrquota,grpquota /tmp/sdc
开机自动挂载
[[email protected] ~]# vim /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Wed Oct  4 22:43:26 2017
#
# 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
#
/dev/mapper/VolGroup-lv_root /                       ext4    defaults        1 1
UUID=50f0c9fb-8d2a-4d5b-8c49-79fccc445240 /boot                   ext4    defaults        1 2
/dev/mapper/VolGroup-lv_swap 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/sdc                /tmp/sdc                ext4    defaults,usrquota,grpquota      0 0

检测磁盘配额并生成配额文件


命令:quotacheck

说明:执行quotacheck指令,扫描挂入系统的分区,并在各分区的文件系统根目录下产生quota.user和quota.group文件

参数说明
-c创建配额文件
-v
显示指令执行过程
-u
扫描磁盘空间时,计算每个用户识别码所占用的目录和文件数目
-g
扫描磁盘空间时,计算每个群组识别码所占用的目录和文件个数
-a
扫描在/etc/fstab文件里,有加入quota设置的分区
-R
排除根目录所在的分区
-d
详细显示指令执行过程,便于排错或了解程序执行的情形
[[email protected] sdc]# ll
总用量 32
-rw------- 1 root root  6144 10月 10 19:12 aquota.group
-rw------- 1 root root  6144 10月 10 19:12 aquota.user
drwx------ 2 root root 16384 10月 10 19:03 lost+found

关闭SELinux

[[email protected] sdc]# setenforce 0            #临时性关闭SELinux,重启失效
setenforce: SELinux is disabled

永久关闭SELinux,重启后生效

[[email protected] sdc]# vim /etc/selinux/config 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

用户和组账号配额设置

[[email protected] sdc]# useradd hyx
[[email protected] sdc]# edquota -g hyx
Disk quotas for group hyx (gid 500):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdc                          0          50          80          0        0        0
~

  

命令:edquota

功能:编辑用户和群组的quota

参数
说明
-u
设置用户的quota,这是预设的参数
-g
设置群组的quota
-p(源用户名称)
将源用户的quota设置套用至其他用户或群组
-t
设置宽限期限


  激活磁盘配额

[[email protected] sdc]# quotaon -ugv /tmp/sdc
/dev/sdc [/tmp/sdc]: group quotas turned on
/dev/sdc [/tmp/sdc]: user quotas turned on

命令:quotaon

格式:quotaon 参数 文件 系统名

功能激活磁盘配额;各分区的文件系统根目录必须有quota.user和quota.group配置文件

参数说明
-u开启用户的磁盘空间限制
-g开启群组的磁盘空间限制
-a开启在/etc/fstab文件里,有加入quota设置的分区的空间限制
-v显示指令执行过程


验证:

[[email protected] hyx]$ dd if=/dev/zero of=test bs=1k count=10
记录了10+0 的读入
记录了10+0 的写出
10240字节(10 kB)已复制,0.000136044 秒,75.3 MB/秒
[[email protected] hyx]$ ls -lh
总用量 12K
-rw-rw-r-- 1 hyx hyx 10K 10月 10 20:20 test
[[email protected] hyx]$ rm -rf *
[[email protected] hyx]$ dd if=/dev/zero of=test bs=1k count=60
sdc: warning, user block quota exceeded.
sdc: warning, group block quota exceeded.
记录了60+0 的读入
记录了60+0 的写出
61440字节(61 kB)已复制,0.000374338 秒,164 MB/秒
[[email protected] hyx]$ ls -lh
总用量 60K
-rw-rw-r-- 1 hyx hyx 60K 10月 10 20:20 test
[[email protected] hyx]$ rm -rf *
[[email protected] hyx]$ dd if=/dev/zero of=test bs=1k count=90
sdc: write failed, user block limit reached.
dd: 正在写入"test": 超出磁盘限额
记录了81+0 的读入
记录了80+0 的写出
81920字节(82 kB)已复制,0.00050069 秒,164 MB/秒
[[email protected] hyx]$ ls -lh
总用量 80K
-rw-rw-r-- 1 hyx hyx 80K 10月 10 20:20 test

最大不超过80K


[[email protected] sdc]# tune2fs -l /dev/sdc | grep "Block size"
Block size:               4096

说明磁盘配额中的blocks,一个block是1K。

本文出自 “PooV的博客” 博客,请务必保留此出处http://xyhms.blog.51cto.com/12505169/1971458

以上是关于Linux下磁盘配额的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统下磁盘配额软RAID及LVM的配置与管理

Linux下磁盘配额

linux磁盘配额可以通过哪两种方法对用户进行限制?

Quota就是在Red Hat linux下实现磁盘配额的工具

怎么设置 磁盘配额

Linux磁盘和文件系统管理:磁盘配额的详细做法