
Linux 硬盘分区管理完全指南GPT 分区、gdisk、parted、持久化挂载与软 RAID 实战文章目录Linux 硬盘分区管理完全指南GPT 分区、gdisk、parted、持久化挂载与软 RAID 实战前言一、GPT 分区方案详解1\.1 为什么选择 GPT1\.2 GPT 分区表结构二、gdisk 工具GPT 分区专用管理工具2\.1 查看磁盘分区表2\.2 MBR 转 GPT 分区表2\.3 创建 GPT 分区2\.4 修改分区名称2\.5 查看分区详细信息2\.6 删除分区三、wipefs 工具分区表清理工具3\.1 查看磁盘签名3\.2 清除磁盘分区表四、parted 工具MBR/GPT 通用分区工具4\.1 基础交互命令4\.2 管理 MBR 磁盘创建 MBR 分区表创建主分区调整分区大小删除分区4\.3 管理 GPT 磁盘创建 GPT 分区表创建 GPT 分区4\.4 非交互式操作脚本化五、文件系统持久化挂载5\.1 环境准备5\.2 /etc/fstab 配置详解5\.3 取消持久化六、磁盘空间不足排查实战6\.1 场景 1大文件占用空间6\.2 场景 2文件已删除但空间未释放6\.3 场景 3inode 耗尽七、Linux 软 RAID 技术详解7\.1 主流 RAID 级别对比7\.2 RAID0 配置实战7\.3 RAID1 配置实战7\.4 RAID5 配置实战前言在 Linux 运维工作中硬盘分区管理是最基础也最核心的技能之一。随着大容量硬盘普及传统 MBR 分区方案的局限性愈发明显GPT 分区逐渐成为主流同时 RAID 技术也为数据可靠性、存储性能提供了成熟的解决方案。本文将从理论到实操系统讲解 GPT 分区结构、gdisk/parted 分区工具、文件系统持久化挂载、磁盘空间问题排查以及 mdadm 管理软 RAID 的完整流程覆盖日常运维 90% 以上的磁盘管理场景。一、GPT 分区方案详解1.1 为什么选择 GPTMBR主引导记录是传统分区方案存在两个先天瓶颈容量限制最大仅支持 2TiB 磁盘无法适配大容量硬盘分区数量限制最多 4 个主分区即便通过扩展分区拆分逻辑分区总数也存在上限GPT全局唯一标识分区表是 UEFI 固件标准下的新一代分区格式彻底解决了 MBR 的局限最大支持 18ZiB 的磁盘 / 分区容量使用 64 位存储扇区总数默认支持最多 128 个主分区无需扩展分区概念自带分区表冗余头部 尾部各存一份损坏后可恢复内置 CRC 校验可检测分区表完整性1.2 GPT 分区表结构GPT 分区表按 LBA逻辑块地址划分核心分为三个区域LBA0保护性 MBR前 446 字节保留引导代码区域兼容传统 BIOS 启动分区表区域标记为0xEE特殊类型老版本磁盘工具识别后不会误修改分区起到保护作用LBA1GPT 表头记录分区表自身的位置、大小记录备份 GPT 分区表的位置磁盘尾部存储分区表 CRC 校验值用于校验数据完整性LBA2 ~ LBA33分区条目区共 32 个 LBA 存储分区记录每个 LBA 存放 4 条分区记录每条分区记录占 128 字节默认共 128 个分区条目每条记录用 64 位存储分区扇区总数支持超大分区注意实际生产中分区数量不建议超过 120 个部分文件系统工具可能存在兼容性问题。二、gdisk 工具GPT 分区专用管理工具gdisk 是专门用于 GPT 分区的命令行工具操作逻辑与 fdisk 类似是管理大容量 GPT 磁盘的首选工具。2.1 查看磁盘分区表gdisk-l/dev/sdb如果磁盘当前是 MBR 格式gdisk 会提示内存转换仅用于查看不会修改磁盘。2.2 MBR 转 GPT 分区表警告转换操作会清空原有分区表数据将无法直接访问操作前务必备份数据gdisk /dev/sdb进入交互模式后执行输入o创建空的 GPT 分区表输入p预览当前分区表状态输入w写入更改并退出输入Y确认危险操作2.3 创建 GPT 分区进入 gdisk 交互模式gdisk /dev/sdb操作步骤输入n新建分区分区编号直接回车使用默认值从 1 开始起始扇区直接回车默认从 2048 扇区开始保证 4K 对齐结束扇区输入2G表示创建 2GB 分区支持 K/M/G/T/P 单位分区类型直接回车默认8300Linux 文件系统常用分区类型代码代码含义8300Linux 普通文件系统8200Linux 交换分区8e00Linux LVM 物理卷ef00EFI 系统分区fd00Linux RAID创建完成后输入p查看分区确认无误输入w保存。2.4 修改分区名称GPT 分区支持自定义分区名便于管理输入c选择分区号输入新名称如data01p查看效果2.5 查看分区详细信息输入i选择分区号可查看分区 GUID、唯一标识、起止扇区、属性标记、分区名称等完整信息。2.6 删除分区输入d选择分区号p确认后w保存三、wipefs 工具分区表清理工具wipefs 用于查看、清除磁盘上的文件系统 / 分区表签名是重置磁盘的常用工具。3.1 查看磁盘签名wipefs /dev/sdb3.2 清除磁盘分区表警告该操作会清除分区表元数据数据将无法直接访问谨慎操作。# 清除未挂载磁盘的分区表wipefs-a/dev/sdb不建议使用-f强制清除已挂载磁盘的分区表会导致系统异常。四、parted 工具MBR/GPT 通用分区工具parted 同时支持 MBR 和 GPT 两种分区方案支持交互式和非交互式两种模式适合脚本自动化分区。注意parted 的大部分操作会实时写入磁盘无需额外保存操作前务必确认磁盘。4.1 基础交互命令进入交互模式parted/dev/sdb常用基础命令help查看帮助print查看当前分区表unit MiB设置显示单位为 MiB推荐避免进制混淆quit退出4.2 管理 MBR 磁盘创建 MBR 分区表mklabel msdos# 输入 y 确认创建主分区mkpart# 分区类型primary# 文件系统类型xfs# 起始位置1# 结束位置2049调整分区大小# 将1号分区末尾调整到4097MiBresizepart14097删除分区rm14.3 管理 GPT 磁盘创建 GPT 分区表mklabel gpt# 输入 y 确认创建 GPT 分区mkpart# 分区名称data01# 文件系统类型xfs# 起始位置1# 结束位置2049扩容、删除操作与 MBR 模式完全一致。4.4 非交互式操作脚本化无需进入交互模式单条命令完成操作适合编写自动化脚本。# 创建GPT分区表parted/dev/sdb mklabel gpt# 查看分区指定单位为MiBparted/dev/sdb unit MiB print# 创建分区parted/dev/sdb unit MiB mkpart data01 xfs12049# 扩容分区parted/dev/sdb unit MiB resizepart15121# 删除分区parted/dev/sdbrm1五、文件系统持久化挂载分区创建后需要格式化文件系统并挂载才能使用默认挂载重启后失效需配置/etc/fstab实现开机自动挂载。5.1 环境准备# 创建GPT分区parted/dev/sdb mklabel gptparted/dev/sdb unit MiB mkpart data01 xfs12049# 格式化为xfs文件系统mkfs.xfs /dev/sdb1# 如磁盘已有文件系统强制格式化mkfs.xfs-f/dev/sdb15.2 /etc/fstab 配置详解fstab 每行由 6 个字段组成用空格分隔字段序号说明第 1 字段设备标识推荐使用 UUID稳定不随盘符变化第 2 字段挂载点目录需提前创建第 3 字段文件系统类型如 xfs、ext4、swap第 4 字段挂载参数默认defaults即可第 5 字段dump 备份标记0 表示不备份第 6 字段fsck 检查顺序xfs 设为 0根分区 ext4 设为 1其他 ext4 设为 2操作步骤获取分区 UUIDblkid /dev/sdb1输出示例/dev/sdb1: UUIDf5c35f10-0274-45af-b044-73694989fe01 TYPExfs PARTLABELdata01 PARTUUID432d7d79-1a08-4429-bf38-7ab1444a0ab9创建挂载点mkdir/data01编辑 fstab 文件vim/etc/fstab末尾添加一行UUIDf5c35f10-0274-45af-b044-73694989fe01 /data01 xfs defaults 0 0验证挂载# 读取fstab进行挂载mount/data01# 查看挂载状态df-h/data01配置完成后建议重启系统验证自动挂载是否生效。5.3 取消持久化删除/etc/fstab中对应行执行umount /data01卸载即可。六、磁盘空间不足排查实战生产环境中磁盘空间告警是高频问题主要分为三类典型场景。6.1 场景 1大文件占用空间现象磁盘使用率接近 100%整体容量被占满。排查方法# 方法1查找指定目录下大于100M的文件find/myapp-1-size100M# 方法2按目录大小排序定位大目录du-s/myapp-1/*|sort-n|tail-5解决确认文件无用后使用rm删除即可释放空间。6.2 场景 2文件已删除但空间未释放现象执行 rm 删除大文件后df 查看空间没有释放。原因文件被运行中的进程打开占用删除后内核不会立即释放磁盘空间。排查lsof|grepdelete|grep/myapp-1解决正常方式终止占用进程kill 进程号安全方式先清空文件内容再删除 bigfile rm -f bigfile避免进程异常6.3 场景 3inode 耗尽现象磁盘容量还有剩余但无法创建新文件提示设备上没有空间。原因大量小文件占满了 inode每个文件占用一个 inode。排查df-i/myapp-2解决清理无用小文件释放 inode合并大量小文件减少 inode 占用拓展彻底擦除硬盘数据可使用dd if/dev/zero of/dev/sdb逻辑填充或物理消磁。七、Linux 软 RAID 技术详解RAID独立磁盘冗余阵列通过多块磁盘组合实现性能提升、数据冗余。Linux 下通过 mdadm 工具实现软 RAID无需额外硬件卡。7.1 主流 RAID 级别对比RAID 级别最小磁盘数容错能力空间利用率读取性能写入性能适用场景RAID02无100%很高很高视频剪辑、临时缓存性能优先、数据可丢失RAID12允许坏 1 块50%高低系统盘、关键数据可靠性优先RAID53允许坏 1 块(N-1)/N较高一般文件服务器、中小型业务均衡性价比RAID64允许坏 2 块(N-2)/N较高较低大容量存储、长时间运行业务RAID104每组允许坏 1 块50%高中数据库、虚拟化平台性能与可靠性兼顾RAID506每组允许坏 1 块(N - 组数)/N高中大规模数据存储RAID608每组允许坏 2 块(N-2 * 组数)/N高中超大规模存储极高可靠性需求7.2 RAID0 配置实战RAID0 条带化无冗余读写性能最高。# 安装工具yuminstall-ymdadm# 创建RAID02块磁盘mdadm--create/dev/md0--level0--raid-devices2/dev/sdb /dev/sdc# 查看状态cat/proc/mdstatmdadm--detail/dev/md0# 格式化挂载mkfs.xfs /dev/md0mkdir-p/raid/raid0mount/dev/md0 /raid/raid0# 删除RAIDumount/dev/md0mdadm--stop/dev/md0mdadm--zero-superblock /dev/sdb /dev/sdcRAID0 无法添加新成员盘无法强制标记磁盘故障。7.3 RAID1 配置实战RAID1 镜像完整数据冗余容量减半。# 创建RAID1mdadm--create/dev/md1--level1--raid-devices2/dev/sdb /dev/sdc# 提示时输入 yes 确认# 查看同步进度mdadm--detail/dev/md1|grepResync# 加热备盘mdadm--add/dev/md1 /dev/sdd# 模拟磁盘故障mdadm--fail/dev/md1 /dev/sdc# 热备盘会自动顶替并开始重建# 移除故障盘mdadm--remove/dev/md1 /dev/sdc# 删除RAIDumount/dev/md1mdadm--stop/dev/md1mdadm--zero-superblock /dev/sd{b..d}7.4 RAID5 配置实战RAID5 分布式奇偶校验性价比最高的冗余方案。# 创建RAID54块数据盘mdadm--create/dev/md5--level5--raid-devices4/dev/sd{b..e}# 等待重建完成后格式化挂载mkfs.xfs /dev/md5mkdir/raid/raid5mount/dev/md5 /raid/raid5# 加热备盘mdadm--add/dev/md5 /dev/sdf# 模拟故障mdadm--fail/dev/md5 /dev/sdb# 热备盘自动顶替重建# RAID扩容增加成员盘mdadm--add/dev/md5 /dev/sdgmdadm--grow/dev/md5 --raid-devices5# 等待reshape完成后扩容文件系统xfs_growfs /raid/raid5# 删除RAIDumount/dev/md5mdadm--stop/dev/md5mdadm--zero-superblock /dev/sd{b..g}监控磁盘读写负载可使用sar -dp 1查看 % util、读写扇区等指标。