在使用云服务器或 VPS 时,厂商提供的“数据盘”通常需要手动初始化才能使用。如果直接往系统里塞数据,很快就会撑爆系统盘导致服务宕机。

本文将带你走完查看、分区、格式化、挂载、持久化的完整磁盘配置流程。


🛠️ 磁盘配置工作流


1️⃣ 探视:确认新硬盘身份

在动刀之前,先确认新硬盘的设备名称。

1
lsblk
  • vda/sda:通常是系统盘(System Disk)。
  • vdb/sdb:通常是新加的数据盘(Data Disk)。如果它的 MOUNTPOINT 为空,说明它还没被派上用场。

2️⃣ 操刀:创建磁盘分区

对于全新的磁盘,我们需要通过分区表告诉系统如何利用这段空间。

1
sudo fdisk /dev/vdb

交互命令说明:

  1. 输入 n:新建分区(New)。
  2. 输入 p:选择主分区(Primary)。
  3. 回车 x2:起始和结束扇区均选择默认值,即分配全部空间。
  4. 输入 w:将修改写入磁盘(Write)并退出。

3️⃣ 洗礼:格式化文件系统

分区完成后,系统会出现 /dev/vdb1。我们需要把它格式化为 Linux 最常用的 ext4(或高性能的 xfs)格式。

1
sudo mkfs.ext4 /dev/vdb1

⚠️ 高能预警:此操作会擦除该分区所有数据!请务必确认操作的是正确的分区。


4️⃣ 定居:创建挂载点并挂载

在 Linux 中,硬盘必须挂载到一个具体的目录(文件夹)才能访问。

1
2
3
4
5
# 1. 创建挂载目标目录
sudo mkdir /data

# 2. 临时执行挂载
sudo mount /dev/vdb1 /data

5️⃣ 恒久:配置开机自动挂载

如果仅执行上面的 mount,机器重启后硬盘会再次消失。我们需要修改 /etc/fstab

🚀 进阶推荐:使用 UUID 挂载

设备名(如 /dev/vdb1)在多次插拔硬盘后可能会变,但 UUID 是唯一的。

  1. 获取 UUID

    1
    2
    sudo blkid /dev/vdb1
    # 输出:/dev/vdb1: UUID="xxxx-xxxx-xxxx" TYPE="ext4" ...
  2. 编辑系统配置

    1
    sudo nano /etc/fstab
  3. 添加配置行
    在末尾添加(用你查到的实际 UUID 替换):

    1
    UUID=你的UUID /data ext4 defaults,nofail 0 2

    nofail:如果硬盘意外损坏或丢失,系统仍能正常启动,不会卡在开机自检界面。


6️⃣ 验核:确保配置无误

修改完 fstab 后,千万不要直接重启! 先进行测试:

1
2
3
sudo umount /data    # 先卸载
sudo mount -a # 模拟开机自动挂载所有设备
df -h # 查看结果

如果 df -h 重新看到了 /data,说明配置完美。


💡 运维小贴士

  1. 分流存储:挂载成功后,记得修改 Dockerdata-root 路径或 MySQL 的存储目录到 /data,让系统盘保持清爽。
  2. 扩容注意:如果是云服务商提供的“在线扩容”,分区和挂载步骤会有所不同,通常需要使用 resize2fs 来调整文件系统大小。
  3. 定期巡检:定期通过 smartctl(如果支持)检查硬盘健康度,数据安全大于一切。

🎉 总结

挂载硬盘是 Linux 运维的必经之路。掌握了 UUID 挂载法,你就已经超越了 80% 的新手,避开了系统因磁盘变动而无法启动的深坑。

你会选择将哪些服务迁移到新硬盘上?欢迎分享你的分区的方案!


网站由 Polarisiu © 2026使用 Stellar 主题创建

总访问次 · 总访客人 · 本页访问
已发布博客8篇 · 总计5.9k字

全部都是博主用心学编写的啊!不是ai啊 只要保留原作者姓名并在基于原作创作的新作品适用同类型的许可协议,即可基于非商业目的对原作重新编排、改编或者再创作。

:YOURNAME