服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Centos - 在CentOS系统中安装quota来管理磁盘配额

在CentOS系统中安装quota来管理磁盘配额

2019-09-08 20:19MySQL中文网叶金荣 Centos

这篇文章主要介绍了在CentOS系统中安装quota来管理磁盘配额的方法,同样适用于Fedora等其他RedHat系的Linux系统,需要的朋友可以参考下

在网络管理的工作中,由于硬盘的资源是有限的,常常需要为多用户的服务器设定用户的linux磁盘配额。这个功能对公用的多用户服务器(免费的或者收费的)来说,更是非常必要的。Quota就是在RedHatlinux下实现linux磁盘配额的工具。 quota只支持单独的挂载文件系统  不是某一个目录。

1. 挂载目录加入 quota

查看/home目录挂载情况 
 

复制代码

代码如下:


[root@bogon ~]# df -h /home 


Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             2.0G   35M  1.8G   2% /home

复制代码

代码如下:


[root@bogon ~]# mount | grep home 
/dev/sda3 on /home type ext4 (rw)


使用者与群组的 quota 文件系统支持参数:usrquota, grpquota 

复制代码

代码如下:


[root@bogon ~]# mount -o remount,usrquota,grpquota /home 


查看 确定加了 usrquota,grpquota 

复制代码

代码如下:


[root@bogon ~]# mount | grep home 


/dev/sda3 on /home type ext4 (rw,usrquota,grpquota)

 

编辑 fstab文件让系统启动时挂载quota   
 

复制代码

代码如下:


[root@bogon ~]# vi /etc/fstab 重启后生效 
LABEL=/home /home ext4 defaults,usrquota,grpquota 1 2


重新挂载

复制代码

代码如下:


[root@bogon ~]# umount /home
[root@bogon ~]# mount -a
[root@bogon ~]# mount | grep home

 

2. quota安装  生成usrquota, grpquota两个目录 
对整个系统含有 usrquota, grpquota 参数的文件系统进行 quotacheck 扫瞄
 

复制代码

代码如下:


[root@bogon ~]# quotacheck -avug 
-bash: command not found

 

 

复制代码

代码如下:

[root@bogon ~]# yum install quota

安装quota 

复制代码

代码如下:


[root@bogon ~]# quotacheck -avug 


自动创建 usrquota, grpquota两个目录 

复制代码

代码如下:


[root@bogon ~]# ll -d /home/ 


-rw------- 1 root root 8192 Mar  6 11:58 /home/aquota.group
-rw------- 1 root root 9216 Mar  6 11:58 /home/aquota.user
 
这时, 由于某种需要,或者在某种情况,“不得不”运行这个命令 :

复制代码

代码如下:


[root@bogon ~]# quotacheck -avug -mf


参数 -m[M] 意思是:强迫在“读、写”模式下检查硬盘的 quota (有一定的“正在写”的数据丢失可能,应确保没有进程在写这个分区。建议在单用户模式下进行。)。

复制代码

代码如下:


[root@bogon ~]# quotaon -auvg

   启动 quota 
/dev/sda3 [/home]: group quotas turned on
/dev/sda3 [/home]: user quotas turned on

 


3. quota限制大小设置 
myquota1账号加入quota 限制使用 在这里固定每个用户使用的磁盘大小为500M 
 

复制代码

代码如下:


[root@bogon ~]# useradd myquota1 
[root@bogon ~]# edquota -u myquota1 


 Filesystem    blocks    soft    hard  inodes  soft  hard
  /dev/sda3         80  500000  600000      10     0     0

 

复制myquota1用户的信息给 myquota2 
 

复制代码

代码如下:


[root@bogon ~]# edquota -p myquota1 -u myquota2

 

复制代码

代码如下:


[root@bogon ~]# edquota -g myquotagrp

编辑myquotagrp组的总共使用大小 
  Filesystem    blocks    soft     hard  inodes  soft  hard
  /dev/sda3        160  10000000  12000000       20     0     0

复制代码

代码如下:


[root@bogon ~]# edquota -t

修改宽限时间  当使用者文件超过大小时 

复制代码

代码如下:


[root@bogon ~]# quota -uvs myquota1 myquota2

查询使用情况 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda3      80    495M    595M              10       0       0
Disk quotas for user myquota2 (uid 501):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda3      80    495M    595M              10       0       0

复制代码

代码如下:


[root@bogon ~]# quota -gvs myquotagrp

查询myquotagrp组使用情况 

复制代码

代码如下:


edquota -g myquotagrp


  Filesystem    blocks    soft     hard  inodes  soft  hard
  /dev/sda3        160   1000M     1200M      20     0     0

复制代码

代码如下:


[root@bogon ~]# repquota -auvs 查询所有用户使用情况

 

User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      20       0       0              2     0     0
myquota1  --      32       495M    595M           10     0     0
myquota2  --      32       495M    595M           10     0     0
myquotagrp --      64      1000M   1200M          20     0     0

Statistics:
Total blocks: 7
Data blocks: 1
Entries: 4
Used average: 4.000000


4. quota 测试 
利用 myquota1 的身份,建置一个 550MB 的大文件,并观察 quota 结果! 
 

复制代码

代码如下:


