当我通过 Jupyter 端口转发 SSH 进入 GCP 虚拟机实例时永久磁盘丢失

Persistent disk missing when I SSH into GCP VM instance with Jupyter port forwarding

我已经在 Google Cloud 上创建了一个 VM 实例,并且还设置了一个 Notebook 实例。在这种情况下,我有一堆笔记本、python 模块以及大量数据。

我想 运行 使用终端在我的 VM 实例上创建一个脚本。我尝试 运行 在 Jupyter Notebook 中使用它,但它在几个小时内失败并使笔记本崩溃。我决定改为从命令行尝试。但是,当我使用文档中的命令通过 ssh 进入我的实例时:

gcloud beta compute ssh --zone "<Zone>" "<Instance Name>" --project "<Project-ID>",

gcloud compute ssh --project <Project-ID> --zone <Zone> <Instance Name>

gcloud compute ssh --project $PROJECT_ID --zone $ZONE $INSTANCE_NAME -- -L 8080:localhost:8080

我成功连接到实例,但缺少文件系统。我找不到我的笔记本或脚本。我可以看到这些文件的唯一方法是使用 GUI 和 select 'Open Jupyter Lab' 来自 AI Platform > Notebooks 控制台。

如何通过命令行访问 VM,以便我仍然可以看到与此 VM 实例关联的“永久磁盘”?

我在 fast.ai 入门页面上找到了答案。也就是说,您必须在 ssh 命令中将用户名指定为 jupyter

解决方案 1:配置默认区域和项目:

gcloud compute ssh jupyter@<instance name>

或者如果您想使用端口转发来访问您的笔记本:

gcloud compute ssh jupyter@<instance name> -- -L 8080:localhost:8080

解决方案 2:没有默认区域或项目:

请注意,我在这两个命令中都省略了 zoneproject id。如果您在初始 gcloud init 阶段设置默认区域和项目,则不需要它们。如果您没有这样做,则命令变为:

gcloud compute ssh --project <project ID> --zone <zone> jupyter@<instance name>

或者如果您想使用端口转发到 运行 笔记本:

gcloud compute ssh --zone <zone> jupyter@<instance name> -- -L 8080:localhost:8080