LVM 逻辑卷管理:Linux 磁盘扩容不重装

## 痛点

服务器磁盘满了,又不想重装系统。加了一块新硬盘,但应用程序的目录在旧磁盘上,不能无缝扩容。LVM(Logical Volume Manager)就是用来解决这个问题的。

## 核心概念

- **PV(Physical Volume)**:物理卷,就是你的硬盘或分区
- **VG(Volume Group)**:卷组,把多个 PV 组合成一个池
- **LV(Logical Volume)**:逻辑卷,从 VG 中划分,可以动态扩容

## 创建 LVM

```bash
pvcreate /dev/sdb
vgcreate vg_data /dev/sdb
lvcreate -l 100%FREE -n lv_data vg_data
mkfs.ext4 /dev/vg_data/lv_data
mkdir /data
mount /dev/vg_data/lv_data /data
```

## 扩容逻辑卷

场景:`/data` 空间不够了,加了一块新硬盘 /dev/sdc。

```bash
pvcreate /dev/sdc
vgextend vg_data /dev/sdc
lvextend -L +100G /dev/vg_data/lv_data
resize2fs /dev/vg_data/lv_data # 在线扩容,无需卸载!
```

全过程数据不丢失,服务不中断。

## 快照功能

```bash
lvcreate -L 10G -s -n lv_data_snap /dev/vg_data/lv_data
mount /dev/vg_data/lv_data_snap /mnt/snap
tar -czf /backup/data_backup.tar.gz -C /mnt/snap .
umount /mnt/snap
lvremove /dev/vg_data/lv_data_snap
```

## 常用命令速查

| 命令 | 功能 |
|------|------|
| pvs | 查看物理卷 |
| vgs | 查看卷组 |
| lvs | 查看逻辑卷 |
| vgextend | 扩展卷组 |
| lvextend | 扩展逻辑卷 |

如果你用云服务器,大多数云厂商的系统镜像已经默认使用 LVM。了解 LVM 的基本操作,是运维的基本功。

💬 暂无评论