一、前言介绍

Linux是多用户多任务的操作系统,这就难免出现多个用户共享磁盘的情况,如何使多个用户公平的使用磁盘,就是磁盘配置要解决的问题。当然也可以在没创建一个用户的时候,将它的主目录建在一个单独的逻辑分区上,但是这样太麻烦了,也不灵活。

以针对用户的配置为例,设置用户的磁盘配额。

1、centos7
2、使用到的命令:

创建测试用户
useradd zhangsan

创建逻辑分区,xfs
该分区支持quota(配额)

创建指定大小的文件:
dd if=/dev/zero of=/mnt/aa bs=1k count=4000

3、Linux磁盘配额的特点:

作用范围:针对指定 文件系统(分区)

限制对象:普通用户账号、组账号限制类型:磁盘容量(默认单位为KB)、文件数量

限制方法:软连接、硬链接

quota对文件系统的限制主要分为:容量限制或文件数量限制

限制inode用量;就是用户可以新建的文件数量

限制block用量;就是用户可以使用的磁盘容量,比较常见的限制方式

二、实例演练

1、创建逻辑分区,将分区/dev/sdb和/dev/sdc 改为LVM类型,并建立物理卷、卷组vgtest1,20G的LVM逻辑卷lvtest1。
命令如下:

pvcreate /dev/sdb1 /dev/sdc1                #建立物理卷
vgcreate vgtest1 /dev/sd[b-c]1              #创建卷组并命名为vgtest1
lvcreate -L +20G -n lvtest1 vgtest1      #20G的LVM逻辑卷lvtest1

将 lvtest1格式化成xfs格式。

mkfs -t xfs /dev/vgtest1/lvtest1

centos磁盘配额怎么设置 linux磁盘配额实验_逻辑卷


查看xfsprogs与quota软件包是否安装,没有安装的,用yum安装

2、创建文件 lvtest1的挂载点并设置分区配额。

方法一:在vim /etc/fstab中加入

/dev/vgtest1/lvtest1    /mnt  xfs   defaults,usrquota,grpquota    0 0
mount -a     #启动挂载点

centos磁盘配额怎么设置 linux磁盘配额实验_centos磁盘配额怎么设置_02


方法二:临时挂载

mount -o usrquota,grpquota /dev/vgtest1/lvtest1 /mnt

3、创建zhangsan用户,对此用户使用xfs_quota命令设置磁盘配额。

useradd zhangsan
xfs_quota -x -c 'limit -u bsoft=50M bhard=100M isoft=4 ihard=5 zhangsan' /mnt
xfs_quota -c 'quota -uv zhangsan' /mnt         #查看容量的设置
xfs_quote -c 'quota -iuv zhangsan' /mnt        #查看文件节点数量

centos磁盘配额怎么设置 linux磁盘配额实验_逻辑卷_03


对该分区磁盘的容量软限制为50M,硬限制为100M,对文件个数的软限制为4个,硬限制为5个。接下来进行验证:

(1)对文件的个数进行测试:

centos磁盘配额怎么设置 linux磁盘配额实验_centos磁盘配额怎么设置_04


(2)对可以使用的容量大小测试:

dd if=要复制的文件 of=/mnt/新建文件 bs=每一次的容量 count=次数

centos磁盘配额怎么设置 linux磁盘配额实验_磁盘配额的实例练习_05


超出容量硬限制100M,给予提示。

centos磁盘配额怎么设置 linux磁盘配额实验_磁盘配额_06


切换root用户使用xfs_quota命令可以查看当前各磁盘配额的使用情况。

从下图可以看出zhangsan用户已经达到了磁盘使用的最大容量限制。

xfs_quota -c 'quota -uv zhangsan' /mnt
xfs_quota -c 'quota -iuv zhangsan' /mnt

centos磁盘配额怎么设置 linux磁盘配额实验_磁盘配额_07

三、总结

在实例练习中,首先用 fdisk建立物理分区,设置类型8e。接着建立LVM逻辑卷,并用 mkfs 命令格式化文件系统类型,设置自动挂载,以上步骤是准备工作。

下面开始磁盘配额:
1、创建zhangsan用户。
2、对此用户使用xfs_quota命令设置磁盘配额的软限制、硬限制、文件个数的软限制和硬限制。
3、用touch命令-----创建指定数量的文件来验证文件的限制。
用dd命令-----创建指定容量的文件验证容量的软、硬限制。

最后切换root用户使用xfs_quota命令可以查看当前各磁盘配额的使用情况。