您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

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

添加时间:2016-6-18 3:29:59  添加: 思海网络 
在网络管理的工作中,由于硬盘的资源是有限的,常常需要为多用户的服务器设定用户的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包含文件系统名称和位置。

关键字:CentOS、系统、quota、磁盘配额
分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站