新硬盘从识别到永久挂载,一篇搞定所有步骤
一、核心流程概述
新硬盘投入使用需要经过 5个步骤:
识别磁盘 → 分区 → 格式化 → 临时挂载 → 永久挂载(配置fstab)
⚠️ 关键提醒:普通mount临时挂载重启失效!生产环境必须通过/etc/fstab配置实现开机自动挂载,且优先使用UUID挂载(设备唯一标识,不受硬盘顺序变更影响)。
二、第一步:识别磁盘
加装物理硬盘后,系统无法即时识别,需重启服务器方可识别新磁盘。
lsblk -f # 查看块设备、分区、文件系统、挂载状态(最常用)fdisk -l # 查看系统所有磁盘详细分区表df -h # 查看已挂载磁盘的容量、使用情况blkid # 查看所有块设备UUID(永久唯一标识)
设备命名规则
| |
|---|
/dev/sda | |
/dev/sdb | |
/dev/sdc | |
/dev/sdc1 | |
/dev/sdc2 | |
三、第二步:分区(fdisk)
以新磁盘 /dev/sdc 为例:
fdisk 交互命令
✅ 快速分区流程
fdisk /dev/sdc# 输入 n → 回车(默认主分区)→ 回车(默认起始扇区)→ 回车(默认结束扇区)→ 输入 w(保存退出)
完成后生成 /dev/sdc1 分区。
四、第三步:格式化
新建分区无文件系统,必须格式化后才可挂载使用。
# 标准写法1(通用)mkfs -t ext4 /dev/sdc1# 标准写法2(简写,效果一致)mkfs.ext4 /dev/sdc1
常用文件系统格式
⚠️ 注意:必须写完整分区名 /dev/sdc1,不能写成 /dev/sdc 或 /dev/sd1!
五、第四步:临时挂载(mount)
临时挂载仅当前系统生效,服务器重启后全部失效,适用于测试或临时使用场景。
# 1. 创建挂载目录mkdir -p /xinmulu# 2. 执行挂载mount /dev/sdc1 /xinmulu# 3. 查看挂载结果df -h
卸载(取消挂载)
# 方式1:通过设备名卸载umount /dev/sdc1# 方式2:通过挂载点卸载umount /xinmulu
六、第五步:永久挂载(/etc/fstab)
6.1 为什么用UUID?
🎯 生产环境强制使用UUID挂载!
6.2 获取UUID
blkid /dev/sdc1# 输出示例:/dev/sdc1: UUID="a1b2c3d4-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="ext4"
6.3 编辑配置文件
6.4 添加挂载配置
UUID=xxxx-xxxx-xxxx-xxxx /xinmulu ext4 defaults 0 0
6.5 fstab 六字段详解
| | |
|---|
| | UUID=xxx-xxx |
| | /xinmulu |
| | ext4 |
| | defaults |
| | 0 |
| | 0 |
6.6 校验配置(不重启生效)
# 加载fstab所有配置,无报错则配置无误mount -a# 确认挂载生效df -h
七、完整标准实操流程
# 1. 重启后查看新磁盘设备lsblk -f# 2. 磁盘分区fdisk /dev/sdc# 操作步骤:n → 回车 → 回车 → w# 3. 格式化分区mkfs -t ext4 /dev/sdc1# 4. 创建挂载目录mkdir /xinmulu# 5. 临时挂载(测试)mount /dev/sdc1 /xinmulu# 6. 获取UUIDblkid /dev/sdc1# 7. 配置永久挂载vim /etc/fstab# 添加:UUID=xxx-xxx /xinmulu ext4 defaults 0 0# 8. 校验配置mount -a# 9. 确认生效df -h
八、高频易错点汇总
九、命令速查卡片
| |
|---|
| lsblk -f |
| fdisk -l |
| df -h |
| blkid |
| fdisk /dev/sdc |
| mkfs -t ext4 /dev/sdc1 |
| mkfs.ext4 /dev/sdc1 |
| mount /dev/sdc1 /xinmulu |
| umount /dev/sdc1 |
| vim /etc/fstab |
| mount -a |
生产场景:无法重启服务器,如何识别新硬盘?
场景说明:线上服务器业务运行中,禁止重启,新增物理硬盘后系统未识别,无需重启可手动扫描识别磁盘。
重新扫描 SCSI/SATA 总线
1. 找到 SCSI Host 控制器
ls /sys/class/scsi_host/# 输出示例:host0 host1 host2
2. 逐个扫描所有 Host
# 方式1:逐个扫描echo "- - -" > /sys/class/scsi_host/host0/scanecho "- - -" > /sys/class/scsi_host/host1/scanecho "- - -" > /sys/class/scsi_host/host2/scan# 方式2:一键扫描所有(推荐)for host in /sys/class/scsi_host/host*/scan; do echo "- - -" > $hostdone
参数说明:- - - 三个横线分别代表:
验证新硬盘是否识别
# 方法1:查看内核日志dmesg | tail -20dmesg | grep -i "sd[a-z]"# 方法2:查看块设备lsblk -ffdisk -l# 方法3:查看新增设备ls /dev/sd* | sort
📌 > 如果觉得有用,欢迎点赞、在看、转发三连!