在现代数据中心和服务器管理中,随着数据量的爆炸式增长,添加新硬盘是一项常见的运维任务,对于较新的磁盘,特别是容量超过2TB的硬盘,GUID分区表(GPT)已成为标准,它取代了老旧的MBR分区方案,提供了更大的分区容量支持和更多的分区数量,本文将详细介绍在CentOS系统中如何识别、分区、格式化并挂载一块使用GPT分区表的新硬盘。

第一步:识别新硬盘
在开始任何操作之前,首先需要正确识别系统新加入的硬盘设备名,CentOS提供了多种工具来查看系统中的磁盘设备。lsblk命令是一个现代且易于使用的工具,它能以树状结构清晰地展示磁盘和分区信息。
lsblk
执行该命令后,你会看到类似以下的输出,通过对比硬盘大小,可以轻松识别出新添加的磁盘,如果一块新的4TB硬盘被识别为/dev/sdb,那么它就是我们将要操作的目标。
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   50G  0 disk
├─sda1   8:1    0    1G  0 part /boot
└─sda2   8:2    0   49G  0 part
  ├─cl-root 253:0    0   47G  0 lvm  /
  └─cl-swap 253:1    0    2G  0 lvm  [SWAP]
sdb      8:16   0  3.7T  0 disk    <-- 这是我们新识别的硬盘
请务必仔细确认设备名,操作错误的磁盘可能会导致数据丢失。
第二步:使用Gdisk进行GPT分区
对于GPT格式的磁盘,我们使用gdisk工具进行分区,它类似于操作MBR的fdisk,如果系统中尚未安装,可以通过yum install gptfdisk或dnf install gptfdisk进行安装。
- 
启动Gdisk: 将
/dev/sdb替换为你的实际设备名。gdisk /dev/sdb
 - 
创建新分区: 进入
gdisk交互式界面后,按照提示操作:- 输入 
n创建一个新分区。 - 分区号:直接回车,使用默认值(通常是1)。
 - 起始扇区:直接回车,使用默认值。
 - 结束扇区:直接回车,使用默认值(这将使用整个磁盘剩余空间)。
 - 分区类型:直接回车,使用默认的Linux filesystem类型(8300)。
 
 - 输入 
 - 
写入分区表:
- 输入 
p可以打印分区表,确认无误。 - 输入 
w将分区更改写入磁盘并退出。gdisk会要求你确认,输入yes即可。 
 - 输入 
 
操作完成后,一个新的分区/dev/sdb1就创建好了,你可以再次运行lsblk来验证。
第三步:格式化分区
分区创建后,需要为其指定一个文件系统才能存储数据,Linux系统中常用的文件系统有ext4和xfs。ext4成熟稳定,xfs则在处理大文件和高并发I/O方面表现更优,是CentOS 7/8的默认选择。

以下示例将使用xfs文件系统进行格式化:
mkfs.xfs /dev/sdb1
如果你偏好ext4,可以使用以下命令:
mkfs.ext4 /dev/sdb1
格式化过程会根据磁盘大小花费一些时间。
| 文件系统 | 特点 | 适用场景 | 
|---|---|---|
| xfs | 高性能,尤其擅长处理大文件,支持在线扩容 | 数据库、大文件存储、虚拟机镜像 | 
| ext4 | 成熟稳定,兼容性好,是多年来的Linux标准文件系统 | 通用场景,对稳定性要求极高的环境 | 
第四步:挂载分区
我们需要将格式化好的分区挂载到系统的一个目录(挂载点)上,以便访问。
- 
创建挂载点: 通常在
/mnt或下创建一个新目录,例如/data。mkdir /data
 - 
执行挂载:
mount /dev/sdb1 /data
 - 
验证挂载: 使用
df -hT命令可以查看当前挂载的文件系统及其类型。df -hT /data
输出应显示
/dev/sdb1已成功挂载到/data,并且文件系统类型为xfs或ext4。 
第五步:实现开机自动挂载
手动挂载在系统重启后会失效,为了让分区在系统启动时自动挂载,需要编辑/etc/fstab文件,推荐使用分区的UUID(通用唯一标识符)进行挂载,因为它不会因为设备插入顺序或接口变化而改变。

- 
获取分区的UUID:
blkid /dev/sdb1
输出会包含类似
UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890"的信息。 - 
编辑/etc/fstab文件: 使用
vi或nano等编辑器打开/etc/fstab,并在文件末尾添加一行:UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890" /data xfs defaults 0 0- 请将示例UUID替换为上一步获取的实际UUID。
 xfs替换为你实际使用的文件系统类型。defaults是默认挂载选项,适用于大多数情况。
 - 
测试fstab配置: 在重启前,可以执行
mount -a命令来测试fstab文件是否有语法错误,如果命令没有任何输出,说明配置正确。 
至此,整个硬盘挂载流程已全部完成,你的CentOS系统已经可以正常使用这块新的GPT硬盘了。
相关问答FAQs
问1:MBR和GPT有什么区别?为什么现代服务器多用GPT? 答: MBR(主引导记录)和GPT(GUID分区表)是两种不同的分区方案,主要区别在于:
- 容量限制:MBR最多支持2TB的磁盘和4个主分区(或3个主分区加1个扩展分区),而GPT支持远超2TB的磁盘(理论上是18EB)和几乎无限数量的分区(Windows限制为128个)。
 - 可靠性:MBR的分区表信息存储在磁盘的开头,一旦损坏,整个分区信息将丢失,GPT则在磁盘的头部和尾部都保存了分区表的副本,提供了更好的冗余和恢复能力。
 - 兼容性:MBR在较旧的系统(如32位系统或旧版BIOS)上有更好的兼容性,而GPT需要UEFI固件的支持,不过现在几乎所有现代服务器都标配了UEFI。
 
由于现代服务器硬盘容量普遍很大,且对数据安全性要求高,GPT凭借其大容量支持和冗余设计,成为了理所当然的选择。
问2:我已经手动挂载了,但重启后就失效了,怎么办?
答: 这个问题的根本原因是你只进行了临时挂载,而没有将挂载信息写入系统配置文件/etc/fstab,系统在启动时会读取此文件来自动挂载所有指定的分区,解决方法如下:
- 使用
blkid /dev/你的分区名(如/dev/sdb1)获取分区的UUID。 - 编辑
/etc/fstab文件(如vi /etc/fstab),在文件末尾添加一行,格式为:UUID="你的UUID" /挂载点 文件系统类型 defaults 0 0。UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890" /data xfs defaults 0 0 - 保存文件后,执行
mount -a命令测试配置是否正确,如果没有报错,重启系统后分区就会自动挂载了,使用UUID而非/dev/sdb1这样的设备名,可以避免因设备名变化导致的挂载失败问题。