【学了就忘Linux高级文件系统管理】— 2.配置磁盘配额(一)

上一篇文章已经做了磁盘配额实践的大概规划,下面我们就开始一步一步的来实践一下。

二、配置磁盘配额

1、手工建立一个5GB的分区

手工建立一个5GB的分区/dev/sdb2,挂载到/disk目录下。

手工建立分区看之前文章可解决。(【学了就忘Linux文件系统管理】— 5.fdisk命令手工分区(一)-(三))

查看系统分区,可以看到/dev/sdb2分区已经挂载。

查看/dev/sdb2分区大小,约为5GB。

2、建立需要做限制的三个用户

[root@localhost ~]# useradd user1
[root@localhost ~]# useradd user2
[root@localhost ~]# useradd user3
[root@localhost ~]# passwd user1
[root@localhost ~]# passwd user2
[root@localhost ~]# passwd user3

3、在分区上开启磁盘配额功能

重新挂载/disk分区,并加入用户和用户组的磁盘配额功能,执行下面命令:
[root@localhost ~ ] # mount -o(开启) remount(重新挂载),usrquota(用户配额),grpquota(组配额) /disk

查看系统分区,我们可以看到命令生效了,/dev/sdb2分区已经增加了磁盘配额权限。

以上操作只是临时生效,要想永久生效,则需要修改/etc/fstab文件,改成:

[root@localhost ~ ] # vi /etc/fstab
/dev/sdb1   /disk   ext4    defaults,usrquota,grpquota    0 0

注意:
修改配置文件如果想要生效,必须重启系统,否则需要把分区重新挂载一遍。
[root@localhost ~ ] # mount -o remount /disk

4、建立磁盘配额的配置文件

需执行如下命令:

[root@localhost ~ ] # quotacheck [选项] [分区名]

选项:

  • -a:扫描/etc/mtab文件中所有启用磁盘配额功能的分区。如果加入此参数,命令后面就不需要加入分区名了。
  • -c:不管原有的配置文件,重新扫描并建立新的配置文件。
  • -u:建立用户配额的配置文件,也就是生成aquota.user文件。
  • -g:建立组配额的配置文件,会生成aquota.group文件。
  • -v:显示扫描过程。
  • -m:强制以读写的方式扫描文件系统,和-M类似。一般扫描根分区时使用。
  • -f:强制扫描文件系统,并写入新的配置文件。一般扫描新添加的硬盘分区时使用

常用选项:[root@localhost ~ ] # quotacheck -avug

提示:执行quotacheck命令前,需要关闭SELinux,否则会报错。
[root@localhost ~ ] # getenforce(getenforce命令是查询当前系统下SELinux的状态)
Enforcing(强制生效中)

  • 关闭方式一(临时)
    [root@localhost ~ ] # getenforce 0(关)/1(开)
  • 关闭方式二(永久)
    [root@localhost ~] # vim /etc/selinux/config(修改配置文件)

    把Enforcing换成disabled,就是永久生效了。但是永久生效需要重启系统。

使用临时关闭方式,再次查看SELinux状态
[root@localhost ~ ] # getenforce
Permissive(宽容,意思就是我不会在管你,但是有危险操作会提醒你)

关闭SELinux,就可以执行quotacheck命令了,因为不用组配额,执行如下:

[root@localhost ~ ] # quotacheck -avu,结果如下:

出现了很多内容,但是命令已经生效了,Scanning /dev/sdb2 [/disk] done说明磁盘已扫描完成。其他内容说的是没有找到一些旧文件。

我们进入/disk目录,如果看到aquota.user文件,就说明用户配额配置文件已经建立。(同理aquota.group代表组配额配置文件)

注意:如果需要给根分区开启配额功能,需要:

#开启分区的配额功能
[root@localhost ~] # vi /etc/fstab 
UUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2  /  ext4  defaults,usrquota,grpquota  1 1

#重新挂载分区
[root@localhost ~] # mount -o remount /

#建立磁盘配额的配置文件的时候多加一个m选项
[root@localhost ~] # quotacheck -avum

说明:如果我们自动扫描/分区建立配额配置文件时,因为/分区已经挂载成读写系统,而quotacheck需要把分区先挂载成只读分区,然后建立配置文件,最后再挂载回来,所以不能直接在/分区建立配置文件。这时就需要使用-m强制以读写方式扫描文件系统。

5、开始设置用户和组的配额限制

实现磁盘配的命令如下:

[root@localhost ~ ] # edquota [选项] [用户名或组名]

选项:

  • -u用户名:设定用户配额。
  • -g组名:设定组配额。
  • -t:设定宽限时间。
  • -p:复制配额限制。如果已经设定好某个用户的配额限制,其他用户的配额限制如果和这个用户相同,那么可以直接复制配额限制,而不用都手工指定。

需求:我们给user1用户设定的配额限制是:磁盘空间软限制是40MB,硬限制是50MB;文件个数的软限制是8个,硬限制是11个(稍微小一点,一会测试时方便测试)。

命令如下:

[root@localhost ~] # edquota -u user1

edquota命令进入之后,就是标准的vim操作方法,内容如下:

#磁盘配额是设定用户user1(UID是500)
Disk quotas for user user1(uid 500):

#分区名   已占用容量  软限制  硬限制  己占用文件数  软限制  硬限制
Filesystem blocks    soft    hard     inodes     soft    hard
/dev/sdb2    0        0        0        0         0        0

进入edquota命令后的内容说明:针对user1用户的磁盘配额,user1的用户ID是500。user1针对/dev/sdb2分区进行磁盘配额,之后就是6项就是针对容量和文件数的配额设置。

特别注意:blocksinodes两个选项一定不能手动修改,这两项是系统检测出来user1用户在/dev/sdb2分区上所占用的空间和所占用的文件数。需要我们手动配置的是后两项 soft软限制和hard硬限制。

提示:[root@localhost ~] # edquota -u user1命令直接写用户名就可以,后边不用接任何参数,不用你再指定哪个分区,因为哪些分区开启了磁盘配额,再上面/etc/fstab文件中写的很清楚。还有我们进入到edquota命令之后,开启磁盘配额的分区情况都写的很清楚,如上面内容。

开始进行配置,按照上面的需求配置如下,

Disk quotas for user user1(uid 500):

#分区名   已占用容量  软限制  硬限制  己占用文件数  软限制  硬限制
Filesystem blocks    soft    hard     inodes     soft    hard
/dev/sdb2    0       40000  50000       0          8      11

注意:容量默认单位是KB。还有在修改文件的时候不用对齐,是七列就行。

退出方式和vim编辑器一样。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容