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)


相关推荐

  • 解决启动IIS发生意外错误 0x8ffe2740「建议收藏」

    解决启动IIS发生意外错误 0x8ffe2740「建议收藏」有时候也不知怎么搞的,你会突然间发现你的IIS启动不了了,提示“发生意外错误0x8ffe2740”这样的东东主要原因是80端口被程序占用了,请确认一下有没有程序占用了80端口,不知道怎么确认?可以用TcpView查看占用的端口然后终止这人端口其实大多情况下都是因为Xunlei或者数据库(SqlServer,Oracle)占用了,所以先把X…

  • sqljdbc4.jar和sqljdbc.jar下载「建议收藏」

    sqljdbc4.jar和sqljdbc.jar下载「建议收藏」官网下载:windows版本http://go.microsoft.com/fwlink/?LinkId=144633&clcid=0x804UNIX版本http://go.microsoft.com/fwlink/?LinkId=144635&clcid=0x804  推荐几个网站:http://maven.ibiblio.org/maven/http…

  • wifi数据包解析_详细解析WiFi模块的基础知识「建议收藏」

    wifi数据包解析_详细解析WiFi模块的基础知识「建议收藏」1、WiFi模块的SDK是什么?SDK是WiFi模块的软件开发工具包(全称:SoftwareDevelopmentKit)的英文简称,一般都是一些软件工程师为特定的软件包、软件框架,硬件平台,操作系统等建立应用软件时的开发工具的集合。2、WiFi模块的驱动是什么?驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。有了此信息,计算机就可以与设备进行通信。驱动程序是硬件厂…

  • js 浮动广告代码

    js 浮动广告代码

  • Java设计模式(八)之结构型模式:代理模式

    Java设计模式(八)之结构型模式:代理模式

  • idea 2021.8激活码-激活码分享

    (idea 2021.8激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

发表回复

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

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