Linux 磁盘空间检查与新硬盘挂载完整指南
前言
在服务器运维过程中,经常需要为新硬盘挂载数据盘或扩展存储空间。银河麒麟 V10 作为国产主流 Linux 操作系统,其磁盘挂载流程与 CentOS/Ubuntu 基本一致,但也有自身的特点。本文整理自实际生产环境中的磁盘挂载操作,涵盖挂载前检查、完整挂载流程、常见问题解答三个部分,适合运维新手和有一定基础的同学参考。
一、挂载前磁盘检查
1. 查看已挂载磁盘使用率
df -h重点关注以下字段:
| 字段 | 说明 |
|---|---|
Size | 总大小 |
Used | 已用空间 |
Avail | 空闲空间 |
Mounted on | 挂载点 |
2. 查看块设备,识别新硬盘
lsblksda是第一块盘,sdb是第二块新硬盘;- 没有
Mountpoint列的设备,代表这块盘还没有挂载。
示例输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 40G 0 disk├─sda1 8:1 0 600M 0 part /boot/efi├─sda2 8:2 0 1G 0 part /boot└─sda3 8:3 0 38.4G 0 part ├─klas-root 253:0 0 34.4G 0 lvm / └─klas-swap 253:1 0 4G 0 lvm [SWAP]sdb 8:16 0 300G 0 disk ← 新硬盘,无挂载点3. 查看磁盘分区详情
sudo fdisk -l该命令可以查看每块磁盘的详细分区信息,包括磁盘型号、扇区大小、磁盘标签类型等。
4. 查看目录占用空间
当磁盘空间告警时,需要用 du 定位哪个目录占用大:
# 当前目录下各个目录大小du -sh *
# 看根目录整体大目录sudo du -sh /*5. 检查 inode 是否耗尽
有时候磁盘还有空间但无法写入文件,可能是 inode 用尽:
df -i注意观察
IUse%列,如果占用率为 100%,说明 inode 已耗尽,需要清理小文件。
二、新硬盘完整挂载流程
假设新磁盘设备名为
/dev/sdb,挂载点为/data
Step 1:分区(可选)
如果是整块盘直接使用,可跳过此步;如需分区则执行:
sudo fdisk /dev/sdb进入交互式界面后,依次输入:
g → 创建 GPT 磁盘标签n → 新建分区 → 回车(默认分区编号 1) → 回车(默认起始扇区) → 回车(默认结束扇区,使用全部空间)w → 写入分区表并退出⚠️ 重要提醒:操作前务必确认设备名是
sdb,不要误操作sda!如果操作失误,立即输入q退出,不保存修改。
Step 2:格式化(麒麟 V10 推荐 XFS)
sudo mkfs.xfs /dev/sdb1若跳过分直接格式化整块盘:
sudo mkfs.xfs /dev/sdb
Step 3:创建挂载目录
sudo mkdir -p /dataStep 4:临时挂载测试
sudo mount /dev/sdb1 /datadf -h确认挂载成功后,再配置开机自动挂载。
Step 5:获取 UUID 并配置开机自动挂载
⚠️ 千万不要直接用
/dev/sdb1写入 fstab,必须使用 UUID,否则磁盘设备名变化后系统将无法启动。
sudo blkid /dev/sdb1复制输出的 UUID 值,编辑 /etc/fstab:
sudo vi /etc/fstab在末尾新增一行:
UUID="你的UUID值" /data xfs defaults 0 0Step 6:校验 fstab 配置(极其重要!)
sudo mount -a无任何输出 = 配置正确。如果有报错,立即回去修改 /etc/fstab,写错可能导致系统无法开机。
三、挂载后确认
df -hlsblk确认 /data 已正确挂载,空间可用。
四、常见问题:普通用户如何免 sudo 操作挂载目录
挂载完磁盘到 /data,默认属主为 root,普通用户 yunwei 没有读写权限。以下是两种常用解决方案:
方案一:修改目录属主(推荐用于普通业务数据)
sudo chown -R yunwei:yunwei /datasudo chmod 755 /data执行后,yunwei 用户可以直接读写 /data,无需 sudo。
su - yunweicd /datatouch test.txtls -l test.txt方案二:MySQL 数据目录场景(特殊处理)
如果 /data/mysql 存放 MySQL 数据,mysqld 进程运行用户是 mysql,不能直接将所有者改成 yunwei:
# 目录本身给 yunwei 访问权限sudo chmod 755 /data# mysql 数据目录归属 mysql 用户sudo chown -R mysql:mysql /data/mysql这种场景下,
yunwei可以通过 MySQL 客户端操作数据库,但不建议直接裸写数据文件,存在安全风险。
补充:让权限配置开机自动生效
XFS 文件系统不支持在 fstab 中指定 uid/gid,因此每次重启后权限可能丢失。可以将授权写入 /etc/rc.local:
# 写入开机执行命令sudo bash -c 'echo "chown -R yunwei:yunwei /data" >> /etc/rc.d/rc.local'
# 给 rc.local 执行权限sudo chmod +x /etc/rc.d/rc.local查看当前用户 UID/GID:
id yunwei# 输出:uid=1000(yunwei) gid=1000(yunwei) 组...五、总结
| 步骤 | 关键命令 | 注意事项 |
|---|---|---|
| 检查磁盘 | df -h / lsblk / df -i | 关注空间、inode 使用情况 |
| 分区 | sudo fdisk /dev/sdb | 确认设备名,输入 g、n、w |
| 格式化 | sudo mkfs.xfs /dev/sdb1 | 麒麟推荐 XFS,不要格式化错盘 |
| 挂载测试 | sudo mount /dev/sdb1 /data | 先测试再写 fstab |
| 配置开机 | sudo vi /etc/fstab + UUID | 必须用 UUID,不能用设备名 |
| 校验 | sudo mount -a | 无输出才表示配置正确 |
| 权限设置 | sudo chown -R yunwei:yunwei /data | MySQL 数据目录需特殊处理 |
掌握了以上流程,面对大多数 Linux 服务器的磁盘挂载任务都能从容应对。如有 MySQL 数据迁移需求,可在挂载完成后进一步调整 datadir 配置。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
小王的博客














