在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值。:
使用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
配置。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复