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

Can I use Cloud Shell with more than the 5 GB persistent storage?

根据 docs:

Cloud Shell provisions 5 GB of free persistent disk storage mounted as your $HOME directory on the virtual machine instance.

我需要更多(付费)存储空间,但我可以从云 Shell 环境中访问,并且在我的会话中持续存在。它主要用于存储 git 存储库和图像的本地克隆。我将是唯一一个访问这些文件的人。

看来5GB的存储空间是硬性限制,所以不会动态扩容,超出部分会向我收费。可以使用升压模式,但这不会影响存储大小。而且我也无法使用 custom Cloud Shell environment. I couldn't figure out if I can mount another GCE persistent disk to my $HOME. I was considering gcs-fuse as suggested 提供更多存储空间,但我不确定它是否适合 git 存储库。

有什么方法可以在云中获得更多可用存储空间 Shell?

无法向云端添加更多存储空间 Shell。您可以创建一个 VM and install the Cloud SDK 并拥有任意多的存储空间,但目前无法将存储空间 space 添加到云 Shell.

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

Filestore 将是您的最佳选择,因为它非常适合文件系统并且可扩展。正如您所描述的,它符合您的需求。

您可以使用 Cloud Storage with FUSE. Keep in mind that this method, although great, depends on how it will be used as costs are based on storage category.

您可以看到云平台必须提供的存储解决方案的简要比较 here

Google 云 Shell 是 运行 在 Google 管理的隐藏计算引擎实例上的容器。您可以下载、修改此容器并将其重新部署到云端 Shell 或您自己的容器 运行 在云端或您的桌面上。

根据 this page.

,容器的基本映像在 gcr.io/cloudshell-images/cloudshell:latest 可用

对于您的用例,我会使用带有容器 OS 的计算引擎和 运行 COS 中的云 Shell 容器。您可以扩展 CPU、内存和存储以满足您的要求。

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

根据第一个答案给未来读者的注意事项:

  1. Filestore 是一个很棒的产品,但要注意成本。最低部署为 1 TB,每月 200 美元以上。每次 Cloud Shell 重新启动时,您都需要挂载 NFS 共享 - 这可以放入登录脚本中。注意:我不确定您是否真的可以从云中的 Filestore 安装 NFS 共享 Shell。我从来没有测试过这个。
  2. 您将遇到与 FUSE 相同的重新安装问题,而且您还需要支付带宽费用才能访问 Cloud Storage。
  3. Cloud Shell 是一款实施良好的出色产品,但是当您需要超出其功能时,最好部署一个 small/medium 大小的 GCE 实例。这将启用持久性、快照等。

我正在使用 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

阅读更多内容

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

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

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

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

    mkdir ~/my_bucket_folder

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

    gcsfuse my_storage_bucket~/my_bucket_folder

  5. 将目录更改为您的 my_bucket_folder

    cd ~/my_bucket_folder

  6. 瞧!你有无限 space!

  7. 卸载请运行以下

    fusermount -u ~/my_bucket_folder