在CentOS 7中,由于MBR分区表限制,无法直接用fdisk分区大于2TB的硬盘,正确方法是将硬盘转换为GPT分区表,推荐使用parted工具,操作步骤为进入parted交互模式,执行mklabel gpt,使用mkpart创建分区,最后格式化即可。
在服务器运维或日常使用中,随着存储需求的增加,用户往往会遇到需要使用超过 2TB 硬盘的情况,在 CentOS 7 系统中,直接使用传统的 fdisk 工具分区大于 2TB 的硬盘时,经常会遇到“Partition does not start on physical sector boundary”或者无法识别大容量空间的问题。
这背后的原因是,传统的 MBR(主引导记录)分区表有 2TB 的容量限制,要解决这个问题,我们需要使用支持 GPT(GUID 分区表)的工具,parted 或 gdisk,本文将详细介绍在 CentOS 7 环境下,使用 parted 工具对大于 2TB 的硬盘进行分区的完整步骤。
前置准备
-
确认磁盘设备:我们需要确定待分区的磁盘设备名称,通常为
/dev/sdb、/dev/sdc等。
lsblk # 或者 fdisk -l
假设我们要分区的磁盘为
/dev/sdb,容量为 4TB。 -
关闭挂载:确保该磁盘没有被挂载,且上面没有重要的数据(分区操作会清空数据)。
使用 parted 分区(推荐方法)
parted 是 GNU 项目的一部分,它支持从 2TB 到几乎无限大的分区,并且能够自动处理 GPT 分区表。
启动 parted 交互模式
输入以下命令进入交互式界面:
parted /dev/sdb
切换分区表类型为 GPT
输入 mklabel gpt 命令,将磁盘的分区表类型从 MBR 切换为 GPT,这一步至关重要,否则后续无法识别大容量。
(parted) mklabel gpt
创建主分区
输入 mkpart 命令创建一个从 0% 到 100% 的主分区,这将覆盖整个磁盘。
(parted) mkpart primary 0% 100%
参数解释:primary 表示主分区类型,0% 表示从磁盘开始位置,100% 表示到磁盘结束位置。
保存并退出
输入 quit 退出 parted 工具。
(parted) quit Information: You may need to reload partition table.
系统会提示可能需要重新加载分区表,如果发现磁盘没有变化,可以尝试运行 partprobe 或重启系统。
格式化分区
在 CentOS 7 中,默认的文件系统推荐使用 XFS,因为它对大文件和大容量存储有很好的性能支持。
使用 mkfs.xfs 命令对刚才创建的分区 /dev/sdb1 进行格式化:
mkfs.xfs /dev/sdb1
挂载与验证
格式化完成后,我们需要将分区挂载到指定目录,或者配置开机自动挂载。
手动挂载
mkdir /data mount /dev/sdb1 /data
验证容量
使用 lsblk 或 df -h 命令查看,确认分区大小是否正确显示为 4T(受限于文件系统限制,实际显示可能会少几百MB,这是正常的)。
lsblk df -h /data
配置开机自动挂载(可选)
为了防止重启

