1 理论基础

1.1 Quota的概念

Quota即限额的意思,用来限制用户、组、文件夹的空间使用量。

1.2 用途范例

- web服务器控制站点可用空间大小

- mail服务器控制用户可用空间大小

- file服务器控制用户可用空间大小

1.3 限制模式

- 根据用户(UID)控制每个用户的可用空间大小

- 根据组(GID)控制每个组的可用空间大小

- 根据目录(directory,project)控制每个目录的可用空间大小(xfs可用project模式)

1.4 使用条件

- EXT格式只能对文件系统进行限制,xfs可用对project进行限制

- 内核需要预开启对Quota支持

- Quota限制只对非管理员有效

- 默认只开启对/home使用Quota,其他需要配置SELinux

1.5 限制的可配置对象

- 根据用户(User)、组(Group)、特定目录(project)

- 容量限制或文件数量限制(block/inode)

- 限制值soft(超过空间用量给予警告和宽限时间)和hard(超过空间用量则剥夺用户使用权)

- 宽限时间(grace time),空间用量超出soft限定而未达到hard限定给予的处理时限(超出时限soft值变成hard值)

2 实际操作

2.1 配置前准备

2.1.1 建立用户组

groupadd gp1

2.1.2 添加组成员

useradd -g gp1 user1

echo "pwd1" | passwd --stdin user1

useradd -g gp1 user2

echo "pwd1" | passwd --stdin user2

2.1.2 创建用户目录并变更所有组

mkdir /home/gp1

chgrp gp1 /home/gp1

chmod 2770 /home/gp1

2.1.2 检查文件系统类型

df -hT /home

显示如下:

Filesystem Type Size Used Avail Use% Mounted on

/dev/mapper/centos-home xfs 5.0G 67M 5.0G 2% /home

2.2 启用文件系统的quota功能

2.2.1 编辑fstab

vim /etc/fstab

修改内容如下:

/dev/mapper/centos-home /home xfs defaults,usrquota,grpquota 0 0

注,类型如下:

- 根据用户(uquota/usrquota/quota)

- 根据组(gquota/grpquota)

- 根据目录(pquota/prjquota)(不能与grpquota同时设定)

2.2.2 卸载并重新挂载

umount /home

mount -a

2.2.3 检查

mount | grep home

显示如下:

/dev/mapper/centos-home on /home type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)

2.3 查阅Quota信息

2.3.1 命令格式

xfs_quota -x -c "子命令" [挂载点]

选项:

-x :专家模式,使用-x才能使用-c

-c :子命令选项

子命令:

print :列出当前系统参数等

df :类似于df,选项有-b (block) -i (inode) -h (加上單位)等

report:列出quota项目,包含-ugr (user/group/project)和-bi等

state :列出当前支持quota文件系统信息和相关的启动项

2.3.2 查询支持Quota的分区

xfs_quota -x -c "print"

2.3.3 查询Quota目录的使用情况

xfs_quota -x -c "df -h" /hom

2.3.4 显示用户的Quota的限制信息

xfs_quota -x -c "report -ubih" /home

注,显示项目加参数“-u”

2.4 配置限制

2.4.1 命令格式:

xfs_quota -x -c "limit [-ug] b[soft|hard]=N i[soft|hard]=N name"

xfs_quota -x -c "timer [-ug] [-bir] Ndays"

选项:

limit :限制的对象,包括user/group/project

bsoft/bhard : block的soft/hard限制值

isoft/ihard : inode的soft/hard限制值

name : 用户和组的名称

timer :宽限时间(grace time)

2.4.2 根据用户和块大小限制

xfs_quota -x -c "limit -u bsoft=250M bhard=300M user1" /home

xfs_quota -x -c "limit -u bsoft=250M bhard=300M user2" /home

检查配置:

xfs_quota -x -c "report -ubih" /home

2.4.3 根据组和块大小限制

xfs_quota -x -c "limit -g bsoft=950M bhard=1G gp1" /home

