磁盘配额

1 启用磁盘配额

首先创建新的分区 /dev/sd5,并创建文件系统。

[root@local ~]# mkfs.ext4 /dev/sda5

由于xfs 不磁盘配额能成功,这里使用ext4.

然后把/dev/sda5分区挂载到 /home

[root@local ~]# mount /dev/sda5 /home

[root@local ~]# blkid /dev/sda5

/dev/sda5: UUID="8879cf63-99a5-43bb-9bfe-de303afb0799" TYPE="ext4"

修改 /etc/fstab 文件

[root@local ~]# vim /etc/fstab

UUID=dddd23d1-1012-4bac-9717-56b9b469e0c2 / ext4 defaults 1 1

UUID=316d8677-25b8-49af-b4eb-54daa20b6595 /boot ext4 defaults 1 2

UUID=dacd6ddd-d765-4646-b98c-0579f2732749 swap swap defaults 0 0

UUID=8879cf63-99a5-43bb-9bfe-de303afb0799 /home ext4 defaults,usrquota,grpquota 0 0

usrquota为启用磁盘的用户磁盘配额功能,grpquota为启用磁盘的组磁盘配额功能。

[root@centos7 ~]# mount –a /home/

查看挂载是否成功

[root@local ~]# mount

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)

proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)

[……]

/dev/sda5 on /home type ext4 (rw,relatime,seclabel,quota,usrquota,grpquota,data=ordered)

可以看到/dev/sda5已经正确挂载

2创建配额数据库

[root@centos7 ~]# quotacheck -cug /home

由于/etc/fstab 文件设置了usrquota,grpquota,所以这里必须是 –cug,u对应usrquota,g对应grpquota。

现在查看/home目录,会多出两个文件,说明磁盘配额数据库创建成功。

[root@local ~]# ll /home/

total 36

-rw-------. 1 root root 7168 Apr 25 11:03 aquota.group

-rw-------. 1 root root 7168 Apr 25 11:03 aquota.user

drwx------. 3 centos centos 4096 Apr 16 10:20 centos

drwx------. 2 root root 16384 Apr 25 10:55 lost+found

3 启用数据库

[root@local ~]# quotaon /home/

[root@local ~]#

下来查看一下,可以看到以及启用成功。

[root@local ~]# quotaon -p /home/

group quota on /home (/dev/sda5) is on

user quota on /home (/dev/sda5) is on

4 磁盘配额设置

设置user1 磁盘配额为100M,80M时发出警告

[root@local ~]# edquota user1

Disk quotas for user user1 (uid 1001):

Filesystem blocks soft hard inodes soft hard

/dev/sda5 52 80000 100000 13 0 0

这里的默认单位为block ,1个block为1K。soft为警告值,hard为最大值,

现在来确认一下配置是否成功

[root@local ~]# quota user1    #查看用户user 的磁盘配额
Disk quotas for user user1 (uid 1001):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda5 52 80000 100000 13 0 0

5 测试

(1)创建测试的用户 user1

[root@local ~]# useradd uesr1

切换到user1用户

[root@local ~]# su - user1
Last login: Tue Apr 25 11:08:41 CST 2017 on pts/1

(2)创建文件测试

首先创建一个50M 的文件testquota。

[user1@local ~]$ dd if=/dev/zero of=testquota bs=1M count=50
50+0 records in
50+0 records out
52428800 bytes (52 MB) copied, 0.562963 s, 93.1 MB/s

可以看到一切正常

再来创建一个35M 的文件testquota2。

[user1@local ~]$ dd if=/dev/zero of=testquota2 bs=1M count=35

sda5: warning, user block quota exceeded.
35+0 records in
35+0 records out
36700160 bytes (37 MB) copied, 0.348267 s, 105 MB/s

由于50M+35M=85M 大于80M

所有看到这次发出警告了,但是操作还是成功了

下来再创建一个20M的文件testquota3。

[user1@local ~]$ dd if=/dev/zero of=testquota3 bs=1M count=20

sda5: write failed, user block limit reached.
dd: error writing 'testquota3': Disk quota exceeded
13+0 records in
12+0 records out
13217792 bytes (13 MB) copied, 0.165029 s, 80.1 MB/s

由于已经超过最大值100M,所以创建失败了!

测试完成,实验结束!

