目录
前言
本文将从文件系统的创建、挂载使用与 LVM (Logical Volume Manager,逻辑卷管理)动态分区的创建、管理等方面,介绍 Linux系统文件系统管理技术,同时介绍磁盘配额功能,帮助我们避免在服务器中出现类似磁盘空间不足的问题。
一.LVM概述
1.1LVM介绍
LVM即Logical Volume Manager:逻辑卷管理
●能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
●/boot分区用于存放引导文件,不能基于LVM创建
1.2LVM机制的基本概念
●PV (Physical Volume,物理卷):物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(Physical Extent,PE),从而构成物理卷。
●VG(Volume Group,卷组):由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷。
●LV(Logical Volume,逻辑卷):逻辑卷建立在卷组之上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中“切出”一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷。使用mkfs等工具在逻辑卷上创建文件系统。
二.LVM 的管理命令
主要命令:
功能 | PV 管理命令 | VG 管理命令 | LV 管理命令 |
Scan(扫描) | pvscan | vgscan | lvscan |
Create(建立) | pvcreate | vgcreate | lvcreate |
Display(显示) | pvdisplay | vgdisplay | lvdisplay |
Remove(移除) | pvremove | vgremove | lvremove |
Extend(扩展) | ———— | vgextend | lvextend |
Reduce(减少) | ———— | vgreduce | lvreduce |
三.LVM的应用实例
1.关闭主机,添加两块新硬盘,重启主机或echo "- - - " > /sys/class/scsi_host/host0/scan 扫描
用上述方法创建两个硬盘,然后重启虚拟机,接下来就可以查到我们添加的硬盘了
2.先使用fdisk工具讲磁盘设备/dev/sdb、/dev/sdc划分主分区sdb1、sdc1,并且把分区类型的ID标记号改为“8e”
fdisk /dev/sdb
fdisk /dev/sdc
这里由于流程太长,就只展示第一块磁盘的分区设置了
3.创建物理卷
pvcreate /dev/sdb1 /dev/sdc1
同时,这里刚好可以用 pvdisplay来查询是否创建完成
4.创建卷组,卷组名为(自己设置)
vgcreate 卷组名 /dev/sdb1 /dev/sdc1
5.创建逻辑卷,逻辑卷名为(自己设置),容量为20GB,生产的文件路劲为/dev/卷组名/逻辑卷名
lvcreate -L 20G -n 逻辑卷名 卷组名
6.对逻辑卷进行格式化,创建XFS文件系统,并且挂载到(自己设置的)目录下
mkfs -t xfs /dev/卷组名/逻辑卷名
mount /dev/卷组名/逻辑卷名 /(自己设置的)目录下
df -Th 查看
7. 当然,创建好的逻辑卷是可以再扩容
vgextend 卷组名 /dev/sdc2
lvextend -L +10G /dev/卷组名/逻辑卷名
xfs_growfs /dev/卷组名/逻辑卷名 //刷新xfs文件系统容量
resize2fs /dev/卷组名/逻辑卷名 //刷新ext4类型文件系统容量
综上所诉,创建 LVM 流程可以总结为:
pvcreate 创建 pv -> vgcreate 创建卷组 -> lvcreate 创建逻辑卷 -> mkfs.xfs lv 格式化-> mount 挂载
当然,又创建就有删除,删除 LVM 流程:
umount 卸载 -> lvremove lv 移出卷组中所有逻辑卷-> vgremove vg 移出卷组-> pvremove 移出 pv
四.磁盘配额的概述
4.1为什么要磁盘限额
当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障。
为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和可持续性。
4.2实现磁盘限额的条件
●需要Linux内核支持
●安装xfsprogs与quota软件包
4.3Linux磁盘限额的特点
●作用范围: 针对指定的文件系统(分区)
●限制对象: 用户帐号、组帐号
●限制类型: 磁盘容量、文件数量
●限制方法: 软限制、硬限制
4.4查看磁盘限额的流程
4.5启用文件系统的配额支持
●添加usrquota、grpquota挂载参数:添加挂载参数"usrquota, grpquota"用于增加对用户、组配额功能的支持
[root@localhost ~]# vi /etc/fstab
....//省略部分信息
/dev/mapper/mail_store-mbox /mailbox xfs defaults,usrquota,grpquota 0 0
[root@localhost ~]# mount -o usrquota,grpquota /dev/mail_store/mbox /mailboxl
[root@localhost ~]# mount
......//省略部分信息
/dev/mapper/mail_store-mbox on /mailbox type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)
[root@localhost ~]# chmod 777 /mailbox/
五.磁盘配额管理
5.1编辑用户和组帐号的配额设置
●使用xfs_quota命令编辑配额设置
xfs_ quota -x -c 'limit -u bsoft=N bhard=N isoft=N ihard=N 用户名' 挂载点
-x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。
-c: 表示直接调用管理命令。
-u: 指定用户账号对象
-g: 指定组账号对象
bsoft: 设置磁盘容量的软限制数值(默认单位为KB)。
bhard:设置磁盘容量的硬限制数值(默认单位为KB)。
isoft:设置磁盘文件数的软限制数值。
ihard:设置磁盘文件数的硬限制数值。
#仅限制磁盘容量
xfs_ quota -x -c 'limit -u bsoft=80M bhard=100M lisi' /opt/
#仅限制文件数
xfs quota -x -c 'limit -u isoft=4 ihard=5 lisi' /opt/
#查看zhangsan磁盘:容量限制
xfs_quota -C 'quota -uv lisi' /opt/
#查看zhangsan文件数限制
xfs quota -c 'quota -i -uv lisi' /opt/
5.2验证磁盘配额功能
●切换到设置配额的分区(挂载目录)
●创建指定数量的文件:使用touch命令,或cp命令
●创建指定容量的文件:使用dd命令,或cp命令
chmod 777 /opt 设置权限
Su - 挂载目录
cd 目录
#验证磁盘容量超限
dd if=/dev/zero of=/opt/kgc.txt bs=10M count=12
#验证磁盘文件数超限
touch {1..8} .txt
dd命令是一一个设备转换和连续复制命令
“if=” 指定输入设备(或文件)
"of="指定输出设备(或文件)
"bs=" 指定读取数据块的大小
"count=”指定读取数据块的数量
/dev/zero “零"设备文件,可以无限的提供空字符。常用来生成-一个特定大小的文件。
5.3查看配额使用情况
#查看所有可用分区的磁盘容量配额使用情况
xfs_quota -x -c 'report -abih'
report常用选项:-h:友好的显示
-u:对用户查看
-g:对组查看
-a:查看所有可用分区的配额使用报告
-b:查看磁盘容量
-i:查看文件数
六.实例展示
这里我们直接用上文配置好的LVM
1.检查是否已安装xfsprogs和xfs_ quota软件包
rpm -q xfsprogs quota
yum install -y xfsprogs quota
2.以支持配额功能的方式挂载文件系统
先查找确认一下逻辑卷的目录
然后开始挂载
挂载完成后需要 mount -a #-a选项,将/etc/ fstab的所有内容重新加载
再查询我们是否挂载成功
3.编辑用户和组账号的配额设置
useradd 账户名
passwd 账户名
4.验证磁盘配额功能
5.查看配额使用情况
6.补充一条磁盘命令
Ctrl+r搜索磁盘命令
按住ctrl,再按r,就会向前翻之前用过的命令,找到了回车就可以了
总结
在本文中,主要内容可以归纳为以下几点:
①.物理卷管理
②.卷组管理
③.逻辑卷管理
④.磁盘配额的作用范围、限制对象、限制类型、限制方法
⑤.磁盘配额管理
本文包含完整的知识点+实例,希望能给大家带来帮助,解决难题。