Ubuntu Server多块数据盘挂载与fstab持久化方式
在服务器运维过程中,多块数据盘的规范化挂载几乎是必做工作之一。本文记录一次完整的实战流程:
从磁盘识别 → 分区 → 格式化 → 挂载 → 使用 UUID 写入 /etc/fstab 实现永久挂载。
适用环境包括但不限于:
- Ubuntu Server
- Proxmox 虚拟机
- 云主机 / KVM / QEMU 环境
一、磁盘背景
当前系统中新增了三块数据盘,系统识别信息如下:
Disk /dev/sdf: 1.5 TiB, 1649267441664 bytes Disk model: QEMU HARDDISK Disk /dev/sdg: 4.5 TiB, 4947802324992 bytes Disk model: QEMU HARDDISK Disk /dev/sdh: 1 TiB, 1099511627776 bytes Disk model: QEMU HARDDISK
目标规划如下:
| 磁盘 | 挂载点 |
|---|---|
| /dev/sdf | /data/bucket5 |
| /dev/sdg | /data/bucket6 |
| /dev/sdh | /data/bucket7 |
二、磁盘分区(GPT)
对每一块磁盘创建 GPT 分区表,并划分一个完整分区。
fdisk /dev/sdf fdisk /dev/sdg fdisk /dev/sdh
在 fdisk 交互中,基本流程一致:
g # 创建 GPT 分区表 n # 新建分区(默认即可,使用整块盘) w # 写入并退出
完成后,系统中会出现:
/dev/sdf1 /dev/sdg1 /dev/sdh1
三、格式化文件系统
这里统一使用 ext4,并保持简单可靠:
mkfs.ext4 /dev/sdf1 mkfs.ext4 /dev/sdg1 mkfs.ext4 /dev/sdh1
四、创建挂载目录并临时挂载
mkdir -p /data/bucket5 mkdir -p /data/bucket6 mkdir -p /data/bucket7 mount /dev/sdf1 /data/bucket5 mount /dev/sdg1 /data/bucket6 mount /dev/sdh1 /data/bucket7
验证挂载状态:
df -h
确认容量与挂载点正确后,再进行下一步。
五、为什么不用/dev/sdX,而要用 UUID?
结论先行:生产环境一律推荐使用 UUID。
原因很简单:
/dev/sdf、/dev/sdg在 重启 / 热插拔 / 新增磁盘 后可能变化- UUID 是文件系统级别的唯一标识,稳定可靠
fstab官方文档也明确推荐 UUID
六、查看磁盘 UUID 的正确方式
使用 blkid 命令:
blkid
示例输出:
/dev/sdf1: UUID="5fd3bf47-37ab-4bbc-a918-7f897b0a32dd" TYPE="ext4" /dev/sdg1: UUID="b3e620ec-41b0-4995-b7fc-2ec8758026bb" TYPE="ext4" /dev/sdh1: UUID="d329ccfd-f069-41a4-86e8-c5e21d265d1e" TYPE="ext4"
记录下对应关系即可。
七、写入 /etc/fstab 实现永久挂载
编辑 /etc/fstab:
nano /etc/fstab
新增内容如下:
UUID=5fd3bf47-37ab-4bbc-a918-7f897b0a32dd /data/bucket5 ext4 defaults,noatime,nofail 0 2 UUID=b3e620ec-41b0-4995-b7fc-2ec8758026bb /data/bucket6 ext4 defaults,noatime,nofail 0 2 UUID=d329ccfd-f069-41a4-86e8-c5e21d265d1e /data/bucket7 ext4 defaults,noatime,nofail 0 2
参数说明(重点)
noatime
减少 inode 写入,适合数据盘,性能更友好nofail
即使磁盘异常,系统也能正常启动(非常重要)0 2
表示不做 dump,开机 fsck 顺序靠后
八、验证 fstab 是否正确
一定要做这一步:
mount -a
如果没有任何报错,说明 fstab 配置是正确的。
最后再次确认:
df -h
九、总结
这次多数据盘挂载的完整流程可以归纳为一句话:
分区 → 格式化 → 挂载 → 用 UUID 写入 fstab → mount -a 验证
几个实践中的经验结论:
- 数据盘统一放在
/data/bucketX结构下,后期扩展清晰 UUID + noatime + nofail是非常稳妥的组合mount -a是防止“重启翻车”的最后一道保险
这套流程在 Proxmox 虚拟机、云服务器、裸金属 场景中都同样适用。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
CentOS 6.5 web服务器apache的安装与基本设置
这篇文章主要介绍了CentOS 6.5 web服务器apache的安装与基本设置,需要的朋友可以参考下2017-09-09


最新评论