以下是 Linux 分区、物理卷(PV)、卷组(VG)、逻辑卷(LV)的 详细实操指南,涵盖 初始化、扩容、文件系统调整 等操作。以 LVM 为核心,结合具体案例逐步演示。
一、环境准备
案例场景
- 物理磁盘:假设新增一块磁盘
/dev/sdb,容量为 20GB。
- 目标:将此磁盘初始化为 LVM 结构,创建逻辑卷并挂载到
/data 目录,后续演示扩容操作。
二、LVM 初始化操作
1. 分区或直接使用整块磁盘
- 方式1:直接使用整块磁盘(不分区)
- 方式2:创建分区后使用(推荐)
1 2 3 4 5 6
| sudo parted /dev/sdb (parted) mklabel gpt (parted) mkpart primary 0% 100% (parted) set 1 lvm on (parted) quit sudo pvcreate /dev/sdb1
|
2. 创建卷组(VG)
1 2
| sudo vgcreate vg_data /dev/sdb1 vgdisplay
|
3. 创建逻辑卷(LV)
1 2
| sudo lvcreate -n lv_data -L 10G vg_data lvdisplay
|
4. 格式化并挂载
1 2 3 4 5
| sudo mkfs.xfs /dev/vg_data/lv_data sudo mkdir /data sudo mount /dev/vg_data/lv_data /data echo "/dev/vg_data/lv_data /data xfs defaults 0 0" | sudo tee -a /etc/fstab df -h | grep /data
|
三、LVM 扩容操作
案例1:向卷组(VG)添加新物理卷(PV)
场景:vg_data 空间不足,新增一块磁盘 /dev/sdc。
1. 初始化新磁盘为物理卷
1 2 3
| sudo pvcreate /dev/sdc sudo vgextend vg_data /dev/sdc vgdisplay vg_data
|
2. 扩展逻辑卷(LV)
1 2 3
| sudo lvextend -L +5G /dev/vg_data/lv_data
|
3. 扩展文件系统
- XFS 文件系统:
- EXT4 文件系统:
1
| sudo resize2fs /dev/vg_data/lv_data
|
案例2:在线缩小逻辑卷(谨慎操作!)
注意:XFS 文件系统不支持缩小!EXT4 需先卸载分区。
1 2 3 4 5
| sudo umount /data sudo e2fsck -f /dev/vg_data/lv_data sudo resize2fs /dev/vg_data/lv_data 8G sudo lvreduce -L 8G /dev/vg_data/lv_data sudo mount /dev/vg_data/lv_data /data
|
四、非 LVM 分区扩容(传统方式)
案例场景
将 /dev/sda2 分区(挂载到 /home)从 10G 扩展到 15G,磁盘末尾有未分配空间。
1. 使用 parted 调整分区
1 2 3
| sudo parted /dev/sda (parted) resizepart 2 15GB (parted) quit
|
2. 扩展文件系统
- EXT4:
1
| sudo resize2fs /dev/sda2
|
- XFS:
五、关键命令速查表
| 操作 |
命令 |
| 创建物理卷 |
pvcreate /dev/sdX |
| 创建卷组 |
vgcreate vg_name /dev/sdX |
| 创建逻辑卷 |
lvcreate -n lv_name -L size vg_name |
| 扩展卷组 |
vgextend vg_name /dev/sdY |
| 扩展逻辑卷 |
lvextend -L +size /dev/vg_name/lv_name |
| 扩展文件系统(ext4) |
resize2fs /dev/vg_name/lv_name |
| 扩展文件系统(xfs) |
xfs_growfs /mount_point |
| 查看物理卷 |
pvdisplay |
| 查看卷组 |
vgdisplay |
| 查看逻辑卷 |
lvdisplay |
六、注意事项
- 备份数据:所有磁盘操作均有风险,操作前务必备份重要数据。
- 文件系统兼容性:XFS 不支持缩小,EXT4 缩小需卸载分区。
- 虚拟机操作:扩展虚拟磁盘后,需在系统内通过
parted 调整分区或 LVM。
- 在线扩容:LVM 支持在线扩容(无需重启),但缩小需谨慎。
- 分区对齐:使用
parted 时,确保分区起始位置对齐(默认自动对齐)。
通过以上步骤,您可以灵活管理 Linux 分区的扩容与 LVM 操作。如果仍有疑问,建议在测试环境中模拟操作后再应用到生产环境。