目录
[4.1 扫描命令的用法](#4.1 扫描命令的用法)
[4.1.1 pvscan](#4.1.1 pvscan)
[4.1.2 vgscan](#4.1.2 vgscan)
[4.1.3 lvscan](#4.1.3 lvscan)
[4.2 查看命令的用法](#4.2 查看命令的用法)
[4.2.1 pvdisplay](#4.2.1 pvdisplay)
[4.2.2 vgdisplay](#4.2.2 vgdisplay)
[4.2.3 lvdisplay](#4.2.3 lvdisplay)
[1.1 扩容卷组vg](#1.1 扩容卷组vg)
[1.2 扩容逻辑卷lv](#1.2 扩容逻辑卷lv)
[1.3 同步文件系统](#1.3 同步文件系统)
[1.4 验证](#1.4 验证)
[5.1 添加磁盘配额属性](#5.1 添加磁盘配额属性)
[5.2 限制磁盘配额](#5.2 限制磁盘配额)
[5.3 查看磁盘配额使用情况](#5.3 查看磁盘配额使用情况)
一、LVM逻辑卷管理基础
1、LVM逻辑卷管理的概念
LVM(Logical Volume Management),逻辑卷管理是一种用于管理存储设备的技术。
允许将多个硬盘分区合并成一个逻辑卷,并且可以动态地调整逻辑卷的大小,而无需关心底层物理硬盘的细节
2、LVM逻辑卷管理的核心组件
- 物理卷(pv):实际的硬盘分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元pe(pe是逻辑卷的最小存储单元),从而构成物理卷
- 卷组(vg):将多个物理卷合起来就组成了卷组。组成同一个卷组的物理卷可以是同一块硬盘的不同分区,也可以是不同硬盘上的不同分区。我们可以把卷组想象为一块逻辑硬盘。在卷组中可以动态地添加或移除物理卷,卷组名由用户自行定义。
- 逻辑卷(lv):卷组是一块逻辑硬盘,硬盘必须分区之后才能使用, 我们把这个分区称作逻辑卷。逻辑卷可以被格式化和写入数据。我们可以把逻辑卷想象为分区
3、LVM逻辑卷管理的优势
|-----|-------------------------------------|
| 特点 | 优势 |
| 灵活性 | 可以动态地调整逻辑卷的大小,而无需重新分区或格式化硬盘 |
| 安全性 | 可以创建快照来备份数据,或者在不影响正在运行的系统的情况下进行数据恢复 |
| 性能 | 可以提高读写性能和数据冗余 |
4、LVM逻辑卷管理的命令
| 功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
| scan 扫描 | pvscan | vgscan | lvscan |
| create 建立 | pvcreate | vgcreate | lvcreate |
| display 显示 | pvdisplay | vgdisplay | lvdisplay |
| remove 删除 | pvremove | vgmove | lvmove |
| extend 扩展 | | vgextend | lvextend |
reduce 减少 | vgreduce | lvreduce |
---|
4.1 扫描命令的用法
4.1.1 pvscan
通常情况下,pvscan
命令不需要任何参数,用于扫描系统中所有可用的物理卷,这对于在添加新的物理卷后,需要让LVM系统识别这些新的物理卷非常有用
4.1.2 vgscan
通常情况下,vgscan命令不需要任何参数,用于扫描系统中所有卷组
4.1.3 lvscan
通常情况下,lvscan命令不需要任何参数,用于扫描系统中所有逻辑卷
4.2 查看命令的用法
4.2.1 pvdisplay
用于显示物理卷的详细信息
4.2.2 vgdisplay
用于显示卷组的详细信息
4.2.3 lvdisplay
用于显示逻辑卷的详细信息
二、建立LVM逻辑卷管理的步骤
1、添加硬盘
1.1在虚拟机设置里,选择添加硬盘,一直默认选项,下一步下一步即可,最后添加完成后一定要点击确认
这里添加两个硬盘即可
1.2 磁盘建立完成后,使用以下三条命令刷新新建的磁盘设备,不需要重启
bash
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
2、建立物理卷pv(可省略操作)
前提:
如果使用磁盘分区来建立物理卷时,需要修改分区类型为8e
而硬盘能直接使用来建立物理卷,不需要额外操作
通式:pvcreate 磁盘设备1 磁盘设备2 ......
如:pvceate /dev/sdb1 /dev/sdc //建立物理卷
3、建立卷组vg
通式:vgcreate 卷组名 磁盘设备1 磁盘设备2 ......
如:vgcreate vg1 /dev/sdb1 /dev/sdc
//建立卷组名为vg1并将/dev/sdb1、/dev/sdc添加进卷组
4、建立逻辑卷lv
通式:lvcreate -n 逻辑卷组名 -L 逻辑卷大小 卷组
如:lvcreate -n mysql -L 10G vg1 //建立逻辑卷名为mysql,大小为10G的逻辑卷
5、逻辑卷格式化
逻辑卷有两个名称:/dev/vg1/mysql 和 /dev/mapper/vg1-mysql
通式:mkfs.文件系统类型 逻辑卷名 //将文件系统装入逻辑卷
如:mkfs.ext4 /dev/vg1/mysql
6、挂载+验证
以上就是新建LVM逻辑卷管理的步骤,已经成功建立逻辑卷,接下来可正常使用该逻辑卷
三、删除逻辑卷的步骤
1、解挂载
2、删除逻辑卷lv
3、删除卷组vg
4、删除物理卷pv
做完以上步骤,逻辑卷就删除完整了。
四、逻辑卷扩容的步骤
1、当卷组空间不足时
1.1 扩容卷组vg
首先需要再添加一个硬盘sdd,再进行以下的步骤
通式:vgextend 卷组名 磁盘设备1 磁盘设备2 ......
如:vgextend vg1 /dev/sdd
//扩容卷组,将/dev/sdd添加入卷组
1.2 扩容逻辑卷lv
通式:lvextend -L +扩容大小 需要扩容的逻辑卷名
如:lvextend -L +5G /dev/vg1/mysql //将逻辑卷扩容增加5G
1.3 同步文件系统
方法一:
xfs_growfs 挂载点目录 //同步文件系统,只支持xfs文件系统
方法二:
可以在扩容逻辑卷lv时再添加上-r选项,可以立刻同步文件系统,且此方法支持任何类型的文件系统,这样就将扩容逻辑卷lv和同步文件系统两个步骤合成一步了,更方便
lvextend -L +5G /dev/vg1/mysql -r //同步文件系统
其中r选项 //立刻同步文件系统
1.4 验证
df -h //查看磁盘挂载情况和磁盘容量
2、当卷组空间充足时
只需要操作扩容逻辑卷和同步文件系统两个操作即可,可以直接扩容
3、扩容根目录的步骤
bash
1.vgdisplay //查看根的卷组
2.vgextend centos /dev/sdc //扩容卷组
3.lvextend -L +10G /dev/centos/root -r //扩容根的逻辑卷并同步文件系统
五、逻辑卷缩减的步骤
前提:
ext4文件系统可以缩减,xfs文件系统无法缩减
提醒:
逻辑卷缩减具有数据丢失的风险:缩减逻辑卷的过程中,操作系统需要重组数据并释放空间。这个过程可能会发生错误,导致数据损坏或丢失。因此,在进行缩减操作前,务必备份重要的数据。建议不要操作。
1、复制文件到逻辑卷
2、解挂载
3、检查文件系统完整性
e2fsck -f /dev/vg1/mysql //检查文件系统完整性
4、缩减文件系统
resize2fs /dev/vg1/mysql 4G //缩减文件系统
5、缩减逻辑卷
lvreduce -L 4G /dev/vg1/mysql //缩减逻辑卷
6、再挂载
六、磁盘配额管理
1、磁盘配额的概念
磁盘配额是一种用于限制用户或组在计算机系统上可使用的磁盘空间量的技术。它通常用于多用户环境下,以确保每个用户或组不会占用过多的磁盘空间。磁盘配额可以应用于整个文件系统、特定目录或甚至特定文件
2、磁盘配额的优势
| 方面 | 优势 |
| 资源管理 | 通过限制用户或组所能使用的空间,系统管理员可以更好地管理和分配磁盘资源 |
| 性能优化 | 避免某些用户占用过多的磁盘空间,导致系统性能下降 |
安全性 | 限制磁盘空间可防止用户存储大量数据,例如大型媒体文件或其他可能对系统造成风险的内容 |
---|
3、实现磁盘限额的条件
- 需要Linux内核支持
- 安装xfsprogs与quota软件包Linux
4、磁盘限额的特点
- 作用范围:针对指定的文件系统(分区)
- 限制对象: 用户帐号、组帐号
- 限制类型: 磁盘容量、文件数量
- 限制方法: 软限制、硬限制
5、磁盘配额的步骤
5.1 添加磁盘配额属性
mount -o usrquota,grpquota /dev/sdb1 /mnt
再输入mount,可查看到磁盘的配额属性被改变
5.2 限制磁盘配额
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=40 ihard=50 dh' /mnt/
| 选项 | 说明 |
| -x | 表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用 |
| -c | 表示直接调用管理命令 |
| -u | 指定用户账号对象 |
-g | 指定组账号对象 |
---|
5.3 查看磁盘配额使用情况
xfs_quota -x -c 'report -abih'