美文网首页
服务器磁盘配额quota

服务器磁盘配额quota

作者: 蜗牛Michael | 来源:发表于2019-12-17 18:53 被阅读0次

有些时候为了避免服务器磁盘被写爆,引起系统崩溃,因此有必要对磁盘的使用配额进行限制,尤其是对用户使用磁盘的容量进行限制。这就需要用到quota磁盘配额。

磁盘配额除了监视系统上使用的磁盘空间,你还可以通过实现磁盘配额来限制磁盘空间,因此当用户使用了过多的磁盘空间或分区将要充满时,系统管理员就会接到警告。磁盘配额可以为个体用户配置也可以为用户组配置。这种灵活性既能够给每个用户分配一个较小的配额来处理“个人”文件(如电子邮件和报告),又允许了他们正从事的项目能够拥有较大的配额(假定项目有自己的组群)。

分区挂载

挂载分区:sudo mount /dev/sdd1 /home/mars (故意没有启用quota😁)

注意:分区挂载的时候,必须对分区启用quota,否则是无法对此分区进行quota配额的。例如通过mount命令可以查看各分区的情况,是否启用了quota:

/dev/sdb1 on /home/mercury type ext4 (rw,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0)
/dev/sdc1 on /home/venus type ext4 (rw,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0)
/dev/sde1 on /home/earth type ext4 (rw,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0)
/dev/sdf1 on /home/jupiter type ext4 (rw,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0)
/dev/sdg1 on /home/saturn type ext4 (rw,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0)
/dev/sdh1 on /home/uranus type ext4 (rw,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
/dev/sdd1 on /home/mars type ext4 (rw)

下面的/home/mars挂载在/dev/sdd1分区,但是并没有启用quota,因此进行quotacheck时就会失败:

ironman@IRONMAN:/home/mars$ sudo quotacheck /home/mars
quotacheck: Mountpoint (or device) /home/mars not found or has no quota enabled.
quotacheck: Cannot find filesystem to check or filesystem not mounted with quota option.

启用quota

  1. 方法一:通过/etc/fatab文件:好处是开启启动会自动挂载与启用
UUID=4af70913-6f47-4b8a-b96d-d0cb3b36b7cb /home/mercury   ext4    defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0   1

或者不用UUID,而使用设备名称:

/dev/sdc1               /home/mercury                  ext4    defaults,usrquota,grpquot        0 0
  1. 方法二:直接remount命令启用,必须加上usrquota,grpquota
sudo mount -o remount,usrquota,grpquota /home/mars/

再通过mount查看状态:

ironman@IRONMAN:/home/mars$ mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
/dev/sda5 on /home type ext4 (rw)
/dev/sda2 on /boot type ext4 (rw)
/dev/sdb1 on /home/mercury type ext4 (rw,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0)
/dev/sdc1 on /home/venus type ext4 (rw,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0)
/dev/sde1 on /home/earth type ext4 (rw,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0)
/dev/sdf1 on /home/jupiter type ext4 (rw,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0)
/dev/sdg1 on /home/saturn type ext4 (rw,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0)
/dev/sdh1 on /home/uranus type ext4 (rw,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
/dev/sdd1 on /home/mars type ext4 (rw,usrquota,grpquota)

可以看到/home/mars分区已经启用quota。

检查分区,生成配置文件

启用quota之后,就可以进行quotacheck检查,否则检查会失败。

sudo quotacheck /home/mercury/

配置文件:

aquota.group
aquota.user

启动quota服务

quotaon -vug /home/mercury

quota配额

文件内有七个栏目:

Filesystem => 进行配额管制的文件系统。
blocks => 已经使用的区块数量(单位1KB)
soft => block 使用数量的"软性"限制
hard => block 使用数量的"硬性"限制
inode => 已经使用的 inode 数量
soft => inode 使用数量的"软性"限制
hard => inode 使用数量的"硬性"限制
  1. 通过图形设置容量:sudo edquota -u $username

    quota配额vim编辑.png
  2. 通过命令参数直接设置:setquota -u username 30960 30960 0 0 /home/mercury

为组群分配配额

配额还可以根据组群来分配。例如,要为 devel 组群设置组群配额,使用以下命令(在设置组群配额前,该组群必须存在):

edquota -g devel 以上命令在文本编辑器中显示现存的组群配额:修改限度,保存文件,然后配置配额。要校验组群配额是否被设置,使用以下命令:

quota -g devel

读quota配额情况

repquota /home/mercury 读取指定分区的配额情况。
repquota -auvs 所有启用了配额的文件系统的磁盘用量。

:/home/mercury$ sudo repquota /home/mercury/
*** Report for user quotas on device /dev/sdb1
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --  261904       0       0           4865     0     0
Auser     -- 1496813872       0       0        14802450     0     0
Buser     -- 1107116       0       0           3576     0     0
Cuser    -- 562369132       0       0        1580837     0     0
#1007     -- 133321512       0       0        1106929     0     0

可选,更改时限方法,默认为七天

截屏2019-12-1718.43.48.png

edquota -T username

更改组的时限
edquota -Tg grp02

也可以使用 setquota 命令设置:

setquota -u someone 0 0 3 5 /dev/loop0
setquota -t 864000  864000  /dev/loop0
//ps. 864000 为 10 天的秒数. 一小时=3600秒, 一天=86400秒

PS: 磁盘配额完毕后,必须以 quotaon -av 的命令启用配额管理。

磁盘配额的启用和禁用

要关闭用户和组群配额,使用以下命令:quotaoff –vaug 如果 -u 或 -g 选项没有被指定,只有用户配额被禁用。如果只指定了 -g 选项,只有组群配额会被禁用。

要重新启用配额,使用带有同样选项的 quotaon 命令。要为所有文件系统启用用户和组群配额:quotaon –vaug

要为指定文件系统(如 /home)启用配额:quotaon -vug /home 如果 -u 或 -g 选项没有指定,那么仅用户配额会被启用。如果只指定了 -g 选项,仅组群配额会被启用。

测试方法

切换响应用户su username,进行测试:dd if=/dev/zero of=file1 bs=1k count=50。

关闭quota服务

quotaoff -vug /home

相关文章

  • 12、磁盘配额quota

    磁盘配额 配额:quota 什么是磁盘配额? 限制磁盘资源的使用的。 限制原因就是因为资源不是无限的。 应用...

  • 磁盘配额 (Quota)

    所谓磁盘配额,就是设置某一个文件系统(分区)内的用户可使用空间大小。 用途 WWW server 服务器,针对每个...

  • 磁盘配额quota

    磁盘配额 磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制的一个功能。他可以通过用户和组进行配额管理的,...

  • 服务器磁盘配额quota

    有些时候为了避免服务器磁盘被写爆,引起系统崩溃,因此有必要对磁盘的使用配额进行限制,尤其是对用户使用磁盘的容量进行...

  • 6.7 磁盘容量配额(P129-131)——《Linux就该这么

    磁盘容量配额(P129-131) 预览:quota,xfs_quota,edquota 限制某位用户或某个用户组针...

  • Linux实用工具-quota磁盘配额管理

    Linux可以使用quota进行配额管理。 磁盘配额功能需内核支持,挂载之时需指定特定的选项。 配额按分区分配,不...

  • linux实验随笔

    一、当linux服务器有多个用户存取数据时,为了维护所有用户在硬盘容量的公平使用,磁盘配额(Quota)是非常有用...

  • /home/目录下的账户Quota(磁盘配额)

    /home/目录下的账户Quota(磁盘配额) 1、修改分区信息 df -h /home/ 命令查看需要设置Quo...

  • Linux学习日记——磁盘配额(quota)

    quota是一个可以限制用户对磁盘使用量的工具,它可以查看磁盘分配情况和配置用户使用磁盘的限额。 quota的一般...

  • 大数据学习-配额管理

    配额管理(quota) 目录配额 目录配额计算的是目录下所有文件的总个数。如果配额是1,则表示空白目录 空间配额 ...

网友评论

      本文标题:服务器磁盘配额quota

      本文链接:https://www.haomeiwen.com/subject/pwkenctx.html