欢迎来到福编程网,本站提供各种互联网专业知识!

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

发布时间:1970-01-01 作者:叶金荣 来源:MySQL中文网
这篇文章主要介绍了在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包含文件系统名称和位置。

相关推荐