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命令来设置这个宽限时间,分别设置容量和文件数的宽限期。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • &0xFF是怎么个意思[通俗易懂]

    &0xFF是怎么个意思[通俗易懂]今天看了下同事从网上拷贝的base64加密的代码,看到了这样如下的代码publicstaticStringencode(byte[]data){StringBuildersb=newStringBuilder();intlen=data.length;inti=0;intb1,b2,b3;while(i

    2022年6月15日
    39
  • 2021前端面试经常被问到的题(附答案)

    2021前端面试经常被问到的题(附答案)一、html二、css1.50道CSS基础面试题(附答案)50道CSS基础面试题(附答案)2.如何居中div?CSS水平居中+垂直居中+水平/垂直居中的方法总结3.CSS3新特性深入了解CSS3新特性4.清除浮动清除浮动的四种方式及其原理理解5.media媒体查询深入浅出篇—media媒体查询-响应式开发必备6.讲一讲Flex布局,以及常用的属性?一…

    2022年8月29日
    0
  • 睿智的目标检测20——利用mAP计算目标检测精确度「建议收藏」

    睿智的目标检测20——利用mAP计算目标检测精确度「建议收藏」睿智的目标检测20——利用mAP计算目标检测精确度学习前言GITHUB代码下载知识储备1、IOU的概念2、TPTNFPFN的概念3、precision(精确度)和recall(召回率)4、概念举例5、单个指标的局限性什么是AP绘制mAP学习前言好多人都想算一下目标检测的精确度,mAP的概念虽然不好理解,但是理解了就很懂。GITHUB代码下载这个是用来绘制mAP曲线的。https:…

    2022年10月13日
    0
  • Python if用法_if语句的用法例子

    Python if用法_if语句的用法例子if语句的语法及其实例等…..

    2022年9月26日
    0
  • 每个人都应该是善良的

    每个人都应该是善良的

    2021年7月22日
    63
  • getinstance方法(java replace函数)

    一般在单例模式下使用.getInstance()创建对象;但并不是所有有私有构造方法,对外通过getInstance方法提供实例的情况就是单例模式。注:单例模式:一个类有且只有一个实例。1,一个私有的构造器2,一个私有的该类类型的变量3,必须有一个共有的返回类型为该类类型的方法,用来返回这个唯一的变量eg:publicclassSingleton{

    2022年4月14日
    92

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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