温馨提示×

Linux分卷怎样进行磁盘管理

小樊
31
2025-12-08 02:25:33
栏目: 智能运维

Linux 分卷磁盘管理实战指南

一、概念与适用场景

  • 在 Linux 中,“分卷”通常指两类:
    • 基于分区的传统管理:用 fdisk/parted 对磁盘进行分区,格式化后挂载使用。
    • 基于 LVM(逻辑卷管理):将磁盘或分区做成 PV(物理卷),加入 VG(卷组),再划分 LV(逻辑卷),便于在线扩容与灵活分配。
  • 适用场景建议:
    • 需要后期频繁扩容、跨盘聚合、快照等能力时,优先选择 LVM
    • 结构简单、固定容量需求时,使用 分区 更直接。

二、基于 LVM 的分卷管理步骤

  • 1)准备磁盘或分区
    • 查看磁盘:lsblk、fdisk -l
    • 分区(示例):sudo fdisk /dev/sdX → n 新建 → w 保存
  • 2)创建物理卷 PV
    • 将整盘或分区初始化为 PV:sudo pvcreate /dev/sdX 或 /dev/sdX1
  • 3)创建卷组 VG
    • 将 PV 加入 VG:sudo vgcreate vg_name /dev/sdX1 /dev/sdY1
  • 4)创建逻辑卷 LV
    • 指定大小创建:sudo lvcreate -L 10G -n lv_name vg_name
    • 使用全部剩余空间:sudo lvcreate -l +100%FREE -n lv_name vg_name
  • 5)格式化并挂载
    • 格式化:sudo mkfs.ext4 /dev/vg_name/lv_name(或 mkfs.xfs)
    • 挂载:sudo mount /dev/vg_name/lv_name /mnt/my_lv
  • 6)在线扩容 LV 与文件系统
    • 扩容 LV:sudo lvextend -L +5G /dev/vg_name/lv_name
    • 扩容文件系统:
      • ext2/3/4:sudo resize2fs /dev/vg_name/lv_name
      • xfs:sudo xfs_growfs /mount/point(以挂载点为准)
  • 7)扩容卷组(添加新盘)
    • 初始化新盘为 PV:sudo pvcreate /dev/sdZ
    • 加入 VG:sudo vgextend vg_name /dev/sdZ
    • 再按上步扩容 LV 与文件系统
  • 8)常用查询
    • 查看 PV/VG/LV:pvs、vgs、lvs;详细信息:pvdisplay、vgdisplay、lvdisplay
  • 9)缩容与删除(高风险,务必先备份)
    • 缩容前先检查并缩小文件系统(ext4 可先 resize2fs,xfs 不支持在线缩容)
    • 缩容 LV:sudo lvreduce -L -5G /dev/vg_name/lv_name
    • 删除:sudo lvremove /dev/vg_name/lv_name;sudo vgremove vg_name;sudo pvremove /dev/sdX

三、基于分区的传统管理步骤

  • 1)查看与分区
    • 查看:lsblk、fdisk -l
    • 分区:sudo fdisk /dev/sdX(n 新建 → 选择主/扩展分区 → 设置大小 → w 保存)
  • 2)格式化
    • ext4:sudo mkfs.ext4 /dev/sdX1
    • xfs:sudo mkfs.xfs /dev/sdX1
  • 3)挂载与开机自动挂载
    • 挂载:sudo mkdir -p /mnt/data;sudo mount /dev/sdX1 /mnt/data
    • 自动挂载:编辑 /etc/fstab,添加一行
      • ext4 示例:/dev/sdX1 /mnt/data ext4 defaults 0 2
      • 或使用 UUID(推荐):blkid 获取 UUID,写入 /etc/fstab
  • 4)调整分区大小(示例)
    • parted:sudo parted /dev/sdX → resizepart PART_NUM NEW_END → quit
    • 调整后需相应调整文件系统大小(ext4 可用 resize2fs;xfs 需重新挂载或按场景重建)

四、常用命令速查表

操作 LVM 命令 传统分区命令
查看磁盘/分区 lsblk、fdisk -l lsblk、fdisk -l
初始化存储 pvcreate /dev/sdX 分区:fdisk /dev/sdX
创建卷组 vgcreate vg_name /dev/sdX1
扩展卷组 vgextend vg_name /dev/sdZ
创建逻辑卷 lvcreate -L 10G -n lv_name vg_name
扩展逻辑卷 lvextend -L +5G /dev/vg_name/lv_name
扩容文件系统 resize2fs(ext4);xfs_growfs(xfs) resize2fs(ext4)
挂载 mount /dev/vg_name/lv_name /mnt mount /dev/sdX1 /mnt
开机自动挂载 /etc/fstab 添加条目 /etc/fstab 添加条目
删除资源 lvremove、vgremove、pvremove umount;删除分区表(fdisk/parted)

五、注意事项与最佳实践

  • 操作前务必完整备份重要数据;关键业务建议先在测试环境演练。
  • 扩容顺序务必正确:先扩 LV,再扩 文件系统;缩容需先缩文件系统再缩 LV(且 xfs 不支持在线缩容)。
  • 使用 LVM 时,优先用 UUID/dev/mapper/ 路径在 /etc/fstab 中配置,避免设备名漂移导致挂载失败。
  • 文件系统选择:需要在线扩容与通用性选 ext4;高吞吐与并行 I/O 场景可选 xfs(注意其缩容限制)。
  • 生产环境变更建议在维护窗口进行,并确保有回滚方案(如快照、备份、救援介质)。

0