Linux 挂载新磁盘
给服务器加了一块新硬盘,插上去之后系统里却看不到可用空间——这是很多人第一次扩容时都会遇到的场景。磁盘从"接上主板"到"能存文件",中间还隔着识别、分区、格式化、挂载四步。这篇笔记把整个流程走一遍,顺便解释每一步在做什么。
背景:为什么插上硬盘还不能直接用
Linux 里"一切皆文件",磁盘也不例外。新磁盘接入后,内核会把它识别成一个块设备,比如 /dev/sdb 或 /dev/vdb,但此时它只是一块"裸盘":
- 没有分区表,系统不知道空间怎么划分;
- 没有文件系统,内核不知道数据按什么结构组织;
- 没有挂载点,用户态程序无法通过路径访问它。
所以完整流程是:识别 → 分区 → 格式化 → 挂载,最后再配置开机自动挂载,缺一步都不行。
实操步骤
1) 磁盘连上主板(很重要)
物理机就是把 SATA 线和电源线接好;云服务器则是在控制台把云盘挂载到实例上。这一步看着像废话,但排查"系统看不到磁盘"时,硬件连接确实是最常见的原因。
2) 重启系统
reboot
老一些的系统或热插拔不生效时,重启一次让内核重新扫描硬件最省事。支持热插拔的环境不重启也能识别,但重启是最稳妥的兜底做法。
3) 查看磁盘有没有被检测到
fdisk -l
fdisk -l 会列出所有块设备及其分区。新磁盘的典型特征是:有容量、没有分区(下方没有 /dev/sdb1 之类的条目)。记下这个设备名,后面每一步都要用。也可以用 lsblk 对照确认,它以树形展示磁盘和分区的关系,更直观。
4) 进入磁盘,开始分区
fdisk /dev/{磁盘名称}
这里的 {磁盘名称} 替换成上一步看到的设备名,比如 sdb。fdisk 是交互式工具,进去之后常用的几个指令:
n:新建分区p:打印当前分区表d:删除分区w:把改动写入磁盘并退出q:不保存退出
5) 把磁盘分区设置好,可以只分一个区
如果整块盘就是拿来存数据的,直接 n 新建一个主分区,起止扇区全部回车用默认值,把整盘划成一个区即可,然后 w 保存退出。分多个区在如今的场景下意义不大,反而增加管理成本。
一点提醒:传统 MBR 分区表最大只支持 2TB,超过 2TB 的磁盘要用 GPT 分区表,这时应改用 parted 或 gdisk 来分区。
6) 格式化分区
mkfs.ext4 /dev/{分区名称}
注意这里操作的对象是分区(比如 /dev/sdb1)而不是整块磁盘。mkfs.ext4 会在分区上创建 ext4 文件系统,写入超级块、inode 表等元数据结构。ext4 是目前 Linux 发行版最通用的选择;如果发行版默认用 XFS(比如 CentOS 系),换成 mkfs.xfs 也一样。
格式化会清空分区上的所有数据,执行前务必确认设备名没敲错。
7) 挂载分区
mount /dev/{分区名称} /{某个文件夹}
挂载点就是一个普通目录,不存在的话先 mkdir 创建,比如 mkdir /data。挂载后,写入 /data 的文件实际就落在新磁盘上。可以用 df -h 验证,能看到分区、容量和挂载点的对应关系。
如果挂载点目录里原本有文件,挂载后会被"遮住"看不到,卸载(umount)后又会恢复——这不是丢数据,但容易造成困惑,建议用空目录做挂载点。
8) 设置开机自动挂载
mount 命令的效果只在本次开机有效,重启后挂载就没了。要持久化,需要编辑 /etc/fstab:
vim /etc/fstab
在文件末尾添加一行:
/dev/(磁盘分区) /(挂载目录) ext4(文件格式)defaults 0 0
这行配置共六个字段,依次是:
- 设备:要挂载的分区,如
/dev/sdb1; - 挂载点:目录路径,如
/data; - 文件系统类型:和格式化时保持一致,这里是
ext4; - 挂载选项:
defaults表示读写、允许执行等一组默认选项; - dump 备份标志:
0表示不用 dump 工具备份; - fsck 检查顺序:
0表示开机不做文件系统检查,根分区一般是1,数据盘可设2或0。
/etc/fstab 写错可能导致系统启动失败进入紧急模式。保存后先执行 mount -a 验证——它会按 fstab 挂载所有未挂载的条目,没有报错再重启。
踩坑与注意
- 用 UUID 代替设备名更稳。
/dev/sdb这类名字取决于内核识别顺序,增减磁盘后可能变化,导致 fstab 挂错盘。用blkid查出分区的 UUID,fstab 第一列写成UUID=xxxx的形式,就不受设备名漂移影响。 - 格式化前确认设备名。
mkfs敲错目标是不可逆的,操作前用lsblk或fdisk -l再核对一遍,确认容量和预期一致。 - 区分磁盘和分区。 分区、格式化、挂载各自作用的对象不同:
fdisk操作整盘(/dev/sdb),mkfs和mount操作分区(/dev/sdb1),混着用是新手最常见的报错来源。
小结
挂载新磁盘的主线就是四步:fdisk -l 确认识别、fdisk 分区、mkfs.ext4 格式化、mount 挂载,最后写 /etc/fstab 让配置在重启后依然生效。理解了"裸盘—分区—文件系统—挂载点"这条链路,再遇到扩容、换盘之类的需求,照着链路逐层排查就够了。
评论 / COMMENTS