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
和sda6
pvremove /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
添加到卷组vg0
vgextend vg0 /dev/sda7
删除卷组
-
语法:
vgremove 卷组名
(需确保卷组内无逻辑卷) -
实例:删除卷组
vg0
vgremove vg0
三、逻辑卷(LV)创建与永久挂载
创建逻辑卷
- 语法1(按大小创建):
lvcreate -L [大小] -n 逻辑卷名 卷组名
- 语法2(按PE数量创建):
lvcreate -l [PE数量] -n 逻辑卷名 卷组名
- 实例1:在
vg0
中创建1G大小的逻辑卷lv0
lvcreate -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
- 语法: