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

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

(0)

相关推荐

  • centos下初识日志式文件系统(ext3)详解

      centos下初识日志式文件系统(ext3)详解 1.日志式文件系统 2.ext3的优点 3.ext3的三种日志模式 4.选择日志模式 1.日志式文件系统 通常在系统运行中写入文件内容的同时,并没 ...

  • CentOS 7实现DNS+DHCP动态更新详解

    CentOS 7实现DNS+DHCP动态更新详解 windows域里有一个功能,dhcp把新分发的ip数据发给DNS服务器,这样只要知道一个人的电脑名字就可以很方便的远程. linux当然也能很好的实 ...

  • CentOS 6.5系统VNC安装配置详解

    一.安装 VNC 默认情况下,CentOS 6.4 是没有安装的. 检查是否安装,输入: [root@localhost ~]# rpm -q vnc vnc-server 得到: package v ...

  • CentOS下对硬盘读写速度测试的详解

    一个偶然装DB数据库的机会,发现安装很慢,于是系统工程师建议我测下硬盘读写速度,发现读写速度才200左右, 机器是dellR710 内存12G   操作系统是centos 6 64位 后来重装了cen ...

  • CentOS下多路径大容量硬盘挂载详解

    一.应用环境及需求 刀片服务器通过光纤交换机连接HP存储,形成了一个2X2的链路. 操作系统为CentOS 6.4 64位 挂载的存储容量为2.5T 基于此应用环境,需要解决两个问题: 为保证链路的稳 ...

  • linux CentOS/redhat 6.5 LVM分区使用详解

    linux CentOS/redhat 6.5 LVM分区使用详解

  • CentOS磁盘与分区的命名规则详解

    在Linux中,没有盘符这个概念,通过设备名来访问设备,设备名存放在/dev目录中. 前面讲的SSD.SAS.SATA硬盘都属于SCSI接口类型的硬盘,在Linux中用sd来标识,而IDE硬盘是属于I ...

  • CentOS系统管理_用户和用户组的详解

    一:新建用户和用户组:useradd和groupadd 1,useradd的参数: -u:指定UID标记号 -d:指定宿主目录,缺省为/home/用户名 -e:指定账号失效时间(下面usermod也有 ...

  • CentOS上的安全防护软件Selinux详解

    selinux简介 SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的 实现,是 Linux历史上最杰出的新安全子系统.NSA是在Linux ...