[root@bogon ~]# dd if=/dev/zero of=bigfile bs=1M count=550 
[root@bogon ~]# repquota -auv 


                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
myquota1  +-  556840  500000  600000 13days      11     0     0

 

你可以发现 myquota1 的 grace 出现!

再创建另外一个大文件,让总容量超过 600M ! 
 

复制代码

代码如下:


[root@bogon ~]# dd if=/dev/zero of=bigfile2 bs=1M count=600 
du -sk


600000  .  文件大小已经查过了设置的大小  操作失败 

复制代码

代码如下:


[root@bogon ~]# warnquota 查看是否有警告信息


 
您如果要取消磁盘空间的限制,可用以下命令,请看: 

复制代码

代码如下:


[root@bogon ~]# quotaoff /home

(取消磁盘空间限制。) 

复制代码

代码如下:


[root@bogon ~]# quotaon /home

(现在启动磁盘空间限制。)

 

PS:quota命令的基础用法整理

语法
quota [ -u [ User ] ] [ -g [ Group ] ] [ -v | -q ]
描述
root 用户可以使用带有可选 User 参数的 -u 标志查看其它用户的限制。没有 root 用户权限的用户可以通过使用带有可选 Group 参数的 -g 标志来查看它们所属的组的限制。
注:
如果某个特定用户在对他有限额的文件系统上没有文件,该命令为那个用户显示 quota: none。当用户在文件系统中有文件时,显示用户的实际限额。
标志
-g 显示用户组的限额。
-u 显示用户限额。该标志是缺省选项。
-v 显示没有已分配存储器的文件系统上的限额。
-q 打印扼要消息,只包含关于使用超过限额的文件系统的信息。
注:
-q 标志优先于 -v 标志。
安全性
访问控制:该命令由 root 用户和 bin 组拥有。
特权控制:该程序是 setuid 为了允许非特权用户查看个人限额。
示例
(1). 要显示用户 keith 的限额,请输入:
 

复制代码

代码如下:

quota


系统显示下列信息:
User quotas for user keith (uid 502):
Filesystem blocks quota limit grace Files quota limit grace
/u 20 55 60 20 60 65
(2). 要作为 root 用户显示用户 davec 的限额,请输入:

复制代码

代码如下:

quota -u davec


系统显示下列信息:
User quotas for user davec (uid 2702):
Filesystem blocks quota limit grace files quota limit grace
/u 48 50 60 7 60 60
文件

复制代码

代码如下:

quota.user

指定用户限额。

复制代码

代码如下:

quota.group

指定组限额。

复制代码

代码如下:

/etc/filesystems

包含文件系统名称和位置。

延伸 · 阅读

精彩推荐
  • CentosCentOS7 阿里云的yum源使用详解

    CentOS7 阿里云的yum源使用详解

    这篇文章主要介绍了CentOS7 阿里云的yum源使用详解的相关资料,这里对备份yum源,添加EPEL源,和缓存清理,进行了介绍,需要的朋友可以参考下...

    天王9312020-12-28
  • Centos使用Xshell连接Centos 6.6服务器操作图文教程

    使用Xshell连接Centos 6.6服务器操作图文教程

    这篇文章主要介绍了使用Xshell连接Centos 6.6服务器操作图文教程,本文用详细的操作步骤讲解了如何使用Xshell连接Centos服务器,需要的朋友可以参考下 ...

    脚本之家4032019-09-18
  • Centoscentos 7中添加一个新用户并授权的步骤详解

    centos 7中添加一个新用户并授权的步骤详解

    这篇文章主要给大家介绍了关于在centos 7中添加一个新用户并授权的步骤,文中将实现的步骤介绍的非常详细,通过文中介绍的步骤可以轻松的创建一个新...

    Ryan.Miao9832022-02-12
  • CentosCentOS 最新版本git的安装教程

    CentOS 最新版本git的安装教程

    本文主要给大家介绍了CentOS 最新版本git的安装教程,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧...

    CentOS教程网9252021-11-29
  • CentosCentOS系统下软件包的制作方法和过程详解

    CentOS系统下软件包的制作方法和过程详解

    今天小编将为大家带来的是CentOS系统下软件包的制作方法和过程详解;希望对大家会有帮助,有需要的朋友一起去看看吧...

    CentOS之家4802019-05-30
  • Centos在CentOS系统上安装Docker的教程

    在CentOS系统上安装Docker的教程

    这篇文章主要介绍了在CentOS系统上安装Docker的教程,Docker是当下人气最为火热的容器类虚拟软件,需要的朋友可以参考下 ...

    开源中文社区3952019-09-17
  • CentosCentOS6.2网卡设置

    CentOS6.2网卡设置

    如果你想让服务器可以更新、让网友访问你的LINUX服务器,那一定要设置LINUX网上给网卡绑定一个IP,下面我们就介绍CentOS6.2网卡设置IP的方法。...

    CentOS教程网10092021-10-03
  • CentosCentOS上SVN服务器端程序的安装与使用教程

    CentOS上SVN服务器端程序的安装与使用教程

    SVN是一款高人气的软件项目版本控制系统,由于其在Windows的客户端的简易操作,在Git的浪潮中仍然保有很多的用户数量,这里我们就来看一下CentOS上SVN服务器端...

    cnblogs3902019-07-16