温馨提示×

Linux分卷怎样优化磁盘空间使用

小樊
34
2025-12-06 02:59:29
栏目: 云计算

Linux 分卷优化磁盘空间使用的实用方案

一、用 LVM 提升空间利用率的核心思路

  • 通过 LVM(逻辑卷管理) 将多块磁盘聚合成 卷组 VG,按需切分 逻辑卷 LV,避免传统分区“分死”的问题。
  • 空间不足时,先从 VG 空闲空间给 LV 在线扩容;若 VG 不足,新增磁盘创建 PV 后加入 VG 再分配。
  • 需要回收空间时,先对文件系统做离线缩容,再缩 LV;缩容顺序务必为:检查文件系统 → 缩小文件系统 → 缩小 LV
  • 典型对象与命令:PV(pvcreate/pvdisplay)VG(vgcreate/vgextend/vgdisplay)LV(lvextend/lvreduce/lvdisplay)

二、在线扩容的标准流程

  • 场景 A(VG 内还有空闲 PE):
    1. 查看:df -h、lvs、vgs
    2. 扩容 LV:lvextend -L +50G /dev/vg0/lv_data(或 -l +100%FREE 用尽空闲)
    3. 扩容文件系统:
      • ext2/3/4:resize2fs /dev/vg0/lv_data
      • xfs:xfs_growfs /mount/point(XFS 按挂载点扩)
  • 场景 B(VG 已满,新增磁盘):
    1. 分区并设类型:fdisk /dev/sdb → t → 8e(Linux LVM) → w
    2. 通知内核:partprobe /dev/sdb
    3. 创建 PV/VG/LV:pvcreate /dev/sdb1 → vgextend vg0 /dev/sdb1 → lvextend -L +100G /dev/vg0/lv_data
    4. 扩文件系统(同上)
  • 要点:ext4 可在线扩;XFS 仅支持在线扩容,不支持在线缩容

三、安全缩容与空间回收

  • 原则:缩容前必须确保 文件系统已缩小到目标大小或更小,否则会损坏数据。
  • 步骤(以 ext4 为例):
    1. 卸载:umount /data
    2. 强制检查:e2fsck -f /dev/vg0/lv_data
    3. 缩文件系统:resize2fs /dev/vg0/lv_data 20G
    4. 缩 LV:lvreduce -L 20G /dev/vg0/lv_data
    5. 重新挂载:mount /data;核对:df -h
  • 风险提示:缩容有数据风险,务必先备份XFS 不支持缩容,如需缩容应先备份、重建为 ext4 或迁移数据。

四、空间回收与迁移的高级操作

  • 磁盘退役/更换:
    1. 数据迁移:pvmove /dev/sdb1(将 PV 上数据迁走)
    2. 从 VG 移除:vgreduce vg0 /dev/sdb1
    3. 清理:pvremove /dev/sdb1
  • 跨 LV 调整空间(示例:从 /home 回收空间给 /):
    1. 卸载 /home:umount /home
    2. 缩 /home 文件系统:resize2fs -p /dev/mapper/vg0-lv_home 20G
    3. 缩 /home LV:lvreduce -L 20G /dev/mapper/vg0-lv_home
    4. 扩 / LV:lvextend -L +200G /dev/mapper/vg0-lv_root
    5. 扩 / 文件系统:resize2fs /dev/mapper/vg0-lv_root
    6. 挂载 /home 并核对:mount /home && df -h
  • 故障与启动修复要点:
    • 无法卸载时用 fuser -m /mount 查占用并终止;
    • 启动异常可进 救援/单用户修复,必要时 fsck 检查;
    • /etc/fstab 挂载项错误会导致无法启动,必要时以 rw 模式挂载后注释问题行。

五、容量规划与文件系统选择

  • 分区建议:/boot ≈ 500MSwap ≈ 内存 1–1.5 倍,通常不超过 8G/ ≥ 50G/home 按业务实际分配并预留余量。
  • 文件系统:>2TB 磁盘优先 XFS;通用场景 ext4 成熟可靠。
  • 分区表:<2TB 可用 MBR;需要更大容量或更多分区时使用 GPT

0