CentOS关于quota的总结与实践

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 建立用户组

groupaddgp1

2.1.2 添加组成员

useradd-ggp1user1
echo"pwd1"|passwd--stdinuser1

useradd-ggp1user2
echo"pwd1"|passwd--stdinuser2

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

mkdir/home/gp1
chgrpgp1/home/gp1
chmod2770/home/gp1

2.1.2 检查文件系统类型

df-hT/home

显示如下:

FilesystemTypeSizeUsedAvailUse%Mountedon
/dev/mapper/centos-homexfs5.0G67M5.0G2%/home

2.2 启用文件系统的quota功能

2.2.1 编辑fstab

vim/etc/fstab

修改内容如下:

/dev/mapper/centos-home/homexfsdefaults,usrquota,grpquota00

注,类型如下:

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

- 根据组(gquota/grpquota)

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

2.2.2 卸载并重新挂载

umount/home
mount-a

2.2.3 检查

mount|grephome

显示如下:

/dev/mapper/centos-homeon/hometypexfs(rw,relatime,seclabel,attr2,inode64,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]=Ni[soft|hard]=Nname"
xfs_quota-x-c"timer[-ug][-bir]Ndays"
选项:
limit:限制的对象,包括user/group/project
bsoft/bhard:block的soft/hard限制值
isoft/ihard:inode的soft/hard限制值
name:用户和组的名称
timer:宽限时间(gracetime)

2.4.2 根据用户和块大小限制

xfs_quota-x-c"limit-ubsoft=250Mbhard=300Muser1"/home
xfs_quota-x-c"limit-ubsoft=250Mbhard=300Muser2"/home

检查配置:

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

2.4.3 根据组和块大小限制

xfs_quota-x-c"limit-gbsoft=950Mbhard=1Ggp1"/home

检查配置:

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

2.4.5 配置宽限时间

xfs_quota-x-c"timer-ug-b14days"/home

验证配置:

xfs_quota-x-c"state"/home

2.4.6 验证Quta

su-user1
ddif=/dev/zeroof=123.imgbs=1Mcount=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-sproj01"

检查配置:

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

2.5.8 根据块大小配置限制

xfs_quota-x-c"limit-pbsoft=450Mbhard=500Mproj01"/home

检查配置:

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

2.5.9 验证配置

ddif=/dev/zeroof=/home/myquota/123.imgbs=1Mcount=510

2.6 Quota的管理

2.6.1 临时禁用Quota限制

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

检查禁用:

xfs_quota-x-c"state"/home

验证禁用:

ddif=/dev/zeroof=/home/user1/123.imgbs=1Mcount=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

检验启动:

ddif=/dev/zeroof=/home/user1/123.imgbs=1Mcount=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/homexfsdefaults,grpquota00

2)创建软连接到Quota分区

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

-------------------------------------------------------------

参阅文档

-------------------------------------------------------------

http://linux.vbird.org/linux_basic/0420quota.php

http://www.centoscn.com/CentOS/config/2013/1103/2043.html

http://www.jb51.net/os/RedHat/400503.html

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

相关推荐


linux下开机自启: 在/etc/init.d目录下新建文件elasticsearch 并敲入shell脚本: 注意, 前两行必须填写,且要注释掉。 第一行为shell前行代码,目的告诉系统使用shell。 第二行分别代表运行级别、启动优先权、关闭优先权,且后面添加开机服务会用到。 shell脚本
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod +x /etc/rc.d/rc.local 2、赋予脚本可执行权限假设/usr/local/script/autostart.sh是你的脚本路径,给予执行权限 chmod +x /usr
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB、MB等为单位进行显示,这样比较直观一些。 通过命令du -h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。 查询当前目录总大小可以使用d
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一但shell关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题 安装Supervisor 1 yum install python-setuptools
设置时区(CentOS 7) 先执行命令timedatectl status|grep 'Time zone'查看当前时区,如果不是时区(Asia/Shanghai),则需要先设置为中国时区,否则时区不同会存在时差。 #已经是Asia/Shanghai,则无需设置 [root@xia
vim /etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO="static" ONBOOT=yes IPADDR=192.168.8.106 NETMASK=255.255.252.0 GATEWAY=192.168.
一、安装gcc依赖 由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装 [root@localhost local]# yum install -y gcc 二、下载并解压安装包 [root@localhost local
第一步 On CentOS/RHEL 6.*: $ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm On CentOS/RHEL 7: $
/// <summary> /// 取小写文件名后缀 /// </summary> /// <param name="name">文件名</param> /// <returns>返回小写后缀,不带“.”</ret
which nohup .bash_profile中并source加载 如果没有就安装吧 yum provides */nohup nohup npm run start & nohup ./kibana &
1.1 MySQL安装 1.1.1 下载wget命令 yum -y install wget 1.1.2 在线下载mysql安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 1.1.3 安装My
重启 reboot shutdown -r now init 6 关闭 init 0 shutdown -h now shutdown -h 20:25 #8点25关机查看内存 free CPU利用率 top 日期 date 设置时间 date 033017002015 #月日时间年 日历 cal
1、firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 :
1 下载并安装MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 使用上面的命令就直接下载了安装用的Yum Repository,大概
CentOS6.x CentOS6中转用Upstrat代替以前的init.d/rcX.d的线性启动方式。 一、相关命令 通过initctl help可以查看相关命令 [root@localhost ~]# initctl help Job commands: start Start job. sto
1、使用命令:df -lk 找到已满磁盘 2、使用命令:du --max-depth=1 -h 查找大文件,删除
ifconfig:查看网卡信息 网卡配置文件位置: /etc/sysconfig/network-scripts/文件夹 nmtui:配置网卡 netstat -tlunp:查看端口信息 端口信息存储位置: /etc/services文件 route:查看路由信息 wget:下载网路文件,例如 wg
ps -ef:查看所有进程, ps -ef |grap firewalld 查看与firewalld相关的进程 which :查看进程:which firewalld kill 进程id:杀掉进程 kill 640,强制杀:kill -9 640 man:查看帮助,例如 man ps 查看
useradd:添加用户 useradd abc,默认添加一个abc组 vipw:查看系统中用户 groupadd:添加组groupadd ccna vigr:查看系统中的组 gpasswd:将用户abc添加到ccna组 gpasswd -a abc ccna groups abc:查看用户abc属