检查配置:

xfs_quota -x -c "report -gbih" /home

2.4.5 配置宽限时间

xfs_quota -x -c "timer -ug -b 14days" /home

验证配置:

xfs_quota -x -c "state" /home

2.4.6 验证Quta

su - user1

dd if=/dev/zero of=123.img bs=1M count=310

ll -h

exit

xfs_quota -x -c "report -ubh" /home

2.5 根据project限制

2.5.1 修改fstab

vim /etc/fstab

2.5.2 卸载挂载并重新挂载

umount /home

mount -a

2.5.3 检查取消

xfs_quota -x -c "state"

2.5.4 创建专案存储位置

mkdir /home/proj01

2.5.5 指定项目识别号

echo "01:/home/proj01" >> /etc/projects

2.5.6 指定项目名称并关联项目识别号

echo "proj01:01" >> /etc/projid

2.5.7 初始化项目名称

xfs_quota -x -c "project -s proj01"

检查配置:

xfs_quota -x -c "print " /home

xfs_quota -x -c "report -pbih " /home

2.5.8 根据块大小配置限制

xfs_quota -x -c "limit -p bsoft=450M bhard=500M proj01" /home

检查配置:

xfs_quota -x -c "report -pbih " /home

2.5.9 验证配置

dd if=/dev/zero of=/home/myquota/123.img bs=1M count=510

2.6 Quota的管理

2.6.1 临时禁用Quota限制

xfs_quota -x -c "disable -up" /home

检查禁用:

xfs_quota -x -c "state" /home

验证禁用:

dd if=/dev/zero of=/home/user1/123.img bs=1M count=520

查阅Quota状态:

xfs_quota -x -c "report -pbh" /home

清理测试文件:

rm -rf /home/user1/123.img

2.6.2 临时启动Quota限制

xfs_quota -x -c "enable -up" /home

检验启动:

dd if=/dev/zero of=/home/user1/123.img bs=1M count=520

2.6.3 完全关闭Quota限制

xfs_quota -x -c "off -up" /home

测试关闭:

xfs_quota -x -c "enable -up" /home

恢复关闭:

umount /home; mount -a

2.6.4 删除Quota限制(无法恢复)

xfs_quota -x -c "off -up" /home

xfs_quota -x -c "remove -p" /home

验证删除:

xfs_quota -x -c "report -phb" /home

2.7 利用软连接实现Quota

1)启用/home分区的Quota功能

编辑fstab

vim /etc/fstab

修改内容如下:

/dev/mapper/centos-home /home xfs defaults,usrquota,grpquota 0 0

2)创建软连接到Quota分区

ln -s /home/mail /var/spool/mail

