磁盘配额

在Linux系统中一般都是多用户同时进行,多个用户使用同一块磁盘会不会发生一个很尴尬的事情。用户A大量使用磁盘空间,等到B使用的时候没怎么用就满了。这不就尴尬了,对于B用户来说也很不公平。

那么今天就说说在linux中的磁盘配个是个什么鬼东西,在所支持quota下的linux系统才能使用磁盘配额哦QWQ。

磁盘配额大意是指可以限制每个用户使用多少空间,若使用超过多少会提醒,超过多少会禁止用户使用。

但是这个限制是依据文件系统(可以说是某个分区),而不是某个目录(其实挂载到某个目录下不也是对某个目录的限制,纯属个人瞎扯0.0)这个所谓的限制又可以分为inode和block限制,简单的来说就是限制文件数量或者磁盘使用的大小。

这里的限制参数有两个,一个是soft和hard。超过soft会报警但还可以使用,一旦超过hard值那就GG(不能使用了)。比如这里还要提及一个时间的设定那就是一但报警超过设定时间直接也是不能使用。一会儿下面会提及到。。。QAQ

重点来了,瞎掰扯了半天一点有用的都没有,那就实验一波看看到底怎么个用法。

在这里本人就先创建两个测试用户来试一波这个功能

[[email protected] ~]# 
Display all 2840 possibilities? (y or n)
[[email protected] ~]# useradd test1 
[[email protected] ~]# echo "test1" | passwd --stdin test1
Changing password for user test1.
passwd: all authentication tokens updated successfully.
[[email protected] ~]# useradd test2
[[email protected] ~]# echo "test2" | passwd --stdin test2
Changing password for user test2.
passwd: all authentication tokens updated successfully.

然后再我的linux下有一个/dev/sdb1分区我就把他挂载到/home家目录下来测试多用户使用/home家目录时超额会发生神马情况,

[[email protected] ~]# mount /dev/sdb1 /home/      >>  挂载也没什么好多说的了

如果只是想在本次开机实现配额那只需要

[[email protected] ~]# mount -o remount,usrquota /home
[[email protected] ~]# mount | grep home
/dev/sdb1 on /home type ext4 (rw,usrquota)
[[email protected] ~]#

然后直接执行一条命令自动扫描含有usrquota命令的文件系统,就是我们上面设置的

接下来就是检查命令quotacheck

-u :针对用户扫瞄档案不目弽的使用情况,会建立 aquota.user

-g :针对群组扫瞄档案不目弽的使用情况,会建立 aquota.group

-v :显示扫瞄过程的信息;

-f :强制扫瞄文件系统,幵写入新的 quota 配置文件 (危险)

-M :强制以读写的方式扫瞄文件系统,只有在特殊情况下才会使用

[[email protected] etc]# quotacheck -avu
quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.
quotacheck: Scanning /dev/sdb1 [/home] done
quotacheck: Cannot stat old user quota file /home/aquota.user: No such file or directory. Usage will not be subtracted.
quotacheck: Old group file name could not been determined. Usage will not be subtracted.
quotacheck: Checked 3 directories and 0 files
quotacheck: Old file not found.

接下来就是开启这个功能    (既然on是开启   那不用想off就是关闭该功能了只加一个a选项就行)
[[email protected] etc]# quotaon -auv
/dev/sdb1 [/home]: user quotas turned on
[[email protected] etc]#

上面的都是前戏,接下来就是具体的设置了

[[email protected] etc]# edquota -u test1

Disk quotas for user test1 (uid 1011):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb1                        28          0          0          7        0        0
~                                                                                                                                                   
~                                                                                                                                                   
~                                                                                                                                                   
~                                                                                                                                                   
~

上面是输入edquota代码之后的脚本,在里面修改参数。用户test2也是如此  下面就是我设置之后的脚本

Disk quotas for user test2 (uid 1012):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb1                        28         50        100          7        0        0
~

上面block参数是KB(系统默认)只是举个例子,实际参数这样设置太小。

还有就是报警的时间命令为edquota -t

[[email protected] etc]# 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/sdb1                     7days                  7days
~                                                                                                                                                   
~                                                                                                                                                   
~                                                                                                                                                   
~

上面设置soft,hard和时间都是执行命令进入文档来修改文档。

设置完毕后用quota -uvs  跟用户名来查看设置的情况

quota  -u 后跟用户名显示quota限制值可以跟一个或多个   -v显示每个用户在文件系统的限制值 -s用单位表示
限制值大小比如M   -g  跟用户组
[[email protected] etc]# quota -uvs test1
Disk quotas for user test1 (uid 1011): 
     Filesystem   space   quota   limit   grace   files   quota   limit   grace
      /dev/sdb1     28K     50K    100K               7       0       0        
[[email protected] etc]#

上面也可以规整一个repquota -avus  (查看全局)

[[email protected] etc]# quota -uvs test1
Disk quotas for user test1 (uid 1011): 
     Filesystem   space   quota   limit   grace   files   quota   limit   grace
      /dev/sdb1     28K     50K    100K               7       0       0        
[[email protected] etc]# requota -aus
bash: requota: command not found...
[[email protected] etc]# repquota -avus
*** Report for user quotas on device /dev/sdb1
Block grace time: 7days; Inode grace time: 7days
                        Space limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --     20K      0K      0K              2     0     0       
test1     --     28K     50K    100K              7     0     0       
test2     --     28K  50000K 100000K              7     0     0       

Statistics:
Total blocks: 7
Data blocks: 1
Entries: 3
Used average: 3.000000

[[email protected] etc]#


到此为为止就该测试一波了看看效果怎么样

