这个坑值得记一笔。把数据盘卸载又挂回同一实例,lsblk 里设备名从 vdb 变成了 vdc,脚本里写死的设备路径直接找不到,备份任务连续几天失败。
排查方向其实有限,先把可能性排一排。设备名由内核按探测顺序分配,本来就不保证稳定;同时挂载多块盘时,顺序发生变化很常见;脚本里用设备名而不是 UUID 或标签来定位。
上来先查新设备名和 UUID
lsblk -f && blkid /dev/vdc1
随后确认挂载配置是否还在用旧名
grep -n vd /etc/fstab
脚本里改成按标签查找
findfs LABEL=data
等前面都确认过,再用 udev 规则固定设备名
cat /etc/udev/rules.d/70-data.rules
我习惯把每一步的执行时间和结果记在一边,后面复盘省事。
怎么算真的好了,看的是同一批现象。重启后设备名仍可能变,但 /data 始终挂载正确,备份脚本执行不再报找不到设备。
控制台里的盘编号与系统内设备名没有对应关系,只有 UUID 或序列号能对上账,报工单沟通时这点很关键。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。