Linux如何使用parted分区大磁盘_Linux parted大磁盘分区实战

云明君_7495

云明君_7495

2026-04-01

418人浏览

原创

大磁盘必须用gpt,parted是唯一可靠工具:先mklabel gpt,再1mib对齐分区,扩容后需resizepart+partprobe+文件系统扩展,且须验证gpt备份。

linux如何使用parted分区大磁盘_linux parted大磁盘分区实战

大磁盘必须用 GPT,而 parted 是唯一靠谱的创建工具

超过 2TB 的磁盘如果还用 fdisk,分区表写进去也白搭——内核根本认不全,lsblk 显示容量截断、df -h 看不到新增空间,甚至格式化后 mkfs 报 “Invalid argument”。这不是命令输错了,是 MBR 分区表物理上限卡死在 2TB。只有 parted 能可靠初始化 GPT 分区表,且默认行为就适配大磁盘:自动对齐到 1MiB 边界、支持百分比单位、无需手动算扇区。

  • parted /dev/sdb mklabel gpt 是第一步,也是不可跳过的一步;不执行这句就直接 mkpart,它会静默沿用旧的 msdos 表(哪怕设备全新)
  • 别信“parted 默认用 GPT”——它只在检测到磁盘 >2TB 时才提示切换,但不强制,交互式里不敲 mklabel gpt 就还是 MBR
  • 云平台扩容后的磁盘(比如从 20GB 拉到 30GB),必须先用 parted /dev/sdb print 确认 “Disk size” 已更新,否则后续所有操作都作用在旧容量上

分区对齐不是可选项,而是性能生死线

SSD 和现代 RAID 卡的最小 I/O 单位早已不是 512 字节,而是 4K、64K 甚至 64MiB。parted 的 align-check optimal 1 不是摆设,它真能测出你分区起始位置是否落在硬件最佳边界上。对齐错误不会导致无法挂载,但随机读写性能可能跌 40% 以上,监控里 iostat -x 的 await 和 %util 会持续偏高。

  • 起始位置别写 0 或 1 —— 正确写法是 1MiB(注意单位大小写),parted 会自动向上取整到最近对齐点
  • 用 unit MiB 后再 mkpart,比用 GB 更安全:GB 是十进制,MiB 是二进制,混用会导致结尾空隙或越界
  • 执行完 mkpart 后立刻跑 align-check optimal 1,输出 “aligned” 才算过关;若报 “not aligned”,得删掉重来,resizepart 不能修复起始错位

非交互式脚本里,-s 参数有隐藏陷阱

parted -s /dev/sdb mkpart primary 1MiB 100% 看似干净利落,但一旦磁盘型号特殊(比如某些 NVMe-oF 设备或老旧 SAS RAID),-s 会跳过关键确认环节,导致分区表写入失败却无任何报错,print 仍显示空表。这不是 bug,是 parted 对“静默失败”的设计哲学:它宁可不写,也不写错。

  • 自动化部署时,务必在 -s 命令后加一句验证:parted /dev/sdb unit MiB print | grep "1MiB",确保分区行真实存在
  • mkpart 后不要立即 mkfs —— 先 partprobe /dev/sdb 或 udevadm settle,否则内核可能还缓存着旧分区信息,/dev/sdb1 设备节点压根不生成
  • 脚本中避免连续多个 parted -s,改用单次交互式输入: printf "mklabel gpt\nunit MiB\nmkpart primary 1MiB 500GiB\nname 1 data\n" | parted /dev/sdb

扩容时 resizepart 不等于文件系统扩容

很多人以为 parted /dev/sdb resizepart 1 100% 执行完,df -h 就该变大——结果发现挂载点容量纹丝不动。因为 resizepart 只动了分区表,文件系统层(ext4/XFS)完全不知情。尤其 XFS 必须显式调用 xfs_growfs,而 ext4 的 resize2fs 在未卸载时也能在线扩,但前提是分区已就位。

  • 顺序不能错:先 parted resizepart → 再 partprobe → 最后 xfs_growfs /mount/point 或 resize2fs /dev/sdb1
  • 如果 resizepart 报 “Partition is busy”,不是因为挂载着,而是内核没刷新设备状态,先 echo 1 > /sys/block/sdb/device/rescan 再试
  • 对 LVM 物理卷扩容,resizepart 后还得跟 pvresize /dev/sdb1,否则 vgs 不会显示新增空间

最常被忽略的一点:GPT 分区表末尾有备份头,默认放在磁盘最后 33 个逻辑扇区。如果磁盘扩容后没重新写入 GPT 备份(parted 通常自动做),突然断电可能导致分区表永久损坏——所以扩容后建议手动 parted /dev/sdb rescue 0 -1 快速验证备份区可读。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end='\n', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.27

2640

5

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

2026.02.03

249

24

printf用法大全
printf用法大全

php中文网为大家提供printf用法大全,以及其他printf函数的相关文章、相关下载资源以及各种相关课程,供大家免费下载体验。

2023.06.20

708

5

fprintf和printf的区别
fprintf和printf的区别

fprintf和printf的区别在于输出的目标不同,printf输出到标准输出流,而fprintf输出到指定的文件流。根据需要选择合适的函数来进行输出操作。更多关于fprintf和printf的相关文章详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.28

1009

10

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3910

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3353

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2493

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6030

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5662

7

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习