Mount a Filestore instance to Cloud TPU VMs

Filestore is a fully managed network attached storage (NAS) for Compute Engine. Filestore offers seamless compatibility with existing enterprise applications and supports any NFSv3-compatible client.

Before you begin

To mount a Filestore instance on your Cloud TPU VM, you add a Filestore role (Cloud Filestore Editor or Cloud Filestore Viewer) to the service account associated with your Cloud TPU VM. If you don't specify a custom service account when you create a Cloud TPU VM, your Cloud TPU VM uses the default Compute Engine service account. For more information about specifying a service account when you create a Cloud TPU VM, see Set up the Cloud TPU environment . For more information about creating a service account, see Create service accounts .

Add the Filestore Editor role to a service account

This section describes how to add the Cloud Filestore Editor role to the default Compute Engine service account. Follow these instructions to add the Cloud Filestore Editor role to any service account. In step 2, search for and use a custom service account instead of the default Compute Engine service account.

  1. Go to IAM console .

  2. Select the View by principalstab and type Name:Compute Engine default service account in the Filterfield.

  3. Click editnext to the service account. The IAM console displays a dialog that lists the roles assigned to the default Compute Engine service account.

  4. Click addto add another role.

  5. Expand the Select a rolemenu, type Filestore in the filter, and select Cloud Filestore editor.

  6. Click Saveto close the dialog. You have added the Filestore Editor role to the default Compute Engine service account.

For more information about service accounts, see Service Account Overview . To learn more about IAM roles, see Roles and permissions .

Create a Filestore instance

Create a Filestore instance by following the instructions in Creating Filestore instances .

Mount a Filestore instance on a Cloud TPU VM

The commands to mount a Filestore instance on a Cloud TPU VM depend on whether you use a single Cloud TPU VM or a Cloud TPU slice.

Mount a Filestore instance on a single Cloud TPU VM

  1. Connect to your Cloud TPU VM using SSH.

     gcloud  
    compute  
    ssh  
     TPU_NAME 
      
     \ 
      
    --zone = 
     ZONE 
     
    

    Replace the following placeholders:

    • TPU_NAME : The name of your TPU VM.
    • ZONE : The zone of your TPU VM.
  2. Install the nfs-common package.

     sudo  
    apt-get  
    update  
    --allow-releaseinfo-change  
     \ 
     && 
    sudo  
    apt-get  
    -y  
    update  
     \ 
     && 
    sudo  
    apt-get  
    -y  
    install  
    nfs-common 
    
  3. Create a directory to mount NFS.

     sudo  
    mkdir  
    -p  
     MOUNT_DIR 
      
     \ 
     && 
    sudo  
    chmod  
    ugo+rw  
     MOUNT_DIR 
     
    

    Replace the following placeholder:

    • MOUNT_DIR : The directory where you want to mount the Filestore instance.
  4. Find the IP address of the Filestore.

     gcloud  
    filestore  
    instances  
    describe  
     FILESTORE_INSTANCE_NAME 
      
     \ 
      
    --location  
     FILESTORE_REGION 
     
    

    Replace the following placeholders:

    • FILESTORE_INSTANCE_NAME : The name of your Filestore instance.
    • FILESTORE_REGION : The region of your Filestore instance.
  5. Mount the Filestore instance on your Cloud TPU VM to your mount directory.

     sudo  
    mount  
     FILESTORE_IP 
    : FILE_SHARE_NAME 
      
     MOUNT_DIR 
     
    

    Replace the following placeholders:

    • FILESTORE_IP : The IP address of your Filestore instance.
    • FILE_SHARE_NAME : The name of the file share on your Filestore instance.
    • MOUNT_DIR : The directory where you want to mount the Filestore instance.

Mount a Filestore instance on a Cloud TPU slice

Cloud TPU slices are provisioned as Compute Engine managed instance groups (MIGs). Because MIGs distribute VMs across compute capacity, use a startup script attached to your instance template to mount a Filestore instance to all machines in your slice. This ensures the mount automatically becomes available whenever instances are created or automatically healed.

  1. Find the IP address of your Filestore instance.

     gcloud  
    filestore  
    instances  
    describe  
     FILESTORE_INSTANCE_NAME 
      
     \ 
      
    --location  
     FILESTORE_REGION 
     
    

    Replace the following placeholders:

    • FILESTORE_INSTANCE_NAME : The name of your Filestore instance.
    • FILESTORE_REGION : The region of your Filestore instance.
  2. Create a startup script. The script installs the nfs-common package, creates the mount directory, and attaches the Filestore instance. Save the following code as a local file named mount-filestore.sh .

      #!/bin/bash 
    sudo  
    apt-get  
    update  
    --allow-releaseinfo-change && 
    sudo  
    apt-get  
    -y  
    update && 
    sudo  
    apt-get  
    -y  
    install  
    nfs-common
    sudo  
    mkdir  
    -p  
     MOUNT_DIR 
    sudo  
    chmod  
    ugo+rw  
     MOUNT_DIR 
    sudo  
    mount  
     FILESTORE_IP 
    : FILE_SHARE_NAME 
      
     MOUNT_DIR 
     
    

    Replace the following placeholders:

    • FILESTORE_IP : The IP address of your Filestore instance.
    • FILE_SHARE_NAME : The name of the file share on your Filestore instance.
    • MOUNT_DIR : The directory where you want to mount the Filestore instance.
  3. Apply the startup script to your instance template. When you create the instance template for your MIG, use the --metadata-from-file flag to supply your script.

     gcloud  
    compute  
    instance-templates  
    create  
     INSTANCE_TEMPLATE_NAME 
      
     \ 
      
    --metadata-from-file = 
    startup-script = 
    mount-filestore.sh  
     \ 
      
    ... 
    

    Replace the following placeholders:

    • INSTANCE_TEMPLATE_NAME : The name of your instance template.

Writing data to Filestore instance

Grant Linux read and write permissions on the directory where you mount the Filestore instance. You can then use the directory as you would your local file system.

Create a Mobile Website
View Site in Mobile | Classic
Share by: