跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Linux怎么使用parted分区_Linux如何管理大于2TB的磁盘【技巧】

parted是大于2TB磁盘的首选分区工具,因其原生支持GPT、直接处理超大扇区地址、内置对齐检查、支持直观相对语法及脚本化操作。 超过2TB的磁盘不能用
fdisk
分区,必须用
parted
gdisk
创建 GPT 分区表;否则最多只能分出 2TB,剩余空间不可见、不可用。 为什么
parted
是大于2TB磁盘的首选分区工具
parted
原生支持 GPT,无需额外切换模式,能直接处理超大扇区地址(如 20TB 磁盘的 42965401600 个扇区),而
fdisk
在 MBR 模式下受限于 32 位 LBA 寻址,理论上限就是 2TB。 它还内置对齐检查(
optimal
对齐策略),避免因扇区未对齐导致 I/O 性能下降——这点在 SSD 或 NVMe 盘上尤为明显。
parted
mkpart
命令可直接指定起止位置(支持
+500GB
-1
这类相对语法),比
gdisk
的扇区编号更直观 不依赖交互式菜单:整套操作可写成脚本,适合自动化部署(比如云服务器初始化) 但注意:
parted
执行命令后立即写入磁盘,没有“确认保存”步骤,误操作无法回退
parted /dev/sdb
创建 GPT 分区的最小可靠流程 以新挂载的 20TB 磁盘
/dev/sdb
为例,执行以下操作:
sudo parted /dev/sdb (parted) mklabel gpt (parted) mkpart primary ext4 1MiB 100% (parted) align-check optimal 1 (parted) q
关键点说明:
mklabel gpt
必须第一步执行——它会清空原有分区表,包括隐藏的 MBR 签名,否则后续
mkpart
可能失败或静默忽略
mkpart primary ext4 1MiB 100%
中的
1MiB
是为对齐留出的起始偏移(避开传统 512B 扇区边界),
100%
表示用尽全部剩余空间,比手算扇区数安全
align-check optimal 1
验证第 1 个分区是否对齐,返回
1 aligned
才算合格;若提示
not aligned
,需删掉重做(
rm 1
parted
gdisk
在实际使用中的核心差异 两者都能建 GPT,但行为逻辑不同:
parted
默认按“字节”或“%”单位操作,输入
mkpart primary 0 20TB
会被拒绝,必须用
100%
或带单位的
+20TB
(需版本 ≥3.3)
gdisk
强制按扇区编号(sector),
n
后要手动输起始/结束扇区号,容易算错;但它有
l
命令列出所有可用类型,对需要指定
EFI System
Linux RAID
类型的场景更可控
parted
不显示分区类型 ID(如 EF00、8E00),所有分区默认为
0FC63DAF-8483-4772-8E79-3D69D8477DE4
(Linux filesystem),如需特定类型(如 swap),得用
set 1 boot on
或后续
mkswap
如果磁盘已存在数据且你只想扩容现有分区,
parted
resizepart
gdisk
更直接,但务必先卸载文件系统并用
e2fsck
校验 挂载前最容易被跳过的三件事 分区完成 ≠ 可用。漏掉任一环节都会导致
mount: wrong fs type
device is busy
: 用
lsblk
确认新分区设备名是
/dev/sdb1
(不是
/dev/sdb
)——GPT 下设备名不会自动更新,有时需
partprobe /dev/sdb
或重启内核识别 格式化必须用支持大容量的工具:
mkfs.ext4 -T largefile /dev/sdb1
-T largefile
优化 inode 分布),而不是默认参数,否则小文件多时元数据易耗尽
/etc/fstab
中推荐用 UUID 而非设备名:
UUID=xxxx /data ext4 defaults 0 2
;因为云环境热插拔或多盘时,
sdb
可能下次变成
sdc
,导致开机卡住 真正麻烦的不是分区本身,而是分区后没验证对齐、没确认内核识别、也没用 UUID 写 fstab——这些细节在批量部署时会集中爆发。

相关文章