阿里云服务器挂载的云盘“不见了”是常见问题,通常表现为:在系统中无法看到挂载的磁盘、df -h 不显示、lsblk 看不到设备等。但大多数情况下,数据并未丢失,只是未正确挂载或配置出错。以下是排查和找回的步骤:
一、确认云盘是否仍然存在(控制台层面)
-
登录阿里云控制台
访问 https://ecs.console.aliyun.com -
进入「实例与镜像」 → 「云盘」
- 查看该云盘是否还在?
- 检查云盘状态是否为 “可用” 或 “使用中”。
- 如果状态是“可用”,说明已从实例卸载;
- 如果是“使用中”,但系统看不到,则可能是未正确挂载。
-
检查云盘是否挂载到正确的实例上
- 确认该云盘是否被误挂到了其他ECS实例上。
二、检查系统内是否识别到云盘
登录你的ECS服务器,执行以下命令:
# 查看所有块设备
lsblk
# 或者使用 fdisk 列出磁盘
sudo fdisk -l
- 正常情况下,系统盘是
/dev/vda(或/dev/xvda),数据盘通常是/dev/vdb,/dev/vdc等。 - 如果
lsblk中能看到/dev/vdb但没有分区或挂载点,说明磁盘存在但未挂载。
三、检查是否已经挂载
# 查看当前挂载情况
df -h
# 查看开机自动挂载配置
cat /etc/fstab
- 如果
/etc/fstab中有错误的UUID或设备路径,可能导致挂载失败,甚至系统启动时跳过。 - 可通过
blkid命令查看实际设备的UUID:sudo blkid对比
/etc/fstab中的UUID是否一致。
四、重新挂载云盘(若磁盘存在但未挂载)
假设你发现 /dev/vdb1 是你要的数据盘:
# 创建挂载目录(例如 /mnt/data)
sudo mkdir -p /mnt/data
# 手动挂载
sudo mount /dev/vdb1 /mnt/data
# 验证是否成功
df -h
⚠️ 注意:如果提示文件系统错误(如 ext4, xfs 错误),可能需要运行
fsck修复。
五、如果磁盘不在系统中(lsblk 看不到)
可能原因及解决:
-
云盘已被卸载或分离
- 回到阿里云控制台,在「云盘」列表中找到该盘,点击「更多」→「挂载」,选择你的ECS实例重新挂载。
-
热插拔后未刷新设备
- 在Linux中,有时新挂载的云盘不会立即显示,可尝试:
# 重新扫描SCSI总线(适用于VirtIO驱动) echo 1 > /sys/class/scsi_host/host0/scan echo 1 > /sys/class/scsi_host/host1/scan echo 1 > /sys/class/scsi_host/host2/scan然后再次运行
lsblk或fdisk -l查看。
- 在Linux中,有时新挂载的云盘不会立即显示,可尝试:
-
实例重启后未自动挂载
- 检查
/etc/fstab是否配置正确,建议使用 UUID 而不是/dev/vdb1这种易变路径。
- 检查
六、数据恢复(极端情况)
如果磁盘损坏或文件系统崩溃:
-
停止实例,创建快照备份
- 在控制台对云盘创建快照,防止操作失误导致数据丢失。
-
挂载到其他ECS实例进行修复
- 将该云盘挂载到另一台调试用ECS上,检查并修复文件系统:
sudo fsck /dev/vdb1
- 将该云盘挂载到另一台调试用ECS上,检查并修复文件系统:
-
使用专业工具恢复数据
- 如
testdisk、photorec等。
- 如
七、预防措施
- 使用 UUID 在
/etc/fstab中挂载(通过blkid获取); - 挂载后测试
mount -a是否报错; - 定期创建云盘快照;
- 避免直接删除或卸载云盘前未备份。
总结:找回步骤流程图
云盘不见?
↓
去控制台检查云盘是否存在 & 是否挂载到本实例
↓
登录服务器执行 lsblk / fdisk -l 是否识别
↓
→ 若识别但未挂载 → mount 手动挂载
↓
→ 若未识别 → 重新扫描 SCSI 或 控制台重新挂载
↓
检查 /etc/fstab 是否配置错误(UUID vs 设备名)
↓
必要时从快照恢复或挂载到其他机器修复
如果你提供更具体的信息(如:lsblk 输出、df -h 结果、是否重启过、是否修改过 fstab),我可以进一步帮你分析。
🔐 重要提醒:不要随意格式化或初始化磁盘,以免造成数据永久丢失。
云小栈