将 Filestore 实例挂载到 Cloud TPU 虚拟机

Filestore 是 Compute Engine 的全代管式网络附加存储 (NAS)。Filestore 原生兼容现有企业应用,并支持与 NFSv3 兼容的任何客户端。

准备工作

如需在 Cloud TPU 虚拟机上挂载 Filestore 实例,您需要向与 Cloud TPU 虚拟机关联的服务账号添加 Filestore 角色(Cloud Filestore 编辑者或 Cloud Filestore 查看者)。如果您在创建 Cloud TPU 虚拟机时未指定自定义服务账号,您的 Cloud TPU 虚拟机将使用默认的 Compute Engine 服务账号。如需详细了解如何在创建 Cloud TPU 虚拟机时指定服务账号,请参阅设置 Cloud TPU 环境。如需详细了解如何创建服务账号,请参阅创建服务账号

向服务账号添加 Filestore 编辑者角色

以下说明介绍了如何将 Cloud Filestore 编辑者角色添加到 Compute Engine 默认服务账号。您可以按照以下说明将 Cloud Filestore 编辑者角色添加到任何服务账号。在第 2 步中,您可以搜索并使用自定义服务账号,而不是 Compute Engine 默认服务账号。

  1. 打开 IAM 控制台

  2. 选择按主账号查看标签页,然后在过滤条件字段中输入 Name:Compute Engine default service account

  3. 点击服务账号旁边的 。 IAM 控制台会显示一个对话框,其中列出了分配给 Compute Engine 默认服务账号的角色。

  4. 点击 以添加其他角色。

  5. 展开选择角色下拉菜单,在过滤条件中输入 Filestore,然后选择 Cloud Filestore 编辑器

  6. 点击保存以关闭对话框。您已向 Compute Engine 默认服务账号添加了 Filestore 编辑者角色。

如需详细了解服务账号,请参阅服务账号概览。如需详细了解 IAM 角色,请参阅角色和权限

创建 Filestore 实例

按照创建 Filestore 实例中的说明创建 Filestore 实例。

在 Cloud TPU 虚拟机上装载 Filestore 实例

您在 Cloud TPU 上挂载 Filestore 实例时使用的命令取决于您使用的是单个 Cloud TPU 还是 Cloud TPU Pod 分片。

在单个 Cloud TPU 虚拟机上装载 Filestore 实例

  1. 使用 SSH 连接到 Cloud TPU 虚拟机。
          gcloud compute tpus tpu-vm ssh your-tpu-name \
            --zone=your-zone
        
  2. 安装 nfs-common 软件包。
          sudo apt-get update --allow-releaseinfo-change \
            && sudo apt-get -y update \
            && sudo apt-get -y install nfs-common
        
  3. 创建用于装载 NFS 的目录
          sudo mkdir -p mount-dir \
            && sudo chmod ugo+rw mount-dir
        
  4. 查找 Filestore 的 IP 地址。
          gcloud filestore instances describe filestore-instance-name \ 
            --region filestore-region
        
  5. 将 Cloud TPU 虚拟机上的 Filestore 实例装载到您的挂载目录。
          sudo mount filestore-ip:file-share-name mount-dir-name
        

在 Cloud TPU Pod 切片上装载 Filestore 实例

Cloud TPU Pod 切片由 2 个或更多 Cloud TPU 虚拟机组成。以下命令将 gcloud compute tpus tpu-vm ssh 命令与 --worker=all--command 标志结合使用,以便在所有 Cloud TPU 虚拟机上同时运行命令。

  1. 在 Pod 切片中的所有 Cloud TPU 虚拟机上安装 nfs-common 软件包。
            gcloud compute tpus tpu-vm ssh your-tpu-name \
              --project=your-gcp-project \
              --zone=your-zone \
              --worker=all \
              --command="sudo apt-get update --allow-releaseinfo-change && sudo apt-get -y update && sudo apt-get -y install nfs-common"
          
  2. 创建一个目录来装载 Filestore 实例。 将 mount-dir-name 替换为您选择的目录名称。
          gcloud compute tpus tpu-vm ssh your-tpu-name \
            --project=your-gcp-project \
              --zone=your-zone \
              --worker=all \
              --command="sudo mkdir -p mount-dir-name && sudo chmod ugo+rw mount-dir-name"
          
  3. 查找 Filestore 实例的 IP 地址。
          gcloud filestore instances describe filestore-instance-name \ 
            --region filestore-region
        
  4. 在 Cloud TPU 虚拟机上装载 Filestore 实例。请替换以下内容:
          sudo mount filestore-ip:file-share-name mount-dir
        

将数据写入 Filestore 实例

请务必向您挂载 Filestore 实例的目录授予 Linux 读写权限。您可以像使用本地文件系统一样使用该目录。