温馨提示×

如何使用Linux进行磁盘分卷操作

小樊
45
2025-11-22 08:56:35
栏目: 智能运维

Linux磁盘分卷操作指南

一、概念与准备

  • 在 Linux 中,“分卷”常见两类做法:
    • 传统分区:用 fdisk/parted 对磁盘进行分区,格式化后挂载使用。
    • LVM(逻辑卷管理):将磁盘或分区做成 PV(物理卷),加入 VG(卷组),再划分 LV(逻辑卷),便于在线扩容与灵活管理。
  • 操作前务必确认目标磁盘或分区(如 /dev/sdX、/dev/sdXY),并先做好数据备份
  • 常用查看命令:lsblk、fdisk -l、df -h、pvs、vgs、lvs、vgdisplay、lvdisplay

二、方案一 传统分区方式(fdisk 或 parted)

  • 步骤概览:
    1. 查看磁盘与分区:lsblk、fdisk -l
    2. 创建分区:
      • 使用 fdisk /dev/sdX:交互中输入 n 新建分区,选择主/扩展分区与大小,最后 w 保存。
      • 或使用 parted /dev/sdX:如执行 mkpart primary ext4 1MiB 10GiB 创建分区,再 print 查看、quit 退出。
    3. 格式化文件系统:如 mkfs.ext4 /dev/sdXY(或 mkfs.xfs /dev/sdXY)。
    4. 挂载使用:创建目录 mkdir -p /mnt/data,挂载 mount /dev/sdXY /mnt/data
    5. 开机自动挂载:编辑 /etc/fstab,添加一行(示例):
      • ext4:/dev/sdXY /mnt/data ext4 defaults 0 2
      • xfs:/dev/sdXY /mnt/data xfs defaults 0 2 为避免设备名变动,推荐用 UUIDLABEL 替代 /dev/sdXY。
    6. 调整分区大小(谨慎):使用 partedresizepart PART_NUMBER NEW_END 调整分区结束位置;随后用文件系统工具(如 resize2fs/xfs_growfs)调整文件系统到新分区大小。

三、方案二 LVM方式(推荐,便于后续扩容)

  • 步骤概览:
    1. 准备磁盘/分区:识别新盘(如 /dev/sdb),必要时用 fdisk/parted 创建分区(类型选择 Linux LVM 更规范)。
    2. 创建物理卷:pvcreate /dev/sdb1(或整盘 /dev/sdb)。
    3. 创建卷组:vgcreate vg_data /dev/sdb1(可同时加入多块盘/分区)。
    4. 创建逻辑卷:lvcreate -L 10G -n lv_data vg_data(也可用 -l 100%FREE 占满卷组)。
    5. 格式化文件系统:mkfs.ext4 /dev/vg_data/lv_data(或 mkfs.xfs /dev/vg_data/lv_data)。
    6. 挂载使用:mkdir -p /data && mount /dev/vg_data/lv_data /data
    7. 开机自动挂载:编辑 /etc/fstab,建议使用 UUID(可通过 blkid 获取),示例:
      • ext4:UUID=xxxx-xxxx /data ext4 defaults 0 2
      • xfs:UUID=xxxx-xxxx /data xfs defaults 0 2
    8. 在线扩容(最常见场景):
      • 卷组有空闲空间:先扩 LV:lvextend -L +10G /dev/vg_data/lv_data(或 -l +100%FREE 用尽剩余空间);再扩文件系统:
        • ext2/ext3/ext4:resize2fs /dev/vg_data/lv_data
        • xfs:xfs_growfs /data(XFS 对挂载点操作)
      • 卷组空间不足:先新增磁盘/分区并做成 PVpvcreate /dev/sdc1;再扩卷组:vgextend vg_data /dev/sdc1;随后按上步扩 LV 与文件系统。
    9. 缩容(风险高,务必先备份并卸载):先调整文件系统到目标大小(ext4 用 resize2fs,XFS 不支持在线缩容),再缩 LV:lvreduce -L -10G /dev/vg_data/lv_data;最后检查挂载。

四、常用命令速查表

操作 命令示例
查看磁盘/分区 lsblk、fdisk -l
传统分区 fdisk /dev/sdX;或 parted /dev/sdX mkpart primary ext4 1MiB 10GiB
创建 PV pvcreate /dev/sdb1
创建 VG vgcreate vg_data /dev/sdb1
创建 LV lvcreate -L 10G -n lv_data vg_data
扩展 LV lvextend -L +10G /dev/vg_data/lv_data-l +100%FREE
扩展文件系统 ext4:resize2fs /dev/vg_data/lv_data;xfs:xfs_growfs /data
扩 VG vgextend vg_data /dev/sdc1
格式化 mkfs.ext4 /dev/sdXYmkfs.xfs /dev/sdXY
挂载 mount /dev/vg_data/lv_data /data
开机自动挂载 /etc/fstab 添加条目(优先用 UUID
查看信息 pvs、vgs、lvs、vgdisplay、lvdisplay

五、注意事项与最佳实践

  • 操作前务必备份重要数据;对系统盘操作风险更高,建议在维护窗口进行,并确保有控制台/救援环境可回滚。
  • 使用 LVM 能获得更好的弹性与可扩展性;传统分区适合简单、固定容量场景。
  • 文件系统选择:需要在线扩容优先 ext4/xfsXFS 不支持在线缩容,缩容需离线并严格按流程执行。
  • 生产环境建议用 UUID/LABEL 配置 /etc/fstab,避免设备名变化导致挂载失败。
  • 扩容顺序务必正确:先扩 LV,再扩文件系统;缩容则相反,且必须先缩文件系统再缩 LV。

0