GCE随机更改/ dev / disk / by-id下其他已装入磁盘的磁盘名称?

时间:2015-01-03 12:13:20

标签: google-compute-engine

我看到一个明显的随机问题,每个月一次,我正在努力。谷歌似乎正在改变其他磁盘(到root)的命名约定以及它们在启动时在/dev/disk/by-id/下的显示方式。 / p>

根磁盘始终为/dev/disk/by-id/google-persistent-disk-0

我们安装的单个额外磁盘大部分时间都显示为/dev/disk/by-id/google-persistent-disk-1

我们没有提供此名称,但我们编写了配置脚本以期望此约定。

在重新启动VM时,我们的启动脚本在执行安全挂载时失败:

/usr/share/google/safe_format_and_mount -m "mkfs.ext4 -F" /dev/disk/by-id/google-persistent-disk-1 /mountpoint

它们失败是因为某些内容更改了磁盘的名称。它现在不再/dev/disk/by-id/google-persistent-disk-1 /dev/disk/by-id/google - {我们创建它时给出的名称}

上次我更新启动脚本以使用这个新的命名约定时,它会在一小时后切换回来。 WTF?

任何线索都表示赞赏。感谢。

1 个答案:

答案 0 :(得分:0)

超出您控制范围的命名约定不是稳定的API。你不应该写你的管理工具来假设这个约定永远不会被改变 - 正如你所看到的,它改变了你没有任何关系的原因,它可能会再次改变。如果您需要访问系统上的磁盘列表,您应该通过udev查询它,或者您可以考虑使用不会更改的/dev/disk/by-uuid/(因为UUID是在创建文件系统时生成的)而不是{{1} }。