使用相同的设备路径或UUID

时间:2017-08-22 09:00:34

标签: google-cloud-platform google-compute-engine

我有一个磁盘连接到一个实例&我拍了快照。 现在,几天后 - 磁盘坏了,我想恢复磁盘。 我实施的是:

  1. 存储快照的元数据(
  2. 当恢复请求到来时,我从快照
  3. 创建新磁盘
  4. 分离原始磁盘(例如在主机内附加为 / dev / sdz
  5. 将新创建的磁盘附加到同一实例
  6. 通过这种方式,用户将使用他拍摄的快照获取磁盘已恢复的视图。

    现在,我用这种方法看到的问题是: 因为原始磁盘附加为 / dev / sdz ,在分离后&附加新磁盘,新磁盘应该只被视为 / dev / sdz , 否则应用程序或上层可能会中断。

    那么,google-cloud API是否提供了处理此问题的条款?

      

    请注意:我使用 google-api-python-client 库&代码在Python中。

1 个答案:

答案 0 :(得分:1)

我相信你所指的名字是"索引"的磁盘。但是我不确定。如果是这种情况,您只需要确保新磁盘的索引与您删除的磁盘的索引匹配。

话虽如此,如果你可以修改你的fstab,有更好的方法来做到这一点。例如,您可以使用" deviceName"通过挂载/dev/disk/by-id/whatever,在这种情况下,您只需要确保新磁盘与旧磁盘具有相同的deviceName。

另一种选择是使用文件系统的UUID进行挂载。由于这些新磁盘是旧磁盘的快照,因此它们将具有相同的UUID。

ls -l /dev/disk/by-uuid/

除非您完全重新格式化分区,否则不应该更改。在您的fstab中,您可以使用/dev/sdz1或其他任何内容来代替UUID=ef7481ea-a6f9-425b-940f-56e9c93492dd