Linux磁盘配额

Linux磁盘配额

概念——磁盘配额是啥???
由于我们使用的Linux系统是多用户任务的操作系统(也就是说我们同一个系统下的多个用户共同使用着相同的硬盘空间),这就难免出现了多个用户共享磁盘的情况,这种情况会导致什么问题呢?比如用户A在磁盘内存放了大型文件,导致用户B在需要存储文件时发现磁盘已经被写满无法进行保存…。那么如何使多个用户公平地分配磁盘空间呢?这就是磁盘配额要解决的问题。当然也可以在创建一个用户的时候,将他的主目录建立在一个单独的逻辑分区上,但是这样太麻烦了,也不够灵活。

实现磁盘配额需要什么前提条件呢?
1.需要Linux内核的支持。
2.安装quota软件包
在RHEL6系统中,磁盘配额的内核支持和quota软件包已经默认配置好了,所以我们不用另行设置。

磁盘配额有什么特点呢?
作用范围:针对指定的文件系统(也就是分区)
限制对象:用户账号、用户组
限制类型:磁盘容量(默认KB单位)、文件数量
限制方法:软限制、硬限制

磁盘配额设置的详细方法:
1.首先确保我们的系统中有一个普通用户,如果没有,新建一个普通用户
Useradd 和 passwd

2.创建一个新分区,并对其进行格式化
步骤省略…

3.刷新分区ls /dev/sda*

4.创建新分区的挂载点, mkdir /media/disk1

5.修改配置文件

在修改前,先用一条命令:
•blkid /dev/sda1 使用该命令查看指定分区的UUID

查看后,赋值其UUID,然后执行:
Vim /etc/fstab
获得结果如下
UUID=0bc12d95-9c7b-4138-8909-4a0e2774e023 /boot ext4 defaults 1 2
/dev/mapper/vg_zxz-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
UUID=6fec7406-8471-4bd5-b01e-451e68528292 /media/disk1 ext4 defaults,usrquota,grpquota 0 0
UUID=732ee58d-5e8f-4d43-893d-f38cf05aac5d /media/disk5 ext4 defaults,usrquota,grpquota 0 0
按a进入编辑模式,按照原有格式,添加进刚刚的uuid及其他配置。如上红字部分
6.mount –a 读取/etc/fstab中的信息,进行重新挂载
7.ls 查看挂载目录中的内容,如:
ls /media/disk1/
显示lost+found即为成功
8.关闭selinux,关闭方法—》setenforce 0
9.使用quotacheck命令在挂载目录当中生成配置磁盘的数据库文件
Quotacheck –ugcv /media/disk1
执行成功的话,会在/media/disk1/下生成两个新的文件:aquota.group和aquota.user
10.使用“edquota –u 普通用户名”配置该用户对这个磁盘分区的使用配额。也可以使用“edquota –g 组名”的方法对指定组进行配额设置。具体方法如下:
Edquota –u zgod
执行结果:
Disk quotas for user zgod (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 32 10240 20480 8 5 8
/dev/sdb5 0 10240 20480 0 5 8
按照上方的设置将文件大小的软硬限制和文件个数的软硬限制进行设定。保存退出
1配置文件的对应字段含义如下:
2Filesystem 文件系统
3blocks 已经使用的块数(块的单位为1K)
4soft 块数软限制,0表示禁用
5hard 块数硬限制,0表示禁用
6inodes 已经创建的文件个数,如果后面有*表示已经超出软限制
7soft 创建的文件个数的软限制,0表示禁用
8hard 创建的文件个数的硬限制,0表示禁用
9edquota -p username username1 把username用户的设定复制给username1用户

11.设置完成后,我们使用”qoutaon –ugv /media/disk1”来开启我们要引用磁盘配额功能的分区。
12.使用”su – 普通用户名”方法来切换到普通用户,在开启了磁盘配额的分区内创建文件进行测试。
1)可以使用touch或echo或cp等方法来向该分区内添加文件。
如touch方法不能正常显示配额超出提示的话,说明我们不能通过创建空文件的形式来检查这种配额设置,要用echo或cat、cp的方式来向分区内添加非空文件。
正常的情况下,当添加\创建的文件超过我们软限制的数量后,会提示: sdb1: warning, user file quota exceeded.超出硬限制的数量时会显示: -bash: 9: 超出磁盘限额。
2)可以使用dd if=/media/disk1 of=myfile bs=1M count=120
正常会显示结果:dd: 正在打开”myfile”: 超出磁盘限额
13.使用quota –a或quota –u zgod 命令,可以查看当前各磁盘配额使用情况或指定用户使用磁盘情况

注意:当某个用户触发了软限制,grace time就会倒计时,在默认的7天时间内。如果用户还不清理磁盘使之符合软限制要求,则软限制就会变成了硬限制。这个时间叫做宽限期,可以通过edquota –r命令来设置这个宽限时间,分别设置容量和文件数的宽限期。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/101894.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 手机APP软件性能测试工具及流程介绍[通俗易懂]

    性能测试(上)性能测试的分类和流程什么是性能测试?性能测试概念:性能测试主要通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试性能测试工具:JmeterLoadrunner性能工具的组成:脚本生成器压力生成器结果分析器压力控制器性能工具工作原理:软件性能测…

  • setsockopt()使用方法(參数具体说明)

    setsockopt()使用方法(參数具体说明)

    2021年11月28日
  • WiFi 2.4G和5G信道分布说明(认证相关)

    WiFi 2.4G和5G信道分布说明(认证相关)FCC36,40,44,48,52,56,60,64,100,104,108,112,116,136,140,149,153,157,161,165IC 36,40,44,48,52,56,60,64,149,153,157,161ETSI 36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140SPAIN 36,40,44,48,52,56,60,64,100,104,108,112,116,120,124.

  • 日志管理方法及系统

    日志管理方法及系统摘要本发明涉及应用系统日志管理技术领域,提供了一种日志管理方法和系统,所述方法包括如下步骤:S1:初始化系统业务功能列表和业务功能方法列表;S2:将业务操作中的具体操作信息与系统日志表和历史数据日志表直接相关联;S4:根据业务操作自动记录日志信息。本发明从整体考虑整个应用系统的日志信息与业务操作挂接,用户在运行时可以根据当前的需要,选择某业务操作是否需要记录日志,并且在业务操作界面能即时将

  • parse_str() 函数把查询字符串解析到变量中。

    parse_str() 函数把查询字符串解析到变量中。

  • Linux配置Java环境变量 详解「建议收藏」

    Linux配置Java环境变量 详解「建议收藏」一、官网下载JDKJDK官方下载地址:https://www.oracle.com/cn/java/technologies/javase-downloads.html​ 打开此网址可以看到目前所有维护中的JDK的发行版本,在此找到你需要的版本即可,我们这里选择JDK1.8版本进行演示。​ 下拉找到JavaSE8标题,然后点击JDKDownload,将跳转至JDK8版本选择页面。​ 选择合适安装包进行点击下载。所有JDK版本的历史版本:https://www.oracle.com/j

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号