阿里云服务器重启后挂载的云盘不见了?

阿里云服务器(ECS)重启后挂载的云盘“不见了”,这是一个比较常见的问题,通常不是云盘本身丢失,而是挂载信息未自动恢复。以下是可能的原因和解决方案:


✅ 一、常见原因

  1. 未配置开机自动挂载(/etc/fstab 配置缺失)

    • 手动挂载的云盘在重启后不会自动重新挂载。
    • 必须通过 /etc/fstab 文件配置开机自动挂载。
  2. fstab 配置错误

    • 比如设备名称写死为 /dev/vdb1,但重启后设备名可能变化(尤其是多块磁盘时)。
    • 推荐使用 UUID 或磁盘标签 来避免设备名变化问题。
  3. 云盘未随实例自动挂载

    • 确认云盘在控制台是否设置为“随实例释放”或“自动挂载”。
  4. 文件系统损坏或磁盘异常

    • 极少数情况是文件系统损坏导致无法挂载。

✅ 二、排查与解决步骤

步骤 1:确认云盘是否存在并已挂载到实例

登录 ECS 控制台:

  • 进入 ECS 控制台 > 存储与快照 > 云盘
  • 查看你的数据盘是否还在,并且状态为“使用中”,并且“挂载点”显示你的实例。

如果没有挂载,手动重新挂载即可(控制台操作:挂载云盘到实例)。

步骤 2:登录服务器,检查磁盘是否识别

lsblk

fdisk -l

查看是否有你的数据盘(比如 /dev/vdb/dev/sdb)。

步骤 3:检查是否已挂载

df -hT

看看你的挂载目录(如 /mnt/data)是否出现在列表中。

步骤 4:手动重新挂载(临时恢复)

假设你的分区是 /dev/vdb1,挂载目录是 /data

sudo mount /dev/vdb1 /data

如果报错,请检查文件系统类型(ext4/xfs),例如:

sudo mount -t ext4 /dev/vdb1 /data

步骤 5:设置开机自动挂载(关键!)

编辑 /etc/fstab 文件:

sudo vim /etc/fstab

添加一行(推荐使用 UUID):

# 获取 UUID
blkid /dev/vdb1

输出示例:

/dev/vdb1: UUID="xxxx-xxxx-xxxx" TYPE="ext4"

然后在 /etc/fstab 中添加:

UUID=xxxx-xxxx-xxxx    /data    ext4    defaults,nofail    0    2

⚠️ 注意:

  • 使用 UUID 而非 /dev/vdb1 可避免设备名变化问题。
  • 添加 nofail 参数,防止因磁盘问题导致系统无法启动。

步骤 6:测试 fstab 配置是否正确

sudo mount -a

如果没有报错,说明配置正确。

然后重启测试:

sudo reboot

重启后再次运行 df -hT,确认挂载是否成功。


✅ 三、其他建议

  • 系统盘 vs 数据盘:系统盘会自动挂载,数据盘需要手动配置自动挂载。
  • 多磁盘环境:设备名(vdb/vdc)可能在重启后变化,必须用 UUID。
  • 云盘状态:确保云盘未被误删或卸载。

✅ 四、总结

问题 解决方案
重启后挂载消失 缺少 /etc/fstab 配置
设备名变化导致失败 使用 UUID 替代 /dev/vdX
挂载失败报错 检查文件系统、权限、目录是否存在

最终建议:

所有数据盘挂载后,务必配置 /etc/fstab 并使用 UUID + nofail,避免重启后“丢盘”。


如果你提供具体错误信息(如 mount: unknown filesystem typecan't find UUID),我可以进一步帮你诊断。