Linux分卷如何管理空间
小樊
41
2025-12-19 23:41:06
Linux 分卷空间管理指南
一、核心概念与适用场景
- 使用 LVM(Logical Volume Manager) 将多块磁盘/分区抽象为一个可灵活分配的存储池,核心抽象为:PV(物理卷)、VG(卷组)、LV(逻辑卷)。
- PV 可以是整块磁盘或分区;多个 PV 组成 VG,在 VG 上按需创建 LV;LV 之上再创建文件系统(如 ext4、xfs)。
- PE/LE 是最小分配单位,默认 PE=4MiB,同一 VG 内 LE 与 PE 大小一致并一一映射。
- 优势:容量可在线扩容、无需连续空间、支持快照/迁移等,适合服务器与需要弹性的场景。
- 风险:配置与管理复杂度更高;若未结合冗余(如 RAID),单盘故障可能影响整个 VG。
二、常用空间管理操作
- 查看与评估
- 查看空间与挂载:df -h
- 查看卷组/逻辑卷:vgdisplay、lvdisplay
- 扫描可用设备:lvmdiskscan
- 扩容(最常见)
- 加新盘并初始化:pvcreate /dev/sdX
- 扩充卷组:vgextend /dev/sdX
- 扩充逻辑卷:
- 指定容量:lvextend -L +20G /dev//
- 用尽剩余空间:lvextend -l +100%FREE /dev//
- 扩展文件系统:
- ext2/3/4:resize2fs /dev//
- xfs:xfs_growfs /mount/point(以挂载点为准)
- 缩容(风险高,务必先备份)
- 先检查并缩小文件系统到目标大小(离线/只读更稳妥)
- 缩小逻辑卷:lvreduce -L -10G /dev//
- 视需要回收空间或做数据迁移
- 在线调整与迁移
- 多数 LV/VG 操作支持在线进行;可在运行中完成扩容。
- 支持在线数据迁移(如更换磁盘)以降低停机时间。
- 快照与回滚
- 创建快照:lvcreate -s -L 5G -n /dev//(用于备份/测试)
- 快照用毕及时移除:lvremove /dev//。
三、典型场景与命令清单
- 新盘并入并扩容到根分区(ext4 示例)
- 分区并设类型(MBR 类型 8e;GPT 类型 8e00)
- pvcreate /dev/sdb1
- vgextend /dev/sdb1
- lvextend -l +100%FREE /dev//root
- resize2fs /dev//root
- 新建 LV 并挂载为 /home
- lvcreate -L 100G -n home
- mkfs.ext4 /dev//home
- 挂载:mount /dev//home /home
- 开机自动挂载(推荐用 UUID):
- 获取 UUID:blkid /dev//home
- 写入 /etc/fstab:UUID= /home ext4 defaults 0 2
- 迁移目录到新 LV(以 /home 为例)
- 按上节创建并挂载新 LV 到临时目录(如 /mnt/home)
- 同步数据:rsync -aAX --info=progress2 /home/ /mnt/home/
- 核对无误后切换:
- 备份原目录:mv /home /home.bak
- 挂载新 LV:mount /dev//home /home
- 验证后删除备份
- 更新 /etc/fstab 使用 UUID 固定挂载。
四、风险与最佳实践
- 操作前务必完整备份;缩容前先缩小文件系统,避免数据损坏。
- 生产环境优先使用 LVM + 冗余(如 RAID1/RAID10),避免单盘故障波及整个 VG。
- 使用 UUID 配置 /etc/fstab,避免设备名变化导致挂载异常。
- 对关键业务,建议在维护窗口或LiveCD/救援环境执行复杂变更;变更后及时 df/lsblk/vgdisplay/lvdisplay 校验。
- 快照仅作短期备份/测试,使用完及时删除,避免占用 VG 空间。