Linux逻辑卷管理操作指南
Linux逻辑卷管理操作指南
逻辑卷核心组件
LVM 的管理依赖于以下 4 个核心概念,从底层到上层依次为:
| 组件 | 英文全称 | 作用说明 |
|---|---|---|
| 物理卷(PV) | Physical Volume | 将物理磁盘(如/dev/sda)或分区(如/dev/sda5)初始化为 LVM 的基本存储单元,用于后续整合。 |
| 卷组(VG) | Volume Group | 将一个或多个物理卷整合为一个 “存储池”,统一管理物理卷的存储空间。 |
| 物理扩展(PE) | Physical Extent | 卷组中最小的存储单元(默认 4MB,可自定义),LV 的大小必须是 PE 的整数倍。 |
| 逻辑卷(LV) | Logical Volume | 从 VG 中划分出的 “虚拟分区”,可直接格式化并挂载使用,大小可动态调整(扩容 / 缩容)。 |
优势
- 动态调整大小:LV 的大小可在线(无需卸载)或离线调整,灵活应对存储需求变化。
- 整合分散存储:可将多个物理磁盘 / 分区的空间合并为一个 VG,统一分配使用。
- 便于管理:通过逻辑卷名(如
/dev/vg0/lv0)访问存储,无需关心底层物理设备细节。
逻辑卷的层级结构
| 文件系统 |
|---|
| 逻辑卷LV |
| 卷组VG |
| 物理卷PV |
| 分区 |
| 硬盘 |
逻辑卷的制作流程由图从下到上生产
删除时由上到下
一、物理卷(PV)操作
创建物理卷
- 语法:
pvcreate [设备路径1] [设备路径2] ... - 实例:将分区
sda5和sda6初始化为物理卷pvcreate /dev/sda5 /dev/sda6
查看物理卷信息
- 语法:
pvdisplay [可选:物理卷路径] - 实例1:显示所有物理卷信息
pvdisplay - 实例2:显示指定物理卷
sda5的信息pvdisplay /dev/sda5
删除物理卷
-
语法:
pvremove 物理卷路径1 物理卷路径2 ...(需确保物理卷未加入任何卷组) -
实例:删除物理卷
sda5和sda6pvremove /dev/sda5 /dev/sda6
二、卷组(VG)操作
创建卷组
-
语法:
vgcreate [选项] 卷组名 物理卷路径1 物理卷路径2 ...- 选项:
-s [大小]指定PE(物理扩展块)大小(默认4M)
- 选项:
-
实例1:创建卷组
vg0,包含sda5和sda6(默认PE大小)vgcreate vg0 /dev/sda5 /dev/sda6 -
实例2:创建卷组
vg0,指定PE大小为8Mvgcreate vg0 -s 8M /dev/sda5 /dev/sda6
查看卷组信息
- 语法:
vgdisplay [可选:卷组名] - 实例1:显示所有卷组信息
vgdisplay - 实例2:显示指定卷组
vg0的信息vgdisplay vg0
卷组扩容
- 语法:
vgextend 卷组名 新物理卷路径 - 实例:将新物理卷
sda7添加到卷组vg0vgextend vg0 /dev/sda7
删除卷组
-
语法:
vgremove 卷组名(需确保卷组内无逻辑卷) -
实例:删除卷组
vg0vgremove vg0
三、逻辑卷(LV)创建与永久挂载
创建逻辑卷
- 语法1(按大小创建):
lvcreate -L [大小] -n 逻辑卷名 卷组名 - 语法2(按PE数量创建):
lvcreate -l [PE数量] -n 逻辑卷名 卷组名 - 实例1:在
vg0中创建1G大小的逻辑卷lv0lvcreate -L 1G -n lv0 vg0 - 实例2:在
vg0中创建包含200个PE的逻辑卷lv0(需结合卷组PE大小计算实际容量)lvcreate -l 200 -n lv0 vg0
查看逻辑卷信息
- 语法:
lvdisplay [可选:逻辑卷路径或卷组名/逻辑卷名] - 实例1:显示所有逻辑卷信息
lvdisplay - 实例2:显示指定逻辑卷
vg0/lv0的信息lvdisplay /dev/vg0/lv0
逻辑卷扩容
-
语法:
lvextend -L [目标大小或+增量] 逻辑卷路径 -
实例:将lv0从200MB扩容至500MB
lvextend -L 500MB /dev/vg0/lv0 或 lvextend -L +300MB /dev/vg0/lv0语法2:
lvextend -l [目标的pe数量] 逻辑卷路径实例:将逻辑卷lv0扩容至1G
lvextend -l 250 /dev/vg0/lv0
格式化逻辑卷
- 语法:
mkfs.[文件系统类型] 逻辑卷路径 - 实例1:格式化为xfs文件系统
mkfs.xfs /dev/vg0/lv0 - 实例2:格式化为ext4文件系统
mkfs.ext4 /dev/vg0/lv0
永久挂载配置
- 语法:编辑
/etc/fstab,添加行:[逻辑卷路径] [挂载点] [文件系统类型] defaults 0 0 - 实例:将
vg0/lv0挂载到/disk(ext4格式)# 编辑配置文件 vim /etc/fstab # 添加以下内容 /dev/vg0/lv0 /disk ext4 defaults 0 0
生效挂载配置
- 语法:
mount -a - 实例:使
/etc/fstab中的配置立即生效mount -a
删除逻辑卷
-
语法:
lvremove 逻辑卷路径(需先卸载) -
实例:删除
vg0/lv0(需先执行umount /disk)lvremove /dev/vg0/lv0
四、逻辑卷在线扩容(无需卸载)
-
xfs文件系统扩容
- 步骤1:扩容逻辑卷
lvextend -L 2G /dev/vg0/lv0 # 或按增量扩容(增加1G) lvextend -L +1G /dev/vg0/lv0 - 步骤2:同步文件系统大小
- 语法:
xfs_growfs [挂载点] - 实例:同步
/disk挂载点的xfs文件系统xfs_growfs /disk
- 语法:
- 步骤1:扩容逻辑卷
-
ext4文件系统扩容
- 步骤1:扩容逻辑卷(同xfs)
lvextend -L 2G /dev/vg0/lv0 - 步骤2:同步文件系统大小
- 语法:
resize2fs 逻辑卷路径 - 实例:同步
vg0/lv0的ext4文件系统resize2fs /dev/vg0/lv0
- 语法:
- 步骤1:扩容逻辑卷(同xfs)
五、逻辑卷离线缩小(仅ext4支持,xfs不支持)
-
卸载逻辑卷
- 语法:
umount [挂载点] - 实例:卸载
/disk挂载点umount /disk
- 语法:
-
检查文件系统完整性
- 语法:
e2fsck -f 逻辑卷路径 - 实例:检查
vg0/lv0的ext4文件系统e2fsck -f /dev/vg0/lv0
- 语法:
3. **缩小文件系统** - 语法:`resize2fs 逻辑卷路径 [目标大小]` - 实例:将`vg0/lv0`的文件系统缩小至500M ```bashresize2fs /dev/vg0/lv0 500M
-
缩小逻辑卷
- 语法:
lvreduce -L [目标大小] 逻辑卷路径 - 实例:将
vg0/lv0的逻辑卷大小调整为500M(需与文件系统大小一致)lvreduce -L 500M /dev/vg0/lv0
- 语法:
-
重新挂载
- 语法:
mount -a - 实例:按
/etc/fstab配置重新挂载mount -a
- 语法:
