磁盘配额 linux,linux中给用户设置磁盘配额
老铁们,大家好,相信还有很多朋友对于磁盘配额 linux和linux中给用户设置磁盘配额的相关问题不太懂,没关系,今天就由我来为大家分享分享磁盘配额 linux以及linux中给用户设置磁盘配额的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
Linux 系统管理之磁盘配额 quota
在Linux服务器环境中,确保系统资源不被单一用户过度占用,quota工具是一个强有力的管理手段。quota通过限制用户或用户组的磁盘使用量,以避免资源分配不均衡的问题。
系统管理员可以通过命令启用quota功能,确保其在系统启动时自动运行。例如,使用LVM创建了一个500M的实验分区,并将其挂载到/tmp/scale目录下。之后,运行`quotacheck-avug`命令生成quota用户和组记录文件aquota.user和aquota.group,这些文件自动由系统生成,存储用户配额信息。
通过命令`quotaon`和`quotaoff`手动开启或关闭磁盘配额功能。若希望开机自动运行,需将quota服务设置为开机自运行,具体方法依操作系统而定。
为用户或工作组设定配额值时,使用`edquota`命令。此命令支持对用户和工作组磁盘用量的两个指标(block和inode)进行限制,帮助管理员灵活管理资源。
设定配额值时,需要明确配额的soft(软限制)和hard(硬限制),软限制触发宽限期,若超过软限制并在宽限期结束后仍未降至软限制以下,则软限制变为硬限制。硬限制意味着超出将导致数据丢失。
对于批量设定磁盘配额,`setquota`命令提供了便捷的方式,通过命令参数快速为多个用户设定配额。
为了及时提醒用户磁盘使用情况,使用`warnquota`命令设置邮件提醒功能。当用户的磁盘使用达到软限制时,系统会自动发送邮件通知用户。确保定期检查磁盘使用情况,避免数据丢失。
监控报表是系统管理员的职责之一,`quota`和`repquota`命令帮助查看用户和工作组的配额设定及使用情况,确保资源分配合理。
通过上述方法,Linux服务器的磁盘资源管理变得高效且灵活,确保系统稳定运行的同时,为用户提供安全、公平的资源环境。
linux磁盘配额相关设置
1、检查系统是否支持磁盘配额(2.4及以后的内核默认是支持磁盘配额的):
[root@rhel~]# grep CONFIG_QUOTA/boot/config- [TAB键补全]
CONFIG_QUOTA=y
CONFIG_QUOTACTL=y #这样就说明是支持磁盘配额的; 2、修改/etc/fstab:
/dev/sda3 /mnt/samba ext3 defaults,usrquota,grpquota 1 2 3、从/etc/fstab读取信息,挂载所有分区:
[root@rhel~]# mount-a 4、用quotacheck命令生成基本配额文件:
[root@rhel~]# quotacheck–avugquotacheck: Can't find filesystem to check or filesystem not mounted with quota option. #不要紧张,这是正常的现象~因为您尚未启用quota的参数!
quotacheck命令检查启用了配额的文件系统,并为每个文件系统建立一个当前磁盘用的表。该表会被用来更新操作系统的磁盘用量文件。此外,文件系统的磁盘配额文件也被更新。
-a意味着在/etc/mtab中所有挂载了的非 NFS文件系统都会被检查来决定是否启用了配额;
-u针对使用者扫描文件与目录的使用情况,会建立aquota.user;
-g针对群组扫描文件与目录的使用情况,会建立aquota.group;
-v显示扫描过程的信息;
-M"强制"进行quotacheck的扫描。 5、检查aquota.user和aquota.group文件是否已经创建成功:
[root@rhel~]# ll/mnt/samba 6、使用 edquota命令分配磁盘配额:
[root@rhel~]# edquota-u user 【为系统用户分配磁盘配额】
[root@rhel~]# edquota-u group 【为系统用户组分配磁盘配额】
Filesystem=进行配额管制的文件系统。
blocks=已经使用的区块数量(单位1KB) 【不需要修改】
soft= block使用数量的"软性"限制;
hard= block使用数量的"硬性"限制;
inode=已经使用的 inode数量 【不需要修改】
soft= inode使用数量的"软性"限制;
hard= inode使用数量的"硬性"限制。
Block limits是对磁盘空间使用的限制,以KB为单位,soft是指软限制,hard是指硬限制,例,soft限制为5MB,hard限制为8MB,当使用者user01使用空间超过5MB时,系统会进行提示,但可以继续使用空间,而当使用者user01使用空间达到8MB时,就会限制使用者user01继续使用/tmp空间。
File limits是对使用者创建文件的限制,soft和hard同上是软限制和硬限制,分别是50、80,当使用者user02创建文件超过50个时,系统会进行提示,但仍可以继续创建文件,而当使用者user02创建文件超过80个文件时,就会限制使用者user02继续创建文件,但要注意,因为使用者user02是在/tmp目录下进行了磁盘配额限制,所以/tmp目录会算做一个文件,所以user02最多只能创建79个文件。 7、做时间限制:
[root@rhel~]# edquota–t
可以设置timeleft的值,在这里我们都设定为2分钟,重复上面的例子,使用者user02创建60个文件,此时会出现quota的提示,但仍可以创建文件,但当我们等待2分钟后,你会发现,user02已经不能再进行创建文件了,这里就是timeleft的作用,就是当你超过soft限制时,设定有效的时间。 8、启用磁盘配额:
[root@rhel~]# quotaon/mnt/samba
或者
[root@rhel~]# quotaon–avug 9、查看用户、组的磁盘配额情况:
[root@rhel~]# quota-u user
[root@rhel~]# quota-u group 10、关闭磁盘配额:
[root@rhel~]# quotaoff/mnt/samba
或者
[root@rhel~]# quotaoff–avug其他相关命令:
# repquota 重载quota设置
# quota–v 察看quota设置
# quota on/off quota开启/关闭
# edquota–p username1 username2 配额克隆
# quotastats 查看配额启动情况
linux什么是磁盘配额,简述如何实现.
Linux磁盘配额
1.磁盘配额的使用限制
仅针对整个分区:磁盘配额实际运行时,是针对“整个分区”进行限制的,例如,如果/dev/hda5载入在/home下,那么,在/home下面的所有目录都会受到限制。
核心必须支持磁盘配额:Linux系统核心必须支持磁盘配额模块。
磁盘配额的记录文件:使用的Kernel 2.6.XX的核心版本,这个核心版本支持新的磁盘配额模块,使用的默认文件(aquota.user、aquota.group)将不同于旧版本的quota.user和quota.group。旧版本的磁盘配额可以通过convertquota程序来转换
只对一般身份用户有效:并不是所有在Linux上的账号都可以设置磁盘配额,例如root就不能设置磁盘配额,因为他拥有整个系统所有的数据。
2.磁盘配额程序对硬盘配额的限制
最低限制( soft):这是最低限制容量。用户在宽限期间之内,它的容量可以超过最低限制,但必须在宽限时间之内将磁盘容量降低到最低限制的容量限制范围之内。
最高限制( hard):这是“绝对不能超过”的容量。通常最高限制会比最低限制高。
宽限时间:宽限之间是指当用户使用的空间超过了最低限制,却还没有到最高限制时,在这个“宽限时间”内,就必须请用户将使用的磁盘空间降低到最低限制之下,否则则不允许在写入。反之,则宽限时间取消
3.基本的磁盘配额命令
在开始进行磁盘配额的实际练习之前,先了解一下磁盘配额使用的命令,这些命令分为两种,一种是查询功能(quota、quotacheck、quotastats、warnquota、requota),另一种则是编辑磁盘配额的内容(edquota、setquota)。下面我们来讨论这些基本命令。
3.1./etc/mtab
为什么要提这个文件系统实际载入的记录文件呢?要注意,当我们使用磁盘配额的时候,系统会去搜素:“系统上具有磁盘配额参数的分区”,所以,当我们要使用磁盘配额的功能时,系统文件必须要支持磁盘配额的标志。一般来说,我们是通过编辑/etc/fstab后,在重新载入文件系统的方法,来让系统的文件系统支持磁盘配额。这个概念很重要。
3.2. quota
这个命令仅仅用来“显示”当前某个用户或者组的磁盘配额值。
# quota-uvs//这个是显示当前用户的配额值
-u:表示显示用户的配额
-g:表示显示组的配额
-v:显示每个文件系统的磁盘配额
-s:可以选择用Inode或者磁盘容量的限制值来显示
# quota-gvs//显示root用户所在组的配额值
# quota-uvs test1//显示test1用户的配额值
3. 3.quotacheck
这个命令的主要目的是扫描某个磁盘的配额空间,它会针对分区进行扫描,并且,由于该磁盘持续欲行,可能扫描过程中文件会增加,造成磁盘配额扫描错误,因此,当使用quotacheck时,该磁盘将“自动被设置为只读扇区”;扫描完毕后,扫描所得的磁盘空间结果会写入该区最顶端(aquota.user与aquota.group)
# quotacheck-cug//扫描分区,并生成配额信息文件
-a:扫描所有在/etc/mtab内含有磁盘配额支持的文件系统,加上此参数,可以不写/mount_point
-v:显示扫描过程
-u:针对用户扫描文件与目录的使用情况,会建立quota.user
-g:针对组扫描文件及与目录的使用情况,会建立quota.group
-c:代表创建
Ps:如果提示不能quotacheck,权限不足,此时的原因是因为SElinux,关闭它就能创建了。
3. 4: edquota
这个文件时编辑每一个“用户”或者“用户组”的磁盘配额数值。通常我们以edquota-u username或者是edquota-g groupname来编辑个人与用户组的磁盘配额值,不过这样一个一个分配很慢。也可以直接复制一个人的设置给另外一个人。用edquota-p user1-u user2,下面介绍编辑时,里面的几个值
。filesystem:代表这个磁盘是针对哪个分区
。blocks:这个是当前用户在文件系统上所消耗的磁盘数量,也就是当前用户使用的空间,单位是KB
-u:配置用户的磁盘配额
-g:配置组的磁盘配额
-p:复制磁盘配额设定,从一个用户到另一个用户
-t:修改宽限时间,可以针对分区
# edquota-u test1//配置test1的磁盘配额
# edquota-p test1-u test2//将test1的配置服务之test2
#edquota-t//修改宽限时间可以针对每个分区
3.5. quotaon
这个命令是启动磁盘配额,不过,由于这个命令是启动aquota.group与aquota.user的,所以必须要先完成quotacheck的工作,然后执行quota-a即可启动
-u:针对用户启动磁盘配额
-g:针对用户组启动磁盘配额
-v:显示启动过程的相关信息
-a:根据/etc/mtab内的文件系统设置启动相关的磁盘配额,若不加-a的话,则后面就需要加上特定的文件系统
#quota-avug//启动所有的磁盘配额
#quota-uv/data//启动/data里面的用户磁盘配额设置
3.6. quotaoff
-a:全部文件系统的磁盘配额都关闭
-u:关闭用户的磁盘配额
-g:关闭组的磁盘配额
#quotaoff-a//全部关闭
#quotaoff-u/data//关闭/data的用户磁盘配额设置值