linux安装quota软件包,CentOS关于quota的总结与实践详解相关推荐

  1. linux安装spec编译器,RPM包制作之Spec文件参数详解

    看这篇文章的人基本都有一个想法,就是:"劳资不想用YUM的安装!不是版本太低就是文件分布太野路子",此时我们需要自己订制软件包的需求,我们会把一些源码包按照我们的需求来做成rpm包 ...

  2. Linux安装deb软件包

    Linux安装deb软件包 1.判断系统版本(centos和ubuntu版本判断) 2.ubuntu系列安装deb包: 3.centos系列安装deb包 1.判断系统版本(centos和ubuntu版 ...

  3. Linux 服务器(二)-linux安装方法之Centos安装介绍——Windows中制作USB启动盘 MacOS中制作USB启动盘

    Linux 服务器(二)-linux安装方法之Centos安装介绍--Windows中制作USB启动盘 & MacOS中制作USB启动盘 安装方法 Centos安装方法: 下载镜像 按需选择下 ...

  4. centos 安装mysql5.7_Zabbix 4.2.5 安装部署实践详解

    [导读]云计算背景下,无论是大数据.物联网还是边缘计算,规模化后大量的设备需要保证正常运行,在人员一定的情况下,就需要提高运行维护效率.同时随着智能化被应用在人们生活的方方面面,关联性也越来越紧密,即 ...

  5. Zabbix 4.2.5 安装部署实践详解

    一.安装 1.安装CentOS操作系统,并配置网络 2.安装Zabbix官方源 rpm -ivh http://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zab ...

  6. linux修改zip中文件,Linux下修改jar、zip等文件内的文件详解

    Linux下修改jar.zip等文件内的文件详解 Linux下修改jar.zip等文件内的文件详解 看到很多同事在Linux环境下修改jar包内的文本文件或zip中的文本文件时,经常是先把jar包或z ...

  7. linux服务器3306端口,linux系统对外开放3306、8080等端口,防火墙设置详解

    linux系统对外开放3306.8080等端口,防火墙设置详解 发布时间:2020-10-10 23:08:49 来源:脚本之家 阅读:141 作者:julielele 栏目:服务器 我们很多时候在l ...

  8. Linux 创建网页服务,Linux使用Node.js建立访问静态网页的服务实例详解

    Linux使用Node.js建立访问静态网页的服务实例详解 一.安装node.js运行所需要的环境,: 二.创建node目录(/node/www),并在目录下创建node.js服务文件server.j ...

  9. centOS域名访问问题,/etc/hosts详解

    centOS域名访问问题,/etc/hosts详解 介绍 hosts文件是linux系统中负责ip地址与域名快速解析的文件,以ASCII格式保存在/etc目录下,文件名为hosts,不同的linux版 ...

  10. 19. linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解

    linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解 文章目录 Linux权限位 读写执行 三种权限真正含义和作用 权限对文件的作用 权限对目录的作用 示例 chmod 使用数 ...

最新文章

  1. 关机时 ,提示其他用户登录到这台计算机,关闭WINDOWS会使他们丢失数据
  2. Volley源码分析
  3. 网络基础知识——以太网
  4. ASP.NET三层架构之不确定查询参数个数的查询
  5. zigbee 协议栈数据类型及转换
  6. JdbcTemplate+PageImpl实现多表分页查询
  7. 第6步 项目包结构
  8. 如何在Java中修复表达式的非法开头
  9. 无法将 DBNull.Value 强制转换为类型“System.DateTime”。请使用可空类型
  10. 计算机绘图图库的创建,工程制图与计算机绘图.doc
  11. 关于ibatis.net框架(NPetshop学习)
  12. 利用OpenIPMI监控服务器温度
  13. 加一度分享:如何降低推广预算,增加KPI
  14. 精美绝伦的KShong GHOST Windows7-Pro 2010幸福版
  15. 中科院SCI期刊分区(又称JCR期刊分区)知多少
  16. Python 让书法作品和 PIL 库来一场美丽的邂逅
  17. [已解决]踩过的坑之mysql连接报“Communications link failure”错误
  18. 【扯皮系列】一篇与众不同的 String、StringBuilder 和 StringBuffer 详解
  19. python中自然数怎么表示_Python Numpy 自然数填充数组的实现
  20. Context-Transformer: Tackling Object Confusion for Few-Shot Detection(AAAI20)

热门文章

  1. OpenCV人工智能图像处理学习笔记 第6章 计算机视觉加强之机器学习上
  2. 190530每日一句
  3. atitit.为什么笔记本跟个手机不能组装而pc可以
  4. paip . 解决spring No unique bean of type [com.mijie.homi.search.service.index.MoodUserIndexService]
  5. paip.提升用户体验------c++ Qt5 实现程序图标以及动态托盘闪烁图标
  6. paip.使用泛型时未能找到类型或命名空间名称“T
  7. 稀缺的“稳定”--业绩导向的基金筛选困局
  8. 5000字彻底道尽「区块链分叉」真相!
  9. 后疫情时代这家在线教育机构如何乘“云”而上
  10. 【优化调度】基于matlab求解共享储能电站工业用户日前经济调度优化问题【含Matlab源码 1103期】