Crie uma instância do Filestore através da CLI gcloud

Este início rápido mostra como começar a usar rapidamente o Filestore com a CLI Google Cloud. Neste início rápido, vai aprender a:

  • Crie uma instância do Filestore.
  • Monte a partilha de ficheiros dessa instância numa VM de cliente do Compute Engine.
  • Crie um ficheiro na partilha de ficheiros montada.
  • Elimine a instância do Filestore.

Antes de começar

  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. Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.

  4. Para inicializar a CLI gcloud, execute o seguinte 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. Se estiver a usar um projeto existente para este guia, verifique se tem as autorizações necessárias para concluir este guia. Se criou um novo projeto, já tem as autorizações necessárias.

  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. Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.

  11. Para inicializar a CLI gcloud, execute o seguinte 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. Se estiver a usar um projeto existente para este guia, verifique se tem as autorizações necessárias para concluir este guia. Se criou um novo projeto, já tem as autorizações necessárias.

  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. Funções necessárias

    Para receber as autorizações de que precisa para concluir este início rápido, peça ao seu administrador que lhe conceda as seguintes funções da IAM no seu projeto:

    Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

    Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

    Quando terminar as tarefas descritas neste documento, pode evitar a faturação contínua eliminando os recursos que criou. Para mais informações, consulte o artigo Limpe.

    Crie uma VM do Compute Engine

    Linux

    1. Create a Compute Engine instance. Configure the instance as follows:
      • Name the instance nfs-client.
      • Defina a flag --zone como us-central1-c.
      • Defina a flag --image-project como debian-cloud.
      • Defina a flag --image-family como debian-11.
      • Defina a flag --tags como http-server,.
      • 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.
      • Defina a flag --zone como us-central1-c.
      • Defina a flag --image-project como windows-cloud.
      • Defina a flag --image-family como windows-2012-r2.
      • Defina a flag --tags como http-server,http-server,.
      • gcloud compute instances create nfs-client --zone=us-central1-c --image-project=windows-cloud --image-family=windows-2012-r2 --tags=http-server,http-server,

    Crie uma instância do Filestore

    Este início rápido mostra como criar uma instância no nível de serviço regional com o desempenho personalizado ativado. Para ver detalhes sobre a criação de instâncias, consulte o artigo Crie uma instância.

    1. Crie uma instância do Filestore. Configure a instância da seguinte forma:

      • Atribua um nome à instância nfs-server.
      • Defina a flag --region como us-central1.
      • Defina a flag --tier como REGIONAL.
      • Defina a flag --performance como max-iops-per-tb=17000.

      • Defina a flag --file-share como name="vol1",capacity=1TB.

      • Defina a flag --network como name="default".

        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. Receber informações sobre a instância do Filestore que criou:

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

      O comando devolve algo como:

          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

    Copie o endereço IP da instância para usar ao montar a partilha de ficheiros. Para este guia de início rápido, usamos o endereço IP 10.0.0.2.

    Monte a partilha de ficheiros do Filestore na instância nfs-client

    Linux

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

    1. Instale o NFS executando os seguintes comandos na janela de terminal de nfs-client:

      sudo apt-get -y update &&
      sudo apt-get -y install nfs-common
      
    2. Crie um diretório de montagem na instância nfs-client para a partilha de ficheiros do Filestore:

      sudo mkdir /mnt/test
      
    3. Monte a partilha de ficheiros na instância nfs-client com o comando mount especificando o endereço IP da instância do Filestore, o nome da partilha de ficheiros e o diretório de montagem para o qual montar:

      sudo mount MOUNT-POINT-DIRECTORY /mnt/test
      

      where:

      MOUNT-POINT-DIRECTORY é o caminho para o diretório onde a partilha de ficheiros do Filestore está montada. Por exemplo: 10.0.0.2:/vol1

    4. Opcional: confirme que a partilha de ficheiros do Filestore está montada:

      df -h --type=nfs

    5. Torne a partilha de ficheiros acessível alterando as respetivas autorizações:

      sudo chmod go+rw /mnt/test
      

    Windows

    Inicie sessão na instância do nfs-client e abra uma linha de comandos como administrador

    1. Crie uma conta e defina uma palavra-passe inicial para a instância nfs-client:

      gcloud compute reset-windows-password nfs-client
      
    2. Configure a sua instância para permitir a ligação a portas de série:

      gcloud compute instances add-metadata nfs-client --metadata=serial-port-enable=1
      
    3. Inicie uma sessão interativa:

      gcloud compute connect-to-serial-port nfs-client --port=2
      
    4. No comando SAC>, crie um novo canal:

      cmd
      

      É criado um canal com o nome Cmd0001.

    5. Estabeleça ligação ao canal:

      ch -sn Cmd0001
      
    6. Introduza o nome de utilizador e a palavra-passe da instância do nfs-client e deixe o campo Domain em branco. Tem ligação à interface Command Prompt da instância nfs-client.

    Instale o cliente NFS

    1. No Command Prompt de nfs-client, mude para Windows PowerShell:

      powershell
      
    2. Instale o cliente NFS:

      Install-WindowsFeature -Name NFS-Client
      
    3. Reinicie a instância nfs-client quando lhe for pedido:

      restart-computer
      
    4. No comando SAC>, aguarde até que seja apresentada a seguinte notificação:

      EVENT: The CMD command is now available.

      Em seguida, execute os comandos cmd e ch -sn, conforme indicado anteriormente, para iniciar sessão e restabelecer a ligação à instância nfs-client.

    Configure o ID do utilizador usado pelo cliente NFS

    1. Na linha de comandos, execute powershell para mudar para o Windows PowerShell.
    2. Em PowerShell, execute os seguintes comandos para criar duas novas entradas de registo, AnonymousUid e 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. Reinicie o serviço de cliente NFS:

      nfsadmin client stop
      
      nfsadmin client start
      

    Mapeie a partilha de ficheiros vol1 para a instância nfs-client

    1. Saia em PowerShell:

      exit
      
    2. A partir de Command Prompt, monte a partilha de ficheiros na instância nfs-client com o comando mount, especificando o endereço IP da instância do Filestore, o nome da partilha de ficheiros e a letra da unidade a montar:

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

    Crie um ficheiro na partilha de ficheiros montada

    Linux

    1. Na janela do terminal nfs-client, crie um ficheiro denominado testfile executando o seguinte comando:

      echo 'This is a test' > /mnt/test/testfile
      
    2. Confirme se o ficheiro foi criado executando o seguinte comando e verificando se testfile está no conteúdo do diretório devolvido:

      ls /mnt/test
      

    Windows

    1. Na janela da Linha de comandos da instância nfs-client, crie um ficheiro com o nome testfile:

      echo 'This is a test' > Z:\testfile
      
    2. Confirme que o ficheiro foi criado executando o seguinte comando:

      dir Z:
      

      e verificar se testfile está no conteúdo do diretório devolvido.

    Limpar

    Para evitar incorrer em custos na sua Google Cloud conta pelos recursos usados nesta página, elimine o Google Cloud projeto com os recursos.

    Elimine o Google Cloud projeto

      Delete a Google Cloud project:

      gcloud projects delete PROJECT_ID

    Elimine a instância do Filestore

    Elimine a instância nfs-server:

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

    Elimine a instância do Compute Engine

    Elimine a instância:
    gcloud compute instances delete nfs-client

    O que se segue?