LVM 命令 #
逻辑卷管理器(Logical Volume Manager,LVM)是一种在 Linux 系统上管理磁盘驱动器和类似存储设备的设备映射器框架。LVM 提供了一组命令,用于创建和管理逻辑卷,使存储管理更加灵活。
LVM 概念 #
- 物理卷(Physical Volume,PV):实际的存储设备或分区
- 卷组(Volume Group,VG):由一个或多个物理卷组成的存储池
- 逻辑卷(Logical Volume,LV):从卷组中分配的虚拟分区,可以格式化并挂载
常用 LVM 命令 #
物理卷管理 #
1. 创建物理卷 #
pvcreate /dev/sdb1 /dev/sdc1
2. 显示物理卷信息 #
pvdisplay
或简洁格式:
pvs
3. 扫描物理卷 #
pvscan
卷组管理 #
1. 创建卷组 #
vgcreate vg_name /dev/sdb1 /dev/sdc1
2. 显示卷组信息 #
vgdisplay
或简洁格式:
vgs
3. 扩展卷组 #
vgextend vg_name /dev/sdd1
4. 减少卷组 #
vgreduce vg_name /dev/sdd1
5. 删除卷组 #
vgremove vg_name
逻辑卷管理 #
1. 创建逻辑卷 #
lvcreate -L 10G -n lv_name vg_name
或使用百分比:
lvcreate -l 100%FREE -n lv_name vg_name
2. 显示逻辑卷信息 #
lvdisplay
或简洁格式:
lvs
3. 扩展逻辑卷 #
lvextend -L +5G /dev/vg_name/lv_name
或扩展到特定大小:
lvextend -L 15G /dev/vg_name/lv_name
4. 减少逻辑卷(需谨慎) #
lvreduce -L -5G /dev/vg_name/lv_name
5. 删除逻辑卷 #
lvremove /dev/vg_name/lv_name
文件系统调整 #
扩展逻辑卷后,需要调整文件系统大小:
对于 ext4 文件系统 #
resize2fs /dev/vg_name/lv_name
对于 XFS 文件系统 #
xfs_growfs /mount_point
常见用法示例 #
1. 创建 LVM 存储 #
# 创建物理卷
pvcreate /dev/sdb1
# 创建卷组
vgcreate data_vg /dev/sdb1
# 创建逻辑卷
lvcreate -L 50G -n data_lv data_vg
# 格式化逻辑卷
mkfs.ext4 /dev/data_vg/data_lv
# 挂载逻辑卷
mkdir -p /data
mount /dev/data_vg/data_lv /data
2. 扩展现有逻辑卷 #
# 添加新的物理卷
pvcreate /dev/sdc1
# 扩展卷组
vgextend data_vg /dev/sdc1
# 扩展逻辑卷
lvextend -L +20G /dev/data_vg/data_lv
# 调整文件系统大小
resize2fs /dev/data_vg/data_lv
3. 创建快照 #
# 创建逻辑卷的快照
lvcreate -L 5G -s -n data_lv_snapshot /dev/data_vg/data_lv
# 挂载快照进行访问
mkdir -p /mnt/snapshot
mount /dev/data_vg/data_lv_snapshot /mnt/snapshot
注意事项 #
- 在减少逻辑卷大小前,必须先缩小文件系统,否则可能导致数据丢失
- XFS 文件系统只能增大,不能缩小
- 创建快照时,需要确保卷组中有足够的空闲空间
- LVM 操作通常需要 root 权限
- 在生产环境中执行 LVM 操作前,建议先备份重要数据