17 高级文件系统管理
17.1 磁盘配额
17.1.1 磁盘配额概念
-
用户配额和组配额
-
磁盘容量限制和文件个数限制
-
软限制和硬限制
-
如果用户的空间占用数处于软限制和硬限制之间,统会在用户登陆时警告用户磁盘将满,,这个时间就是宽限时间,默认是7天。如果达到了宽限时间,用户的磁盘占用量还超过软限制,那么软限制就会升级为硬限制。
17.1.2 磁盘配额条件
-
内核必须支持磁盘配额
-
-
要支持磁盘配额的分区必须开启磁盘配额功能,这个功能需要手工开启,不再是默认就开启的
17.1.3 磁盘配额规划
开始磁盘配额实验,首先来规划下实验:
-
磁盘配额是限制的普通用户在分区上使用磁盘空间和文件个数的,所以需要指定一个分区。那么手工建立一个5GB的/dev/sdb1分区,把它挂载到/disk目录当中。
-
需要建立被限制的用户和用户组。那么假设需要限制user1、user2和user3用户,这三个用户属于test用户组。
-
其中test组磁盘容量硬限制为500MB,软限制450MB,文件个数不做限制。user1用户为了便于测试,磁盘容量硬限制为50MB,软限制为40MB,文件个数硬限制限制为10个,软限制为8个。user2和user3用户磁盘容量硬限制为250MB,软限制为200MB,文件个数不做限制。
-
发现user1、user2和user3用户加起来的磁盘容量限制为550MB,超过了test组的磁盘容量限制500MB。这样的话,某个用户可能达不到自己的用户限制,而达到组限制时就不能再写入数据了。也就是说,如果用户限制和组限制同时存在,那么哪个限制更小,哪个限制优先生效。
-
系统宽限时间改为8天。
17.1.4 磁盘配额步骤
1)分5GB的/dev/sdb1分区,并将它挂载到/disk目录当中
2)建立需要做限制的用户和用户组
3)在分区上开启磁盘配额功能
我们要想永久生效,则需要修改/etc/fstab文件,改成:
4)建立磁盘配额的配置文件
需要关闭SELinux,否则会报错
如果需要给根分区开启配额功能,需要:
如果自动扫描/分区建立配额配置文件时,因为/分区已经挂载成读写系统,而quotacheck需要把分区先挂载成只读分区,然后建立配置文件,最后再挂载回来,所以不能直接在/分区建立配置文件。这时就需要使用-m强制以读写方式扫描文件系统了
5)设置用户和组的配额限制
给user1用户设定的配额限制是:磁盘空间软限制是40MB,硬限制是50MB;文件个数的软限制是8个,硬限制是10个(稍微小一点,一会测试时方便测试)。命令如下:
再给user2用户配置限额,user2用户要求是空间软限制250MB,硬限制250MB,文件个数不做限制:
接下来给test组配置限额,test组要求是空间软限制是450MB,硬限制500MB,文件个数不做限制:
6) 配额复制
user3用户的配额值和user2用户完全一样,就可以使用user2用户作为模板进行复制。这样如果需要建立大量的配额值一致的用户时,就会非常方便,不用一个个手工建立了。复制命令如下:
7)修改宽限时间
要求把宽限时间改为8天,修改命令如下:
8)启动和关闭配额
配额的配置完成,接下来只需要启动配额就大功告成了,启动命令如下:
关闭配额的命令如下:
17.1.5 磁盘配额查询
-
quota查询用户或用户组配额:
17.1.6 验证测试
17.1.7 非交互设定用户磁盘配额
这个命令在写脚本批量设置时更加方便。当然写脚本时也可以先建立一个模板的用户,设定好磁盘配额,再进行配额复制,也是可以的。
17.2 LVM逻辑卷管理
17.2.1 LVM简介
LVM是Logical Volume Manager的简称,中文就是逻辑卷管理。
-
物理卷(PV,Physical Volume):就是真正的物理硬盘或分区。
-
卷组(VG,Volume Group):将多个物理卷合起来就组成了卷组,组成同一个卷组的物理卷可以是同一个硬盘的不同分区,也可以是不同硬盘上的不同分区。我们可以把卷组想象为一个逻辑硬盘。
-
逻辑卷(LV,Logical Volume):卷组是一个逻辑硬盘,硬盘必须分区之后才能使用,这个分区我们称作逻辑卷。逻辑卷可以格式化和写入数据。我们可以把逻辑卷想象成为分区。
-
物理扩展(PE,Physical Extend):PE是用来保存数据的最小单元,我们的数据实际上都是写入PE当中,PE的大小是可以配置的,默认是4MB。
17.2.2 建立LVM的步骤
-
首先需要把物理硬盘分成分区,当然也可以是整块物理硬盘。
-
然后把物理分区建立成为物理卷(PV),也可以直接把整块硬盘都建立为物理卷。
-
接下来把物理卷整合成为卷组(VG)。卷组就已经可以动态的调整大小了,可以把物理分区加入卷组,也可以把物理分区从卷组中删除。
-
最后就是把卷组再划分成为逻辑卷(LV),当然逻辑卷也是可以直接调整大小的。我们说逻辑卷可以想象成为分区,所以也需要格式化和挂载。
17.2.3 物理卷管理
1)硬盘分区
创建方式就是使用fdisk交互命令,不过需要注意的是分区的系统ID不再是Linux默认的分区ID号83了,而要改成LVM的ID号8e。
2)建立物理卷
建立物理卷时,即可以把整块硬盘都建立成物理卷,也可以把某个分区建立成物理卷。如果要把整块硬盘都建立成物理卷,命令如下
在我们的使用中,是要把分区建立成为物理卷,所以执行以下命令:
注意:将整块物理硬盘创建为物理卷(PV)时,不需要对其进行硬盘分区操作
3)查看物理卷
可以看到在我的系统中,/dev/sdb5-7这三个分区是物理卷。最后一行的意思是:总共3个物理卷[大小] / 使用了0个卷[大小] / 空闲3个卷[大小]。
pvdisplay可以查看到更详细的物理卷状态,命令如下:
4)删除物理卷
17.2.4 卷组管理
1)建立卷组
三个物理卷/dev/sdb5-7,先把/dev/sdb5和/dev/sdb6加入卷组,留着/dev/sdb7一会实验调整卷组大小,命令如下:
2)查看卷组
查看卷组的命令同样是两个,vgscan主要是查看系统中是否有卷组,命令如下:
vgdisplay可以查看卷组的详细状态的,命令如下:
3)增加卷组容量
4)减小卷组容量
5)删除卷组
卷组删除之后,才能删除删除物理卷。还要注意的是scvg卷组还没有添加任何的逻辑卷,那如果拥有了逻辑卷,记得先删除逻辑卷再删除卷组。还记得我刚说的吗?删除就是安装的反过程,每一步都不能跳过。
17.2.5 逻辑卷管理
1)建立逻辑卷
建立一个1.5GB的userlv逻辑卷吧,建立命令如下:
建立完逻辑卷之后,还要格式化和挂载之后逻辑卷才能正常使用。格式化和挂载命令和操作普通分区时是一样的,不过需要注意的是逻辑卷的设备文件名是/dev/卷组名/逻辑卷名,如我们的userlv的设备文件名就是“/dev/scvg/userlv”,具体命令如下:
当然如果需要开机自动挂载,也要修改/etc/fstab文件。
2)查看逻辑卷
同样的查看命令是两个,第一个命令lvscan只能看到系统中是否拥有逻辑卷,命令如下:
lvdisplay可以看到逻辑卷的详细信息,命令如下:
3)调整逻辑卷大小
可以先在/disklvm中建立点文件,一会调整完大小,查看数据是否会丢失:
刚刚的userlv的大小事1.5GB,scvg中还有1.5GB的空闲空间,那么增加 userlv 逻辑卷的大小到2.5GB
逻辑卷的大小已经改变了,但是好像存在些问题:
怎么/disklvm分区的大小还是1.5GB啊?刚刚只是逻辑卷的大小改变了,如果需要让分区使用这个新逻辑卷,还要使用resize2fs命令来调整分区的大小。不过这里就体现了LVM的优势,不需要卸载分区,直接就能调整分区的大小。resize2fs命令如下:
那么已经把逻辑卷调整到了2.5GB,这时就需要把整个逻辑卷都加入/disklvm分区,命令如下:
4)删除逻辑卷
删除userlv这个逻辑卷,记得删除时要先卸载。命令如下:
-
-
系统中必须安装了quota工具,我们的Linux默认是安装了quota工具的,查看命令如下
-
-
repquota查询文件系统配额: