Crear una instancia de Filestore con la CLI de gcloud

En esta guía de inicio rápido se muestra cómo empezar a usar Filestore rápidamente con la CLI de Google Cloud. En esta guía de inicio rápido, aprenderás a hacer lo siguiente:

  • Crea una instancia de Filestore.
  • Monta el sistema de archivos compartido de esa instancia en una VM de cliente de Compute Engine.
  • Crea un archivo en el recurso compartido de archivos montado.
  • Elimina la instancia de Filestore.

Antes de empezar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.

  3. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  4. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  5. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  6. Si vas a usar un proyecto que ya tienes para seguir esta guía, verifica que tienes los permisos necesarios para completarla. Si has creado un proyecto, ya tienes los permisos necesarios.

  7. Verify that billing is enabled for your Google Cloud project.

  8. Enable the Filestore API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable file.googleapis.com
  9. Install the Google Cloud CLI.

  10. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  11. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  12. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  13. Si vas a usar un proyecto que ya tienes para seguir esta guía, verifica que tienes los permisos necesarios para completarla. Si has creado un proyecto, ya tienes los permisos necesarios.

  14. Verify that billing is enabled for your Google Cloud project.

  15. Enable the Filestore API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable file.googleapis.com
  16. Roles obligatorios

    Para obtener los permisos que necesitas para completar esta guía de inicio rápido, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en tu proyecto:

    Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.

    También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

    Cuando termines las tareas que se describen en este documento, puedes evitar que se te siga facturando eliminando los recursos que has creado. Para obtener más información, consulta la sección Limpiar.

    Crear una VM de Compute Engine

    Linux

    1. Create a Compute Engine instance. Configure the instance as follows:
      • Name the instance nfs-client.
      • Asigna el valor us-central1-c a la marca --zone.
      • Asigna el valor debian-cloud a la marca --image-project.
      • Asigna el valor debian-11 a la marca --image-family.
      • Asigna el valor http-server, a la marca --tags.
      • gcloud compute instances create nfs-client --zone=us-central1-c --image-project=debian-cloud --image-family=debian-11 --tags=http-server,

    Windows

    1. Create a Compute Engine instance. Configure the instance as follows:
      • Name the instance nfs-client.
      • Asigna el valor us-central1-c a la marca --zone.
      • Asigna el valor windows-cloud a la marca --image-project.
      • Asigna el valor windows-2012-r2 a la marca --image-family.
      • Asigna el valor http-server,http-server, a la marca --tags.
      • gcloud compute instances create nfs-client --zone=us-central1-c --image-project=windows-cloud --image-family=windows-2012-r2 --tags=http-server,http-server,

    Crear una instancia de Filestore

    En esta guía de inicio rápido se muestra cómo crear una instancia en el nivel de servicio regional con el rendimiento personalizado habilitado. Para obtener más información sobre cómo crear instancias, consulta el artículo Crear una instancia.

    1. Crea una instancia de Filestore. Configure la instancia de la siguiente manera:

      • Asigna el nombre nfs-server a la instancia.
      • Asigna el valor us-central1 a la marca --region.
      • Asigna el valor REGIONAL a la marca --tier.
      • Asigna el valor max-iops-per-tb=17000 a la marca --performance.

      • Asigna el valor name="vol1",capacity=1TB a la marca --file-share.

      • Asigna el valor name="default" a la marca --network.

        gcloud filestore instances create nfs-server --region=us-central1 --tier=REGIONAL --performance=max-iops-per-tb=17000 --file-share=name="vol1",capacity=1TB --network=name="default"
    2. Obtén información sobre la instancia de Filestore que has creado:

        gcloud filestore instances describe nfs-server --region=us-central1 

      El comando devuelve algo parecido a lo siguiente:

          createTime: '2025-02-12T09:15:08.163246004Z'
          customPerformanceSupported: true
          fileShares:
           -capacityGb: '1024'
              name: vol1
          name: projects/yourproject/locations/us-central1/instances/nfs-server
          networks:
          -connectMode: DIRECT_PEERING
            ipAddresses:
             - 10.0.0.2
            network: default
            reservedIpRange: 10.0.0.2/26
          performanceConfig:
            iopsPerTb:
              maxIopsPerTb: '17000'
          performanceLimits:
            maxIops: '17000'
            maxReadIops: '17000'
            maxReadThroughputBps: '417792000'
            maxWriteIops: '5100'
            maxWriteThroughputBps: '139264000'
          protocol: NFS_V3
          state: READY
          tier: REGIONAL

    Anota la dirección IP de la instancia para usarla al montar el recurso compartido de archivos. En esta guía de inicio rápido, usamos la dirección IP 10.0.0.2.

    Monta el sistema de archivos compartido de Filestore en la instancia nfs-client

    Linux

    1. Establish an SSH connection to the nfs-client instance:
      gcloud compute ssh nfs-client

    1. Instala NFS ejecutando los siguientes comandos en la ventana de terminal de nfs-client:

      sudo apt-get -y update &&
      sudo apt-get -y install nfs-common
      
    2. Crea un directorio de montaje en la instancia de nfs-client para el recurso compartido de archivos de Filestore:

      sudo mkdir /mnt/test
      
    3. Monta el sistema de archivos compartido en la instancia nfs-client con el comando mount especificando la dirección IP de la instancia de Filestore, el nombre del sistema de archivos compartido y el directorio de montaje:

      sudo mount MOUNT-POINT-DIRECTORY /mnt/test
      

      donde:

      MOUNT-POINT-DIRECTORY es la ruta al directorio en el que se monta el recurso compartido de archivos de Filestore. Por ejemplo: 10.0.0.2:/vol1

      .
    4. Opcional: confirma que el recurso compartido de archivos de Filestore está montado:

      df -h --type=nfs

    5. Cambia los permisos del archivo para que se pueda compartir:

      sudo chmod go+rw /mnt/test
      

    Windows

    Inicia sesión en la instancia de nfs-client y abre una petición de comando como administrador.

    1. Crea una cuenta y define una contraseña inicial para la instancia nfs-client:

      gcloud compute reset-windows-password nfs-client
      
    2. Configura tu instancia para habilitar la conexión a los puertos serie:

      gcloud compute instances add-metadata nfs-client --metadata=serial-port-enable=1
      
    3. Iniciar una sesión interactiva:

      gcloud compute connect-to-serial-port nfs-client --port=2
      
    4. En la petición SAC>, crea un canal:

      cmd
      

      Se crea un canal con el nombre Cmd0001.

    5. Conéctate al canal:

      ch -sn Cmd0001
      
    6. Introduce el nombre de usuario y la contraseña de la instancia nfs-client y deja en blanco el campo Domain. Te has conectado a la interfaz Command Prompt de la instancia nfs-client.

    Instalar el cliente NFS

    1. En el Command Prompt de nfs-client, cambia a Windows PowerShell:

      powershell
      
    2. Instala el cliente NFS:

      Install-WindowsFeature -Name NFS-Client
      
    3. Reinicia la instancia de nfs-client cuando se te solicite:

      restart-computer
      
    4. En la petición SAC>, espera a que aparezca la siguiente notificación:

      EVENT: The CMD command is now available.

      A continuación, ejecuta los comandos cmd y ch -sn como se ha indicado anteriormente para iniciar sesión y volver a conectarte a la instancia de nfs-client.

    Configurar el ID de usuario que usa el cliente NFS

    1. En el símbolo del sistema, ejecuta powershell para cambiar a Windows PowerShell.
    2. En PowerShell, ejecuta los siguientes comandos para crear dos entradas de registro nuevas, AnonymousUid y AnonymousGid:

      New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default" `
          -Name "AnonymousUid" -Value "0" -PropertyType DWORD
      
      New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default" `
          -Name "AnonymousGid" -Value "0" -PropertyType DWORD
      
    3. Reinicia el servicio de cliente NFS:

      nfsadmin client stop
      
      nfsadmin client start
      

    Asigna el recurso compartido de archivos vol1 a la instancia nfs-client

    1. Salir de PowerShell:

      exit
      
    2. Desde Command Prompt, activa el sistema de archivos compartido en la instancia nfs-client con el comando mount. Para ello, especifica la dirección IP de la instancia de Filestore, el nombre del sistema de archivos compartido y la letra de la unidad que se va a activar:

      mount -o mtype=hard 10.0.0.2:/vol1 z:
      

    Crear un archivo en el recurso compartido de archivos montado

    Linux

    1. En la ventana de terminal nfs-client, crea un archivo llamado testfile ejecutando el siguiente comando:

      echo 'This is a test' > /mnt/test/testfile
      
    2. Para confirmar que se ha creado el archivo, ejecuta el siguiente comando y comprueba que testfile se encuentra en el contenido del directorio devuelto:

      ls /mnt/test
      

    Windows

    1. En la ventana del símbolo del sistema de la instancia nfs-client, crea un archivo llamado testfile:

      echo 'This is a test' > Z:\testfile
      
    2. Para confirmar que se ha creado el archivo, ejecuta el siguiente comando:

      dir Z:
      

      y verificando que testfile se encuentra en el contenido del directorio devuelto.

    Limpieza

    Para evitar que se apliquen cargos en tu Google Cloud cuenta por los recursos utilizados en esta página, elimina el Google Cloud proyecto con los recursos.

    Eliminar el Google Cloud proyecto

      Delete a Google Cloud project:

      gcloud projects delete PROJECT_ID

    Eliminar la instancia de Filestore

    Elimina la instancia nfs-server:

    gcloud filestore instances delete nfs-server --zone=us-central1-c
    

    Eliminar la instancia de Compute Engine

    Elimina la instancia:
    gcloud compute instances delete nfs-client

    Siguientes pasos