在CentOS 6服务器管理中,随着业务数据的增长,添加新磁盘并挂载到系统是一项常见的维护任务,这不仅能为服务器扩容,还能实现数据的有效隔离与管理,本文将详细介绍在CentOS 6系统中,从识别新磁盘到实现开机自动挂载的完整流程,旨在提供一份清晰、可操作的参考指南。

第一步:识别新磁盘
在将新硬盘接入服务器后,首先需要让系统识别它,CentOS 6提供了多种工具来查看系统当前的磁盘设备,其中最常用的是fdisk -l命令。
打开终端,以root用户身份执行以下命令:
fdisk -l
该命令会列出系统中所有磁盘及其分区信息,输出结果通常如下所示:
Disk /dev/sda: 21.5 GB, 21474836480 bytes
... (sda的分区信息) ...
Disk /dev/sdb: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table
从输出中,我们可以看到除系统盘/dev/sda外,还多了一个新设备/dev/sdb,并且提示“doesn't contain a valid partition table”(不包含有效的分区表),这正是一块未经使用的全新硬盘,请记下这个设备名(例如/dev/sdb),后续操作都将围绕它进行。
第二步:磁盘分区
新磁盘需要创建分区才能被格式化和使用,我们将使用fdisk工具对/dev/sdb进行分区。
- 
启动
fdisk工具:fdisk /dev/sdb
 - 
在
fdisk的交互式界面中,按照以下步骤输入命令(输入后按回车):- 输入 
n:创建一个新分区(New partition)。 - 输入 
p:选择创建主分区(Primary partition)。 - 输入 
1:设置分区号为1。 - 按回车:选择默认的起始扇区。
 - 按回车:选择默认的结束扇区,这将使用磁盘的全部空间。
 - 输入 
p:打印当前的分区表,确认新分区(/dev/sdb1)已创建。 - 输入 
w:将分区表写入磁盘并退出fdisk。 
 - 输入 
 
完成后,系统会显示新的分区/dev/sdb1。
第三步:格式化分区
分区创建后,需要为其指定一种文件系统(即格式化),对于CentOS 6,ext4是一个性能和稳定性俱佳的选择,更传统的ext3也完全兼容。
使用mkfs命令进行格式化:

mkfs.ext4 /dev/sdb1
这个过程会花费一些时间,具体取决于磁盘大小和速度,格式化完成后,分区就可以被挂载使用了。
为了帮助选择,这里简单对比一下ext3和ext4:
| 文件系统 | 特点 | 适用场景 | 
|---|---|---|
| ext3 | 稳定可靠,与CentOS 6内核兼容性极好 | 追求极致稳定性的旧系统环境 | 
| ext4 | 性能更高,支持更大文件系统和单个文件,延迟分配 | 推荐使用,能更好地发挥硬件性能 | 
第四步:创建挂载点并挂载
挂载点就是一个空目录,系统将通过这个目录访问新磁盘的内容。
- 
创建挂载点目录: 通常我们会根据用途创建目录,例如用于存放数据,可以创建
/data。mkdir /data
 - 
执行挂载操作: 使用
mount命令将格式化好的分区/dev/sdb1挂载到/data目录。mount /dev/sdb1 /data
 - 
验证挂载结果: 使用
df -h命令可以查看当前磁盘的挂载情况和使用率。df -h
在输出中,您应该能看到一行关于
/dev/sdb1的信息,显示它已成功挂载在/data上,并能看到总容量、已用空间和可用空间。 
第五步:实现开机自动挂载
上述mount命令实现的挂载是临时的,服务器重启后会失效,为了让系统能在每次启动时自动挂载该磁盘,需要修改/etc/fstab文件。
- 
获取分区的UUID(推荐使用UUID而非设备名,因为设备名可能会改变):
blkid /dev/sdb1
输出会类似:
/dev/sdb1: UUID="a1b2c3d4-e5f6-7890-1234-567890abcdef" TYPE="ext4",请复制这个UUID值。
 - 
编辑
/etc/fstab文件: 使用vi或nano等编辑器打开文件:vi /etc/fstab
 - 
在文件末尾添加一行: 将以下内容添加到文件末尾,使用您刚刚获取的UUID替换掉示例中的UUID。
UUID=a1b2c3d4-e5f6-7890-1234-567890abcdef /data ext4 defaults 0 2这行字段的含义如下表所示:
 
| 字段 | 含义 | 示例值 | 
|---|---|---|
| 设备 | 要挂载的分区 | UUID=... 或 /dev/sdb1 | 
| 挂载点 | 挂载到的目录 | /data | 
| 文件系统类型 | 分区的格式 | ext4 | 
| 挂载选项 | 挂载参数 | defaults (默认选项,包含rw, suid, exec等) | 
| dump | 是否使用dump备份 | 0 (不备份) | 
| pass | 开机磁盘检查顺序 | 2 (1为根分区,其他分区从2开始) | 
- 测试
/etc/fstab配置: 为了避免配置错误导致下次开机无法启动,可以在不重启的情况下测试配置是否正确。mount -a
如果这个命令没有任何输出,说明
/etc/fstab文件语法正确,并且所有条目都已成功挂载,再次使用df -h确认/data依然挂载着。 
至此,新磁盘的挂载工作已全部完成,它将在服务器每次重启后自动投入使用。
相关问答FAQs
我执行了 mount /dev/sdb1 /data 命令,也确实能用了,为什么重启服务器后,/data目录就变空了?
解答: 这是因为通过命令行直接执行 mount 挂载的磁盘是“临时挂载”,它只对当前系统运行状态有效,一旦服务器重启,系统会重新初始化所有挂载点,临时挂载的磁盘就会被自动卸载,要解决这个问题,您必须将挂载信息写入到 /etc/fstab 文件中,系统在启动时会读取这个文件,并根据里面的配置自动、永久地挂载指定的磁盘分区,请参考本文第五步“实现开机自动挂载”来正确配置。
我在编辑 /etc/fstab 文件后,重启服务器卡住了或者进入了紧急模式,提示“failed to mount /data”,该怎么办?
解答: 这通常是由于 /etc/fstab 文件中的配置错误导致的,比如设备名(或UUID)写错、挂载点目录不存在、文件系统类型不匹配等,当系统无法按照 fstab 的配置完成挂载时,为了保护数据,它会进入紧急模式,解决方法如下:
- 在紧急模式的提示符下,输入root密码进入维护shell。
 - 检查 
/etc/fstab文件内容,仔细核对您添加的那一行是否有拼写错误。 - 使用 
blkid命令再次确认分区的UUID是否正确。 - 确认挂载点目录(如 
/data)是否真的存在。 - 找到错误后,使用 
vi /etc/fstab修改文件,如果暂时无法确定错误,也可以在那一行的开头加上一个 号将其注释掉,让系统暂时跳过这个挂载项。 - 保存文件并退出,然后输入 
reboot -f强制重启,系统应该能正常启动了,启动后,再仔细排查问题并修正/etc/fstab配置。