LVM逻辑卷与磁盘配额
一、LVM逻辑卷
1、LVM概述
LVM(Logical Volume Manager,逻辑卷管理)重点在于可以弹性地调整文件系统的容量,需要文件的读写性能或是数据的可靠性,LVM可以整合多个物理分区,让这些分区看起来像是一块磁盘一样,能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性。
注意:/boot分区用于存放引导文件,不能基于LVM创建
2、 LVM机制的基本概念(可结合末尾关系图进行理解)
2.1 PE(Physical Extent,物理扩展块)
VM默认使用4MB的PE数据块,它是整个LVM中最小的存储数据单位,也就是说我们的文件数据都是借由写入PE来完成的
2.2 PV ( Physical Volume, 物理卷)
物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(PE),从而构成物理卷。物理卷一般直接使用设备文件名称,例如:/dev/sdb1、/dev/sdc1、/dev/sdd 等。
2.3 VG (Volume Group, 卷组)
由一个或多个物理卷组成一个整体,即称为卷组,许多个物理卷可以分别组成不同的卷组,卷组的名称可以由我们自行定义,在卷组中可以随时根据需求动态地添加或移除物理卷。
2.4 LV (Logical Volume,逻辑卷)
逻辑卷基于PE建立在卷组之上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从卷组中分割出的一块空间,形成逻辑卷。使用mkfs 等工具可在逻辑卷上创建文件系统,就可以挂载到Linux系统中的目录下使用。
3、LVM的管理命令
功能 | PV管理命令 | VG管理命令 | LV管理命令 |
Scan(扫描) | pvscan | vgscan | lvscan |
Create(建立) | pvcreate | vgcreate | lvcreate |
Display(显示) | pvdisplay | vgdisplay | redisplay |
Remove(移除) | pvremove | vgremove | lvremove |
Extend(扩展) | —— | vgextend | lvextend |
Reduce(减少) | —— | vgreduce | lvreduce |
4、LVM操作的具体步骤
4.1、关闭主机,根据需求添加新硬盘,重启主机;
关闭主机,添加两块新硬盘,重启主机
4.2、对新硬盘划分主分区,分区号改为8e
先使用fdisk工具将磁盘设备/dev/sdb、 /dev/sdc划分出主分区sdb1、sdc1, 并且把分区类型的ID标记号改为“8e"
4.3、创建物理卷、卷组和逻辑卷(选择容量);
创建物理卷
pvcreate /dev/ sdb1 /dev/ sdc1
创建卷组,卷组名为vgname1
vgcreate vgname1 /dev/ sdb1 /dev/ sdc1
创建逻辑卷,逻辑卷名为lvname1, 容量为20GB, 生成的文件路径为/dev/ vgnamel/ lvname1
lvcreate -L 20G -n 1vname1 vgname1
4.4、对逻辑卷进行格式化并挂载;
对逻辑卷进行格式化,创建XFS文件系统,并挂载到/xxx目录下
mkfs -t xfs /dev/ vgname1/ lvname1
mount /dev/ vgname1/ lvname1 /xxx
df -hT
4.5、有需要进行扩容。
再扩容
vgextend vgname1 / dev/ sdc2
lvextend -L +10G /dev/vgname1/ lvname1
xfs_growfs /dev/ vgname1 / lvname 1
刷新xfs文件系统容量
resize2fs / dev/vgname 1/ lvname1
刷新ext4类型文件系统容量
5、实例操作
5.1 添加硬盘,并对硬盘划分主区,修改分区号8e
添加硬盘,并查看是否添加成功
对添加的硬盘进行分区,并修改Hex代码为8e
sdb划分1个主分区;sdc划分2个主分区,容量分别为10G
5.2 创建物理卷、卷组和逻辑卷(选择容量)
对新分区创建物理卷、卷组
从卷组内创建逻辑卷
5.3 对逻辑卷进行格式化并挂载;
5.4 对逻辑卷和卷组进行扩容
二、磁盘配额
1、概述
当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障。
为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。
在Centos系统中,不同的文件系统使用不同磁盘配额配置管理工具。例如,XFS文件系统通过xfs_ quota工具进行管理;
2、实现磁盘限额的条件
- 需要Linux内核支持
- 安装xfsprogs与quota软件包
3、Linux磁盘限额的特点
- 作用范围:针对指定的文件系统(分区)
- 限制对象:用户帐号、组帐号
- 限制类型:磁盘容量、文件数量
- 限制方法:软限制、硬限制
硬限制:是指对资源节点和数据块的绝对限制,在任何情况下都不允许用户超过这个限制
软限制:是指用户可以在一定时间范围内(默认时间为一周,在/usr/include/sys/fs/ufs_quota.h文件中设置)超过软限制的额度,在硬限制的范围内继续申请资源,同时系统会在用户登录时给出警告信息和仍可继续申请资源剩余时间.如果达到时间期限,用户的硬盘使用仍超过软限制的额度,则系统将不允许用户再申请硬盘资源
4、磁盘配额的具体步骤
4.1 先检查xfsprogs和quota是否安装
rpm -q xfsprogs quota
未安装,则
yum -y install xfsprogs
yum -y install quota
4.2 以支持配额功能的方式挂载文件系统
umount / dev/ vgname1/ lvname1
#有挂的先解挂
mount -0 usrquota, grpquota / dev/ vgname1/ lvname1 /test
#添加挂载参数"usrquota,grpquota"用于增加对用户、组配额功能的支持
或者
vim /etc/ fstab
/dev/ vgname1 / lvname1 /test xfs defaults, usrquota, grpquota 0 0
#自动挂载配置
mount- a
#-a选项,将/etc/ fstab的所有内容重新加载
4.3 编辑用户和组账号的配额设置
useradd lucy
passwd lucy
xfs_ quota -x -c ' limit -u bsoft=80M bhard=100M isoft=8 ihard=10 lucy' /test/
#仅限制磁盘容量
xfs_ quota -x -c 'limit -u bsoft=80M bhard=100M lucy' /test/
#仅限制文件数
xfs_ quota -x -c 'limit -u isoft=8 ihard=10 lucy' /test/
#查看lucy的磁盘容量限制
xfs_ quota -c ' quota -uv lucy' /test/
#查看lucy的文件数限制
xfs quota -c 'quota -i -uv lucy' /test/
常用选项
4.4 验证磁盘配额功能是否正常
dd命令是一个设备转换和连续复制命令
“if=”指定输入设备(或文件)
"of=” 指定输出设备(或文件)
"bs=”指定读取数据块的大小
"count=”指定读取数据块的数量
/dev/zero“零”设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件。
chmod 777 /test
#给权限
su lucy
cd /test
#验证磁盘容量超限
dd if=/dev/ zero of=/test/123. txt bs=10M count=12
#验证磁盘文件数超限
touch {1..11} . txt
4.5 查看配额情况
4.5.1 查看磁盘配额使用情况
#查看所有可用分区的磁盘容量配额使用情况
xfs_quota -X -C ' report -a'
#查看磁盘容量和文件数的报告
xfs_quota-X -C 'report -abih '
4.5.2 .停止配额
xfs_quota -x -c 'off -u' /配额的目录
xfs_quota -x -c 'off -g' /配额的目录
xfs_quota -x -c 'off -p' /配额的目录
4.5.3 删除配额
xfs_quota -x -c 'remove -u' /配额目录
xfs_quota -x -c 'remove -g' /配额目录
xfs_quota -x -c 'remove -p' /配额目录
5、实例操作
5.1 查看xfsprogs和quota 是否安装
5.2 以支持配额功能的方式挂载文件系统
5.2.1 临时挂载
5.2.2 永久挂载
5.3 编辑用户和组账号的配额设置
5.3.1 添加用户,并设置密码
5.3.2 进行配额设置(容量和文件数限制),并查看
5.4 验证磁盘配额功能是否正常
5.4.1 验证容量限制
5.4.2 验证文件数限制
5.5 查看配额情况