云存储目录在重启实例后消失

3

我已经将一个标准的持久磁盘连接到实例上。在那个磁盘上,我创建了一个名为“cloud-storage”的目录(像往常一样使用mkdir命令),并在其中挂载了存储桶(Google Cloud Storage)。此外,我还将挂载该存储桶的命令添加到了fstab中:

bucket_name /mnt/disks/disk1/cloud-storage gcsfuse 
rw,file_mode=0770,dir_mode=0770,uid=33,gid=33,noatime,_netdev,noexec,user,implicit_dirs,allow_other 0 3

挂载: mount /mnt/disks/disk1/cloud-storage

我可以轻松访问Google Cloud Storage存储桶:它已经被挂载,卸载并可访问数据。当存储桶被挂载时,如果我手动卸载它,“cloud-storage”目录不会消失。(这是正常的)

问题:当我重新启动实例并访问标准持久磁盘时,“cloud-storage”目录不存在。

我需要创建一个脚本,在重启后创建“cloud-storage”目录,并将存储桶挂载到目录上吗?我应该从哪里调用该脚本?我必须在挂载标准磁盘并挂载存储桶之前创建该目录。

1个回答

2
您说得对,每次重新启动实例时,都必须再次挂载GCS存储桶。我知道这可能很烦人,但是有一个解决方法:启动脚本可以让您设置脚本,这些脚本将在每次GCE实例启动或重新启动时自动运行。您可以在此启动脚本中添加用于挂载GCS存储桶的命令,当VM已准备好提供服务时,您应该会看到您的GCS存储桶已挂载并准备好工作。这些脚本是使用Bash编写的。
您可以在此脚本中添加有关标准磁盘之后和挂载存储桶之前的目录逻辑,而不需要进行过多手动操作。
还要确保您的启动脚本流程符合其他技术要求。例如,在运行使用它的脚本之后不添加依赖项或类似的事情。
我知道一些最后的场景可能不适合您,但我只是想确保您对可能的未来实现有更广泛的了解。
希望这有所帮助! :)

1
非常有帮助的Kevin,谢谢!我已经将脚本放在自定义元数据(startup-script)中。它可以正常工作,我已经解决了问题。 - Apyc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接