我在test1下创建个文件大小1M   刚才设置最大1M
[[email protected] ~]$ dd if=/dev/zero of=new bs=1M count=1M
sdb1: warning, user block quota exceeded.
sdb1: write failed, user block limit reached.   > 直接报错 磁盘满了写不进去
sdb1: write failed, user block limit reached.
dd: error writing ‘new’: Disk quota exceeded
1+0 records in
0+0 records out
49152 bytes (49 kB) copied, 0.00172157 s, 28.6 MB/s
[[email protected] ~]$ ls
new

看来这次虽然马马虎虎,还是成功了test2就不测试了效果也是一样的。如果要开机启动,下次开机还有那就写到/etc/fstab文件里。具体就man一下看看man文档找有路径的字眼就好。。

到这里简单的配置磁盘配额就完了还是比较简单的QAQ

时间: 2024-10-24 12:29:34

磁盘配额的相关文章

磁盘配额步骤简要

磁盘配额: 磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间. 基本上在linux中可用的地方那就是用户的家目录了,可以对用户进行限额配制,避免用户将恶意或不小心将磁盘写满. 1.现在我在我的这台机器中需要给用户配额,首先我将/home目录备份一下,以免接下来操作失误,而出现数据丢失的情况. cp /home/* /backuphome 2.接下就是创建分区并格式化 fdisk /dev/sdc mkfs.ext4 /dev/sdc1 将格式化

磁盘配额配置

实现磁盘配额 1.启用home家目录下的磁盘配额挂载选项vim /etc/fstab #在vim下可通过r!blkid /dev/sdb1调取UUIDUUID="3dfbe3a8-6264-4ceb-a835-abebe14f3eaf" /home       ext4  usrquota,grpquota  0 0 #在开机状态下使用mount /dev/sdb1 /home/ #如果是修改的fstab配置文件可使用:mount -o remount /dev/sdb1 /home/

磁盘配额的设置

磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间. 环境预设: 设置s-heng这用户家目录使用空间不能大于80M, 准备一个磁盘分区,迁移根家目录到这个磁盘上: 实现在磁盘配额功能: 如下: 先创建个磁盘: [[email protected] ~]# fdisk /dev/sdb Command (m for help): n Select (default p): l Last sector, +sectors or +size{K,M,

Linux磁盘配额

1.相关命令和文件 quota.quotacheck.quotaon.quotaoff.quotastats.quotasync.repquota.edquota.setquota /etc/fstab aquota.user.aquota.group 2.语法说明 (1)quotacheck 执行quotacheck指令,扫描挂入系统的分区,并在各分区的文件系统根目录下产生quota.user和quota.group文件,设置用户和群组的磁盘空间限制. 参数: -a 扫描在/etc/fstab

Windows服务器配置与管理动态磁盘技术 、建立基本卷、带区卷、跨区卷、镜像卷和RAID-5卷的方法 磁盘配额

工作任务描述 在上一个项目中,HT公司为HW的部署windows server 2008 以后,又添置了3块8G的(实验模拟)硬盘,要求完成以下操作 项目要求: 将这3块磁盘升级为动态磁盘. 在磁盘1上创建一个简单卷,大小为10M,格式化为NTFS,卷标为E: 完成后,扩展E卷,由磁盘1和磁盘2各提供10M,最后E卷的大小为多少M? 在磁盘2和磁盘3上划出15M出来做镜像卷,设置卷标为F: 在磁盘2和磁盘3上划出20M出来做带区卷,设置卷标为G: 在磁盘1,磁盘2和磁盘3上各划出12M出来做RA

Linux quota命令参数及用法详解---Linux磁盘配额限制设置和查看命令

功能说明:显示磁盘已使用的空间与限制. 语 法:quota [-quvV][用户名称...] 或 quota [-gqvV][群组名称...] 补充说明:执行quota指令,可查询磁盘空间的限制,并得知已使用多少空间. 参 数:  -g   列出群组的磁盘空间限制.  -q   简明列表,只列出超过限制的部分.  -u   列出用户的磁盘空间限制.  -v   显示该用户或群组,在所有挂入系统的存储设备的空间限制.  -V   显示版本信息. 在网络管理的工作中,由于硬盘的资源是有限的,常常需要

磁盘配额,程序包

磁盘配额 文件服务器:共享存储空间,让用户能够随时存储数据 FTP SMB 网盘 磁盘配额:主要是针对这类文件服务器进行用户的磁盘空间使用限制而提出的. 磁盘配额的设定对象: 1.能够实施读写操作的块设备 2.要有正确的文件系统 磁盘配额限制哪些人的访问行为: 1.用户 为指定的用户限制磁盘使用量 1.磁盘空间(块)  一个block的限制,代表1KB的存储空间 2.inode的使用量 2.组 限制指定组中所有成员的磁盘使用量的总和 磁盘配额的类型: soft limit:软限制 当用户的磁盘使

磁盘配额中quotacheck不能创建aquota.user和aquota.group文件的问题

在centos6.5学习中有关磁盘配额的内容中,发现quotacheck  -augv 命令无法创建aquota.group 和aquota.user文件, 操作系统挂载在/home下,经排查发现是SELinux的问题,使用setenforce 0命令将其关闭后,重新执行quotacheck命令 成功创建出文件.

Linux入门之磁盘管理(6)磁盘配额

在linux中使用向磁盘中存入数据时,如果有多个用户对同个磁盘进行操作,其中一个用户放了很大数据的文件导致硬盘容量用光,那么其他用户将无法再存入数据,这时就需要对每个用户进行存入数据大小的限制,linux中提供了一种磁盘配额的功能来实现. 初始化: 添加分区挂载选项:usrquota.grpquota 初始化数据库:quotacheck 命令 使用命令 开启或取消配额:quotaon.quotaoff 直接编译配额:edquota  [username] 案例说明: 创建配额数据库 #/home