0

我想使用自定义容器启动 AI Platform Notebook 实例,以便添加一些依赖项(例如 Python 3.7)。但是,当我运行自定义容器时,我无法从 Cloud Filestore 挂载我的数据。

根据文档,我使用这个深度学习图像创建了一个自定义容器:

gcr.io/deeplearning-platform-release/tf-cpu

我还没有制作自己的容器,并且添加了零自定义;我刚刚gcr.io/deeplearning-platform-release/tf-cpu为我的自定义实例插入控制台。

当我尝试挂载我的 Cloud Filestore 时,我收到以下错误:

root@c7a60444b0fc:/# mount <IP_ADDRESS>:/streams cfs
mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
root@c7a60444b0fc:/# mount -o nolock <IP_ADDRESS>:/streams cfs
mount.nfs: Operation not permitted

现在,当我从控制台启动 TensorFlow 1.15 笔记本时(没有自定义),安装工作正常,并且环境与我使用深度学习图像得到的不同。特别是,深度学习图像以root用户身份启动,而 TF 1.15 实例以jupyter用户身份启动。

那么 GCP AI Notebook 实际使用的是什么镜像呢?深度学习映像需要哪些额外的自定义才能挂载云文件存储?

4

1 回答 1

0

AI Platform Notebooks 环境由您在创建实例时选择的容器映像提供。在此页面中,您将看到可用的容器图像类型

您面临的问题是一个已知问题,它发生在 rpc-statd.service 未初始化时。我已经按照以下步骤解决了它:

  • 创建了一个 Filestore 实例
  • 在与 Filestore 实例相同的 VPC 中创建了一个具有 Python 环境的 AI Platform Notebooks 实例
  • 进入 root 模式,安装 nfs-common 并启用 rpc-statd.service:

    sudo bash
    sudo apt install nfs-common
    systemctl enable rpcstatd.service
    

使用上述命令并遵循这些步骤,我可以正确挂载和访问 Filestore NFS。

如果您想进一步自定义自定义容器,您应该考虑到,为了访问 Cloud Filestore,您必须使用 VPN 连接到与您的 Filestore 实例相同的网络,如本文中所建议的那样,否则调用 Filestore 的实例内部 IP 时会出现“连接超时”错误。您可以使用Cloud VPN来执行此操作。


于 2020-01-21T12:03:06.943 回答