磁盘配额quota的更多相关文章

  1. 鸟哥的Linux私房菜——第十八章:磁盘配额quota

    视频链接:http://www.bilibili.com/video/av10892470/ 磁盘配额quota的意思是给用户进行使用磁盘额度的空间的划分,举个例子,你的百度网盘的使用空间,其他云盘的 ...

  2. 磁盘配额-----quota

    为什么要使用磁盘配额:为了限制普通用户使用普通磁盘的空间与创建文件的个数等. 不至于个别人的浪费影响所有人的使用. 需要安装quota的软件包. mount -o usrquota,grpquota ...

  3. Linux学习-磁盘配额 (Quota) 的应用与实作

    什么是 Quota 在 Linux 系统中,由于是多人多任务的环境,所以会有多人共同使用一个硬盘空间的情况发生, 如 果其中有少数几个使用者大量的占掉了硬盘空间的话,那势必压缩其他使用者的使用权力! ...

  4. linux之磁盘配额(quota)

    1.什么是quota 简单的说就是限制用户对磁盘空间的使用量. 因为Linux是多用户多任务的操作系统,许多人共用磁盘空间,为了合理的分配磁盘空间,于是就有了quota的出现. 2.quota的用途  ...

  5. linux之磁盘配额(quota)使用方法(转)

    1.什么是quota 简单的说就是限制用户对磁盘空间的使用量. 因为Linux是多用户多任务的操作系统,许多人共用磁盘空间,为了合理的分配磁盘空间,于是就有了quota的出现. 2.quota的用途  ...

  6. 磁盘配额quota应用

    1.文件系统支持 quota是针对整个文件系统来进行规划,所以我们得先查一下/home是否是个独立的文件系统. [root@Monitor home]# df -h /home Filesystem ...

  7. 第15章 磁盘配额(Quota)与高级文件系统管理

    磁盘配额(quota)的应用与实践 什么是quota 举例来说,用户的默认主文件夹是在/home下面,如果/home是个独立的分区,假设是10G,/home下有30个账号,这样30个用户共享这10G的 ...

  8. liniux备忘录-磁盘配额与进阶文件系统管理

    知识 磁盘配额Quota 可以限制磁盘的使用容量,可以对用户.群组磁盘的最大使用容量. 磁盘配额Quota的使用限制 只能针对整个文件系统. 核心必须支持Quota. 自行编译的核心需要注意 Quot ...

  9. 磁盘配额(Quota)的应用与实践

    1>什么是Quota      在Linux中,由于是多用户,多任务的环境,所以会有多用户共同使用一个硬盘空间的情况发生,如果其中有少数几个用户大量占用掉了硬盘空间的话,那肯定影响其他用户的使 ...

随机推荐

  1. Java设计模式:生成器模式

    问题的提出: 有些类很容易创建对象,直接调用其构造方法,例如Student student = new Student("1001","zhang",21); ...

  2. MySQL 5.7贴心参数之 log_timestamps

    写在前面 使用 MySQL 的过程中,经常会有人碰到这么一个问题,看错误日志.慢查询日志的时候,时间总是和本地时间对不上,差了 8 个小时,这样分析起来就相对麻烦了一些. 新改进 对于不知道是什么原因 ...

  3. 统计学习方法:罗杰斯特回归及Tensorflow入门

    作者:桂. 时间:2017-04-21  21:11:23 链接:http://www.cnblogs.com/xingshansi/p/6743780.html 前言 看到最近大家都在用Tensor ...

  4. Elasticsearch - 快速入门

    Elasticsearch是基于Apache 2.0开源的实时.分布式.分析搜索引擎,相比Lucene,Elasticsearch的上手比较容易,这篇文章主要纪录Elasticsearch的基本概念和 ...

  5. [Day01] Python基础

    明天要完成的任务如下:  Python 四则运算 Python 数据结构 Python 元算符(in.not in.is.and.or) 用户输入 (input.raw_input) 流程控制 缩进 ...

  6. 天方夜谈·数据结构·List

    在战场上杀不死的敌人,永远也别想打败他,他就像幽灵横亘在你失败的田地上. 大一下学期,接触到Java程序设计语言,时至今日,才越发觉得知识与技术的海洋是多么多么的浩瀚.......如果说编程语言的一个 ...

  7. SQL Server中关于基数估计如何计算预估行数的一些探讨

    关于SQL Server 2014中的基数估计,官方文档Optimizing Your Query Plans with the SQL Server 2014 Cardinality Estimat ...

  8. ConcurrentHashMap、HashTable、HashMap的区别

    HashTable与ConcurrentHashMap: 相同点:都是线程安全的,可以在多线程的环境下运行.key和value都不能为null 区别:性能上的差异.HashTable每次操作对象都会锁 ...

  9. 玩一玩nodejs--一个简单的在线实时填表应用

    学习nodejs三天,入了个门,感觉他和jsp.php还是存在较大的差别.本文首先复习这些天学的一些知识点,然后谈一下如何一步一步到做一个在线实时填表的小应用,进一步巩固一下这些个知识点.这里先简单介 ...

  10. 在ASP.NET Core 中使用Cookie中间件

    在ASP.NET Core 中使用Cookie中间件 ASP.NET Core 提供了Cookie中间件来序列化用户主题到一个加密的Cookie中并且在后来的请求中校验这个Cookie,再现用户并且分 ...