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

问题描述

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

我想使用终端在我的VM实例上运行脚本。我尝试在Jupyter笔记本中运行它,但是它失败了几个小时,并导致笔记本崩溃。我决定尝试从命令行尝试。但是,当我使用文档中的命令将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并从AI Platform > Notebooks控制台中选择“ Open Jupyter Lab”。

如何通过命令行访问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