以下是 CentOS 7 下 LVM(Logical Volume Manager)逻辑卷管理的实战配置案例,涵盖常见操作场景和详细命令说明:
一、LVM 核心概念
| 组件 | 作用 |
|---|---|
| PV(Physical Volume) | 物理卷(如 /dev/sdb 硬盘或分区),是 LVM 的底层物理存储单元 |
| VG(Volume Group) | 卷组,由多个 PV 组成,作为存储池 |
| LV(Logical Volume) | 逻辑卷,从 VG 中划分的逻辑存储单元,可格式化并挂载使用 |
| PE(Physical Extent) | 物理扩展块(默认 4MB),是 LVM 的最小存储单元 |
二、实战案例演示
场景 1:初始创建 LVM 逻辑卷
目标:将新硬盘 /dev/sdb 配置为 LVM 逻辑卷并挂载到 /data。
步骤 1:创建物理卷 (PV)
# 查看可用磁盘
lsblk
# 创建物理卷
pvcreate /dev/sdb
# 查看 PV 信息
pvs
步骤 2:创建卷组 (VG)
# 创建名为 vg_data 的卷组,并指定 PE 大小为 16MB(可选)
vgcreate -s 16M vg_data /dev/sdb
# 查看 VG 详细信息
vgs
vgdisplay vg_data
步骤 3:创建逻辑卷 (LV)
# 创建名为 lv_storage 的逻辑卷,分配 50G 空间
lvcreate -L 50G -n lv_storage vg_data
# 查看 LV 信息
lvs
步骤 4:格式化并挂载
# 格式化为 ext4 文件系统
mkfs.ext4 /dev/vg_data/lv_storage
# 创建挂载点并挂载
mkdir /data
mount /dev/vg_data/lv_storage /data
# 设置开机自动挂载
echo "/dev/vg_data/lv_storage /data ext4 defaults 0 0" >> /etc/fstab
场景 2:扩展逻辑卷空间
目标:将现有逻辑卷 /dev/vg_data/lv_storage 从 50G 扩容至 80G。
步骤 1:扩展逻辑卷
# 扩展 LV 大小(+30G)
lvextend -L +30G /dev/vg_data/lv_storage
# 调整文件系统大小(ext4 适用)
resize2fs /dev/vg_data/lv_storage
# 若使用 xfs 文件系统:
# xfs_growfs /data
验证扩展
df -h /data # 查看挂载点容量
场景 3:添加新硬盘到现有卷组
目标:将新硬盘 /dev/sdc 添加到 vg_data 卷组并扩展逻辑卷。
步骤 1:扩展卷组
# 创建新物理卷
pvcreate /dev/sdc
# 将 PV 加入现有 VG
vgextend vg_data /dev/sdc
# 查看 VG 可用空间
vgdisplay vg_data
步骤 2:扩展逻辑卷
# 扩展 LV 占用全部剩余空间
lvextend -l +100%FREE /dev/vg_data/lv_storage
# 调整文件系统
resize2fs /dev/vg_data/lv_storage
场景 4:创建 LVM 快照(备份)
目标:为 /dev/vg_data/lv_storage 创建快照用于临时备份。
步骤 1:创建快照卷
# 创建 10G 快照卷(需确保 VG 有足够空间)
lvcreate -L 10G -s -n lv_storage_snap /dev/vg_data/lv_storage
步骤 2:挂载快照
mkdir /mnt/snap
mount /dev/vg_data/lv_storage_snap /mnt/snap
步骤 3:删除快照
umount /mnt/snap
lvremove /dev/vg_data/lv_storage_snap
场景 5:缩减逻辑卷(高危操作!)
目标:将逻辑卷从 80G 缩减至 60G(仅限 ext2/3/4 文件系统)。
步骤 1:卸载文件系统并检查
umount /data
e2fsck -f /dev/vg_data/lv_storage
步骤 2:缩减文件系统
resize2fs /dev/vg_data/lv_storage 60G
步骤 3:缩减逻辑卷
lvreduce -L 60G /dev/vg_data/lv_storage
mount /dev/vg_data/lv_storage /data
三、常用命令速查
| 命令 | 功能 |
|---|---|
pvcreate /dev/sdX |
创建物理卷 |
vgcreate vg_name /dev/sdX |
创建卷组 |
lvcreate -L 20G -n lv_name vg_name |
创建逻辑卷 |
vgextend vg_name /dev/sdY |
扩展卷组 |
lvextend -L +10G /dev/vg_name/lv_name |
扩展逻辑卷 |
lvremove /dev/vg_name/lv_name |
删除逻辑卷 |
四、注意事项
- 数据备份:
在缩减逻辑卷或删除操作前,务必备份重要数据。 - 文件系统兼容性:
XFS 文件系统 不支持缩减,仅能扩展。 - 快照卷空间:
快照卷大小需足够存储原卷在快照期间的变化数据。 - RAID 与 LVM:
建议在硬件/软件 RAID 之上配置 LVM 以提高可靠性。
通过以上实战案例,可灵活管理 CentOS 7 的存储资源。建议在测试环境中验证操作后再应用于生产环境。
浙公网安备 33010602011771号