我可以将Cloud Shell与超过5 GB的永久存储一起使用吗?

时间:2019-10-06 17:30:02

标签: google-cloud-platform google-cloud-shell gcsfuse

根据docs

  

Cloud Shell提供了5 GB的免费永久磁盘存储空间,该存储空间作为虚拟机实例上的def on_mouse_down(pos): global score if apple.collidepoint(pos): print("Good Shot!") place_apple() score = score + 1 apple.image = "cactus" # ADDED: Change the image if your click hit the Actor print(score) else: print("You Missed!") quit() 目录安装。

我需要更多(收费)存储,尽管我可以从Cloud Shell环境中访问该存储,并且该存储在我的会话中保持不变。它主要用于存储git存储库和图像的本地克隆。我将是唯一访问这些文件的人。

5 GB的存储空间似乎是一个硬限制,因此它不会动态扩展并向我收费。可以使用增强模式,但这不会影响存储大小。而且我也无法使用custom Cloud Shell environment来提供更多存储空间。我不知道是否可以将另一个GCE永久磁盘安装到我的$HOME上。我正在按照建议的gcs-fuse考虑​​使用in this answer,但不确定是否适合git repos。

有什么办法可以在Cloud Shell中提供更多存储空间吗?

4 个答案:

答案 0 :(得分:2)

无法向Cloud Shell添加更多存储。您可以创建VMinstall the Cloud SDK并拥有所需的存储空间,但是目前无法向Cloud Shell添加存储空间。

根据您计划如何使用保存的存储库,Cloud Storage可能是理想的选择,因为它的存储类别只是完美的归档。

Filestore将是您的最佳选择,因为它非常适合文件系统并且具有可伸缩性。正如您所描述的,它满足您的需求。

您可以使用Cloud Storage with FUSE。请记住,这种方法虽然很棒,但取决于如何将其用作costs are based on storage category

您可以看到Cloud Platform必须提供here的存储解决方案的简要比较。

答案 1 :(得分:2)

Google Cloud Shell是在由Google管理的隐藏Compute Engine实例上运行的容器。您可以将该容器下载,修改并重新部署到Cloud Shell或运行在云中或桌面上的自己的容器中。

每个this pagegcr.io/cloudshell-images/cloudshell:latest上都有容器的基础映像。

对于您的用例,我将Compute Engine与Container OS一起使用,并在COS中运行Cloud Shell容器。您可以扩展CPU,内存和存储来满足您的需求。

您还可以设置Compute Engine实例,安装CLI,SDK和工具并拥有更强大的系统。

基于第一个答案的未来读者注意事项:

  1. 文件存储是一个很棒的产品,但要注意成本。最低部署为1 TB,每月200美元以上。每次Cloud Shell重新启动时,您都需要挂载NFS共享-可以将其放入登录脚本中。注意:我不确定您是否真的可以从Cloud Shell中的Filestore挂载NFS共享。我从未测试过。
  2. 您将在FUSE上遇到同样的重新安装问题,此外,访问云存储也会带来带宽成本。
  3. Cloud Shell是一款出色的产品,可以很好地实施,但是当您需要超越其功能时,最好部署中小型GCE实例。这将启用持久性,快照等。

答案 2 :(得分:1)

还有另一种方法可以在云外壳中拥有更多磁盘空间。就是创建一个云存储桶,将云存储桶映射为一个文件夹。这样您就可以在云存储桶中存储更大的文件,并且不需要任何计算实例。

  1. 转到云存储并创建一个新的存储桶

  2. 复制存储桶的名称,例如。 my_storage_bucket

  3. 转到 cloud shell 并在您的主文件夹中创建一个文件夹

    mkdir ~/my_bucket_folder

  4. 将存储桶挂载到此文件夹

    gcsfuse my_storage_bucket ~/my_bucket_folder

  5. 将目录更改为 my_bucket_folder

    cd ~/my_bucket_folder

  6. 瞧!你有无限的空间!

  7. 要卸载,请运行以下命令

    fusermount -u ~/my_bucket_folder

答案 3 :(得分:0)

我正在使用gcsfuse并且工作正常。如果将mount命令放在.customize_environment中(在启动时运行),则不必每次都重新安装。

#!/bin/sh
#.customize_environmnet run in background as root, wait for your user to initialize
sleep 20
sudo -u [USER] gcsfuse -o nonempty -file-mode=777 -dir-mode=777 --uid=1000 --debug_gcs [BUCKET_NAME] /home/[USER]/[FOLDER_NAME]

您可以在Unlimited persistent disk in google cloud shell

阅读更多内容