linux kylin 挂载硬盘方法
Linux硬盘挂载实操指南(适配IoT场景) 本文提供完整的Linux硬盘挂载流程,适用于物联网开发中扩展存储的需求。主要内容包括: 硬盘识别:通过lsblk/fdisk确认设备名(如/dev/sdb) 分区操作:区分<2TB(fdisk)和≥2TB硬盘(parted)的分区方法 格式化:推荐ext4(兼容性好)或xfs(适合大容量/高并发) 挂载配置: 临时挂载测试 通过UUID配置/et
作为后端/物联网开发工程师,Linux 挂载硬盘是必备技能(常用于扩展数据存储、部署数据库/时序数据目录等场景)。以下是 分步实操指南,包含「识别硬盘→分区→格式化→挂载(临时+永久)→验证→常见问题排查」,全程提供可直接执行的命令,适配 IoT 场景下的大容量存储需求。
一、前置准备
- 环境说明:适用于 CentOS、Ubuntu、Debian 等主流 Linux 发行版(命令略有差异,已标注)。
- 核心目的:将新增硬盘(物理盘/云盘,如
/dev/sdb)挂载到指定目录(如/data/iot),供应用/数据库读写。 - 注意事项:
- 挂载前确认硬盘无重要数据(分区/格式化会清空数据)。
- IoT 场景推荐使用
ext4或xfs格式(ext4 兼容性好,xfs 适合大容量/高并发写入)。 - 永久挂载需配置
/etc/fstab(避免重启后失效),务必谨慎操作(配置错误可能导致系统无法启动)。
二、详细操作步骤
步骤 1:识别新增硬盘(关键:确认设备名)
首先通过命令查看系统已识别的硬盘,确定需要挂载的设备名(如 /dev/sdb,避免误操作系统盘 /dev/sda)。
执行命令:
# 方法 1:查看硬盘列表(推荐,直观显示分区和挂载点)
lsblk
# 方法 2:查看磁盘详细信息(包含容量、类型)
fdisk -l
# 方法 3:查看已挂载的文件系统(排除已挂载的盘)
df -h
结果解读:
- 系统盘通常是
/dev/sda(包含/dev/sda1、/dev/sda2等分区,已挂载到/或/boot)。 - 新增未挂载硬盘通常是
/dev/sdb、/dev/sdc等(无分区、无挂载点)。 - 示例:假设新增硬盘设备名为
/dev/sdb(后续步骤均以该设备名为例)。
步骤 2:分区(可选,推荐用于大容量硬盘)
如果硬盘是 新盘(无分区) 或需要划分多个分区,需先分区(单分区直接用整个硬盘也可)。
- 小于 2TB 的硬盘:用
fdisk分区(MBR 格式)。 - 大于等于 2TB 的硬盘:用
parted分区(GPT 格式,支持大容量)。
场景 1:小容量硬盘(<2TB)→ fdisk 分区
# 进入 fdisk 分区工具(指定设备名 /dev/sdb)
fdisk /dev/sdb
# 以下是交互操作(输入对应字母,按回车):
1. 输入 `n` → 创建新分区。
2. 输入 `p` → 选择主分区(默认,直接回车也可)。
3. 分区号:默认 1(直接回车)。
4. 起始扇区:默认(直接回车,使用全部空间)。
5. 结束扇区:默认(直接回车,使用全部空间)。
6. 输入 `w` → 保存分区配置(关键!不保存则分区无效)。
场景 2:大容量硬盘(≥2TB)→ parted 分区
# 进入 parted 分区工具(指定设备名 /dev/sdb)
parted /dev/sdb
# 以下是交互操作:
1. 输入 `mklabel gpt` → 设置分区表格式为 GPT(支持 2TB 以上)。
2. 输入 `mkpart primary 0% 100%` → 创建主分区(占用整个硬盘)。
3. 输入 `quit` → 退出(自动保存)。
验证分区结果:
lsblk /dev/sdb # 会显示 /dev/sdb1 分区(已创建成功)
步骤 3:格式化分区(必须,指定文件系统)
分区后需格式化分区(如 /dev/sdb1),指定文件系统格式(ext4/xfs)。
选择 1:格式化为 ext4(兼容性好,推荐)
# 格式化 /dev/sdb1 为 ext4(-F 强制格式化,-L 给分区加标签,可选)
mkfs.ext4 -F -L iot_data /dev/sdb1
选择 2:格式化为 xfs(适合大容量/高并发,IoT 时序数据推荐)
# 先安装 xfs 工具(CentOS)
yum install -y xfsprogs
# Ubuntu/Debian
apt install -y xfsprogs
# 格式化 /dev/sdb1 为 xfs
mkfs.xfs -f /dev/sdb1
说明:
-F参数:强制格式化(避免提示确认,脚本自动化时常用)。- 格式化时间取决于硬盘容量(几十 GB 几秒,几 TB 可能需要几分钟)。
步骤 4:创建挂载点(目录)
挂载点是硬盘的访问入口(如 /data/iot),需提前创建目录。
# 创建挂载点目录(自定义路径,建议按用途命名)
mkdir -p /data/iot
# (可选)设置目录权限(确保应用/数据库能读写,如给 root 和应用用户授权)
chmod 755 /data/iot
chown -R root:root /data/iot # 若应用用普通用户,可改为对应用户(如 app:app)
步骤 5:挂载硬盘(临时 + 永久)
5.1 临时挂载(重启后失效,用于测试)
先临时挂载验证是否正常,再配置永久挂载(避免配置错误导致系统问题)。
# 挂载 /dev/sdb1 到 /data/iot(ext4 和 xfs 通用命令)
mount /dev/sdb1 /data/iot
5.2 永久挂载(重启后生效,核心步骤)
通过配置 /etc/fstab 实现永久挂载,推荐使用 UUID 挂载(设备名可能因重启变化,UUID 唯一且稳定)。
步骤 5.2.1:获取分区的 UUID
# 方法 1:查看所有分区的 UUID 和文件系统
blkid
# 方法 2:只查看目标分区 /dev/sdb1 的 UUID
blkid /dev/sdb1
结果示例:
/dev/sdb1: UUID="a1b2c3d4-1234-5678-90ab-cdef01234567" TYPE="ext4" LABEL="iot_data"
- 记录 UUID(如
a1b2c3d4-1234-5678-90ab-cdef01234567)和 TYPE(如ext4)。
步骤 5.2.2:编辑 /etc/fstab 文件
# 用 vim 编辑 fstab(推荐先备份原文件)
cp /etc/fstab /etc/fstab.bak # 备份(重要!出错可恢复)
vim /etc/fstab
步骤 5.2.3:添加挂载配置
在 /etc/fstab 文件末尾添加一行,格式如下(严格按顺序,空格分隔):
# UUID=分区UUID 挂载点 文件系统 挂载参数 _dump _fsck
UUID=a1b2c3d4-1234-5678-90ab-cdef01234567 /data/iot ext4 defaults 0 2
配置说明:
| 字段 | 含义 |
|---|---|
| UUID=xxx | 分区的唯一标识(避免设备名变化导致挂载失效) |
| /data/iot | 挂载点目录(需提前创建) |
| ext4/xfs | 文件系统类型(与格式化时一致) |
| defaults | 挂载参数(默认:rw, suid, dev, exec, auto, nouser, async),无需修改 |
| 0 | dump 备份开关(0=不备份,1=备份,默认 0) |
| 2 | fsck 检查顺序(0=不检查,1=优先检查,2=次优先,系统盘一般为 1) |
示例(xfs 格式):
UUID=a1b2c3d4-1234-5678-90ab-cdef01234567 /data/iot xfs defaults 0 2
步骤 5.2.4:验证 fstab 配置(关键!避免系统无法启动)
配置后必须测试,确保无语法错误:
# 重新加载 fstab 配置,挂载所有未挂载的分区
mount -a
# 若无报错,说明配置正常;若有报错,立即检查 /etc/fstab 格式(如UUID、空格是否正确)
步骤 6:验证挂载结果
# 方法 1:查看已挂载的文件系统(确认 /data/iot 存在)
df -h
# 方法 2:查看挂载点的详细信息
mount | grep /data/iot
# 方法 3:测试读写(创建文件,验证权限)
touch /data/iot/test.txt
echo "IoT device data" > /data/iot/test.txt
cat /data/iot/test.txt # 能正常输出则说明读写正常
预期结果:
df -h 输出中会显示 /dev/sdb1 挂载到 /data/iot,且容量与硬盘一致。
三、常见场景扩展(IoT 开发常用)
场景 1:挂载 USB 硬盘(临时使用)
IoT 设备调试时可能需要挂载 USB 硬盘导入/导出数据:
# 1. 识别 USB 硬盘(通常是 /dev/sdc1)
lsblk
# 2. 临时挂载(无需分区格式化,直接挂载已有的分区)
mount /dev/sdc1 /mnt/usb
# 3. 使用完毕后卸载
umount /mnt/usb
场景 2:挂载 NFS 共享目录(物联网设备集群存储)
若需多个 IoT 设备共享数据,可挂载 NFS 服务器的目录:
# 1. 安装 NFS 客户端(CentOS)
yum install -y nfs-utils
# Ubuntu/Debian
apt install -y nfs-common
# 2. 挂载 NFS 目录(示例:NFS 服务器 IP 为 192.168.1.100,共享目录为 /nfs/iot)
mount -t nfs 192.168.1.100:/nfs/iot /data/iot_nfs
# 3. 永久挂载(添加到 /etc/fstab)
192.168.1.100:/nfs/iot /data/iot_nfs nfs defaults 0 0
场景 3:挂载云盘(如阿里云 ECS 数据盘)
云服务器新增数据盘后,操作流程与物理盘一致:
- 登录云控制台挂载数据盘到实例。
- 按上述步骤「识别硬盘(通常是
/dev/vdb)→ 分区→格式化→挂载」。
四、常见问题排查(避坑指南)
问题 1:mount -a 报错「bad superblock」
- 原因:格式化时文件系统类型与 fstab 中配置不一致(如格式化是 xfs,fstab 写了 ext4)。
- 解决:
- 重新确认文件系统类型:
blkid /dev/sdb1。 - 修改
/etc/fstab中的文件系统类型,与实际一致。
- 重新确认文件系统类型:
问题 2:重启后挂载点消失(未生效)
- 原因:未配置
/etc/fstab,或配置错误。 - 解决:
- 重新执行步骤 5.2(确保 UUID、挂载点、文件系统类型正确)。
- 执行
mount -a验证,无报错则正常。
问题 3:系统无法启动(fstab 配置错误)
- 原因:
/etc/fstab语法错误(如 UUID 输错、空格缺失)。 - 解决:
- 启动时按提示进入救援模式(rescue mode)。
- 挂载根分区为可写:
mount -o remount,rw /。 - 恢复备份:
cp /etc/fstab.bak /etc/fstab。 - 重启:
reboot。
问题 4:挂载点权限不足(应用无法读写)
- 原因:挂载点目录权限未开放给应用用户。
- 解决:
# 给挂载点开放 755 权限(读/写/执行) chmod 755 /data/iot # 若应用用普通用户(如 app),授权用户 ownership chown -R app:app /data/iot
问题 5:硬盘容量显示异常(实际容量小于预期)
- 原因:未分区或分区时未使用全部空间。
- 解决:
- 重新分区(步骤 2),确保选择「使用全部空间」。
- 重新格式化并挂载。
五、快速操作总结(备查)
# 1. 识别硬盘
lsblk → 确定 /dev/sdb
# 2. 分区(2TB+ 用 parted)
fdisk /dev/sdb → n→p→回车→回车→w
# 3. 格式化
mkfs.ext4 -F /dev/sdb1
# 4. 挂载
mkdir -p /data/iot
mount /dev/sdb1 /data/iot
# 5. 永久挂载
blkid /dev/sdb1 → 复制 UUID
cp /etc/fstab /etc/fstab.bak
echo "UUID=xxx /data/iot ext4 defaults 0 2" >> /etc/fstab
mount -a
# 6. 验证
df -h | grep /data/iot
六、IoT 场景最佳实践
- 文件系统选择:时序数据(如 TDengine、InfluxDB)推荐
xfs(支持更大文件、更快的写入速度)。 - 挂载点规划:按用途分区(如
/data/tdengine存储时序数据,/data/kingbase存储关系型数据)。 - 备份策略:定期备份
/etc/fstab(避免配置丢失),同时对挂载目录的数据进行定时备份(如 rsync、云备份)。 - 性能优化:
- 格式化时添加
--mkfs-opt="-O bigalloc"(ext4),适合大文件存储。 - 挂载参数添加
noatime(禁用文件访问时间记录,提升 IO 性能),修改/etc/fstab为:UUID=xxx /data/iot ext4 defaults,noatime 0 2
- 格式化时添加
按以上步骤操作,可快速完成 Linux 硬盘挂载,满足 IoT 设备数据存储、后端服务部署的需求。若遇到具体报错(如 mount: can't find /dev/sdb1),可提供错误日志,进一步排查!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)