“Yeah It’s on. ”
LVM逻辑卷
注意:逻辑分区和逻辑卷不是一个概念。
普通分区的缺点:
- 问题一:服务的日志存放在/var/log目录下,现在空间不够了怎么办?
- 问题二:数据库软件安装在/user/local/mysql目录下,现在空间不够了怎么办?
基本概念
1、pv物理卷
物理卷是 LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘,创建物理卷时,会在分区或硬盘头部创建一个保留区块,用于记录 LVM 的属性,并把存储空间分割成默认大小为 4MB 的基本单元Physical Exent,PE),而构成物理卷。物理卷一般直接使用设备文件名称。
2、VG卷组
由一个或多个物理卷组成一个整体,即成为卷组,在卷组中可以动态添加或移除物理卷,多个物理卷可以分成不同的卷组,卷组的名称用户自己定义。卷组的大小就是多个物理卷大小的总和。
3、LV逻辑卷
逻辑卷建立在卷组之上,与物理卷没有直接关系,对于逻辑卷来说,每一个卷组就是个整体,从这个整体中分割出一块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷。逻辑卷经过格式化创建了文件系统后,就可以挂载使用了。
整个过程
硬盘—>分区—->物理卷 —->卷组—>lv逻辑卷—>格式化—-挂载使用
也就是揉碎–>整合–>重分
LVM相关管理命令
| 功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
|---|---|---|---|
| 扫描 | pvscan(pvs) | vgscan(vgs) | lvscan(lvs) |
| 创建 | pvcreate | vgcreate | lvcreate |
| 显示 | pvdisplay | vgdisplay | lvdisplay |
| 删除 | pvremove | vgremove | lvremove |
| 扩展 | vgextend | lvextend | |
| 减少 | vgreduce | lvreduce |
(注意:减少基本上用不到)
示例:
pvcreate
1
pvcreate 设备1(分区)[设备2 ......]
vgcreate格式;
1
vgcreate 卷组名 物理卷名1 物理卷名2......
lvcreate格式:
1
lvcreate -L 容量大小 (-l 指定PE个数) -n 逻辑卷名 卷组名
xfs_growfs /dev/myvg/mylv 重新识别大小
xfs文件系统只支持增大分区空间的情况,不支持减小
演示:
我现在有一块磁盘sdb,已将其分区sdb1,将其规划成逻辑卷,并将其挂载

确认磁盘分区
首先检查sdb1是否存在并确认其状态
1
2
lsblk /dev/sdb
fdisk -l /dev/sdb1

将分区转换为 LVM 物理卷(PV)
1
2
3
4
5
6
# 将sdb1初始化为物理卷
pvcreate /dev/sdb1
# 验证物理卷创建结果
pvdisplay /dev/sdb1
pvs # 查看所有物理卷

创建卷组(VG)
1
2
3
4
5
6
# 创建名为vg_data的卷组,包含/dev/sdb1
vgcreate vg_data /dev/sdb1
# 验证卷组创建结果
vgdisplay vg_data
vgs # 查看所有卷组

创建逻辑卷(LV)
1
2
3
4
5
6
7
8
9
# 创建名为lv_data的逻辑卷,使用卷组所有空间
lvcreate -l +100%FREE -n lv_data vg_data
# 或者创建指定大小的逻辑卷(例如3GB)
lvcreate -L 3G -n lv_data vg_data
# 验证逻辑卷创建结果
lvdisplay /dev/vg_data/lv_data
lvs # 查看所有逻辑卷

格式化逻辑卷
1
2
3
4
5
# 格式化为ext4文件系统
mkfs.ext4 /dev/vg_data/lv_data
# 或者格式化为xfs文件系统
mkfs.xfs /dev/vg_data/lv_data

挂载逻辑卷
1
2
3
4
5
6
7
8
9
10
11
# 创建挂载点
mkdir /mnt/data
# 临时挂载
mount /dev/vg_data/lv_data /mnt/data
# 设置永久挂载(添加到/etc/fstab)
echo "/dev/vg_data/lv_data /mnt/data ext4 defaults 0 0" >> /etc/fstab
# 验证挂载
df -h /mnt/data

如果资源不足,只需将新的分区进行pv后,加到同一个VG后即可
扩展逻辑卷 0.5G
1
2
3
4
5
# 扩展逻辑卷0.5G
lvextend -L +0.5G /dev/vg_data/lv_data
# 查看逻辑卷状态,确认扩展结果
lvdisplay /dev/vg_data/lv_data
扩展文件系统以识别新增空间
1
2
3
4
5
# 如果是ext4文件系统
resize2fs /dev/vg_data/lv_data
# 如果是xfs文件系统
xfs_growfs /dev/vg_data/lv_data
