Esta página mostra como montar uma partilha de ficheiros do Filestore numa instância de máquina virtual (VM) do Compute Engine que esteja no mesmo Google Cloud projeto e rede VPC. Para saber como montar partilhas de ficheiros em clientes numa rede remota, consulte o artigo Montar partilhas de ficheiros em clientes remotos. Se quiser aceder a instâncias do Filestore a partir de clusters do Google Kubernetes Engine, consulte o artigo Aceda a instâncias do Filestore com o controlador CSI do Filestore.
Antes de começar
Certifique-se de que a firewall de rede está configurada corretamente para utilização com o Filestore. Consulte o artigo Configurar regras de firewall para ver detalhes.
Montar uma partilha de ficheiros numa instância de VM do Compute Engine
Use um dos seguintes procedimentos para montar uma partilha de ficheiros do Filestore
numa VM do Compute Engine. Recomendamos a montagem num VM n1-standard-8
ou superior para um desempenho ideal.
Linux: mount
Para montar manualmente uma partilha de ficheiros numa VM cliente do Linux:
Na Google Cloud consola, aceda à página Instâncias de VM.
Localize a VM do Linux que quer usar como cliente e, de seguida, clique em SSH para abrir um terminal nessa VM.
Opcional: montar uma partilha de ficheiros numa VM cliente com várias interfaces de rede através de uma rede secundária.
Detalhes (clique para expandir)
Se quiser montar a partilha de ficheiros através de uma rede secundária, ou seja, uma interface que não seja
nic0
, tem de modificar a política de encaminhamento da VM do cliente. Corrida:sudo ip route \ add filestore-reserved-address-range \ via default-gateway-of-nic-to-filestore
where:
filestore-reserved-address-range
é o intervalo de endereços reservado para utilização pela instância do Filestore.default-gateway-of-nic-to-filestore
é o endereço IP do gateway predefinido da NIC ligada à rede VPC partilhada com a instância do Filestore.
Para mais informações sobre a utilização de instâncias do Compute Engine com várias NICs, consulte o artigo Configure o encaminhamento para uma interface de rede adicional.
Instalar NFS:
Debian/Ubuntu
Use os seguintes comandos para instalar o NFS no Debian ou Ubuntu.
sudo apt-get -y update &&
sudo apt-get install nfs-commonRHEL/CentOS
Use os seguintes comandos para instalar o NFS no Red Hat Enterprise Linux ou no CentOS.
sudo yum update &&
sudo yum install nfs-utilsSUSE
Use os seguintes comandos para instalar o NFS no SUSE.
sudo zypper update &&
sudo zypper -n install nfs-clientCrie um diretório local para mapear para a partilha de ficheiros do Filestore:
sudo mkdir -p mount-point-directory
onde
mount-point-directory
é o diretório a criar, por exemplo,/mnt/filedir
.Monte a partilha de ficheiros a partir da instância do Filestore executando o comando
mount
. Pode usar quaisquer opções de montagem NFS. Para o melhor desempenho, recomendamos a utilização das seguintes opções de NFS:mount
Opção Descrição hard
O cliente NFS tenta novamente os pedidos NFS indefinidamente. Para reduzir a possibilidade de interrupções de E/S quando a instância do Filestore é reiniciada, recomendamos que use a opção de montagem hard
para clientes Linux e Windows.timeo=600
O cliente NFS aguarda 600 decissegundos (60 segundos) antes de tentar novamente um pedido NFS. retrans=3
O cliente NFS tenta fazer pedidos NFS três vezes antes de tomar medidas de recuperação adicionais. rsize=524288
O cliente NFS pode receber um máximo de 524 288 bytes do servidor NFS por pedido READ
.
Nota: para instâncias de nível básico, defina o valor dersize
como1048576
.wsize=1048576
O cliente NFS pode receber um máximo de 1 048 576 bytes do servidor NFS por pedido WRITE
.resvport
O cliente NFS usa uma porta de origem privilegiada quando comunica com o servidor NFS para este ponto de montagem. async
O cliente NFS atrasa o envio de escritas de aplicações para o servidor NFS até que determinadas condições sejam cumpridas.
Aviso: a utilização da opçãosync
reduz significativamente o desempenho.- Para reduzir a latência de montagem, especifique a opção
-o tcp
. Se estiver a montar uma instância regional, zonal ou empresarial numa VM cliente que esteja a executar a versão 5.3 ou superior do kernel Linux, considere especificar a opção de montagem
nconnect
para aumentar o desempenho do NFS. Para níveis de serviço específicos, recomendamos que especifique o seguinte número de ligações entre o cliente e o servidor:Nível Capacidade Número de associações Regional, zonal 1 a 9,75 TiB nconnect=2
Regional, zonal 10 a 100 TiB nconnect=7
Enterprise - nconnect=2
SSD de grande escala - nconnect=7
Em geral, quanto maior for a capacidade de partilha de ficheiros e menor for o número de VMs de cliente de ligação, mais desempenho ganha ao especificar ligações adicionais com
nconnect
.
Execute o comando
mount
com as suas opções preferidas, semelhante ao seguinte:sudo mount -o rw ip-address:/file-share mount-point-directory
where:
ip-address
é o endereço IP da instância do Filestore.file-share
é o nome da partilha de ficheiros na instância.mount-point-directory
é o caminho para o qual quer mapear a partilha de ficheiros do Filestore.
Pode obter o endereço IP e o nome da partilha de ficheiros de uma instância a partir de qualquer uma das seguintes origens:
A página Instâncias do Filestore.
O campo
IP_ADDRESS
nos resultados do comandofilestore instances list
A secção
ipAddresses
nos resultados do comandofilestore instances describe
.
Por exemplo, dada uma instância do Filestore com um endereço IP
10.0.1.2
e uma partilha de ficheiros denominadashare1
, o seguinte comando monta a partilha de ficheiros no diretório do ponto de montagem local/mnt/render
:sudo mount 10.0.1.2:/share1 /mnt/render
- Para reduzir a latência de montagem, especifique a opção
Opcional: execute
chmod
para definir autorizações no diretório de montagem para que alguém que não seja um utilizador root possa escrever nele. Para definir as autorizações de diretório, execute o seguinte comando:sudo chmod permissions mount-point-directory
where:
permissions
é o conjunto de autorizações a conceder. Por exemplo,chmod go+rw
torna o diretório legível e gravável pelos membros do grupo proprietário do diretório e todos os outros utilizadores. Para mais informações sobre como definir autorizações, consulte o artigo Configurar o acesso numa partilha de ficheiros.mount-point-directory
é o caminho para o diretório onde a partilha de ficheiros do Filestore está montada.
Opcional: confirme que a partilha de ficheiros do Filestore está montada:
df -h --type=nfs
O resultado deve conter uma entrada semelhante à seguinte:
Filesystem Size Used Avail Use% Mounted on 10.0.1.2:/share1 1018G 76M 966G 1% /mnt/render 10.0.2.2:/vol3 1018G 76M 966G 1% /mnt/filestore3
Se precisar de usar o bloqueio de ficheiros NFS, pode ter de definir as portas usadas pelos daemons
statd
enlockmgr
e configurar regras de firewall para abrir essas portas.
Linux: /etc/fstab
Pode fazer com que as partilhas de ficheiros sejam montadas automaticamente nas VMs de cliente durante o arranque modificando o ficheiro /etc/fstab
do cliente:
Na Google Cloud consola, aceda à página Instâncias de VM.
Localize a VM do Linux que quer usar como cliente e, de seguida, clique em SSH para abrir um terminal nessa VM.
Opcional: montar uma partilha de ficheiros numa VM cliente que tenha várias interfaces de rede através de uma rede secundária.
Detalhes (clique para expandir)
Se quiser montar a partilha de ficheiros através de uma rede secundária, ou seja, uma interface diferente de
nic0
, tem de modificar a política de encaminhamento da VM do cliente:- Em
/etc/default/instance_configs.cfg
, defina a flagsetup
paraNetworkInterfaces
comofalse
:[NetworkInterfaces] dhclient_script = /sbin/google-dhclient-script dhcp_command = ip_forwarding = true setup = false
Em
/etc/network/interfaces
, adicione as seguintes linhas:auto eth1 iface eth1 inet dhcp up ip route add filestore-reserved-address-range via default-gateway-of-nic-to-filestore
where:
filestore-reserved-address-range
é o intervalo de endereços reservado para utilização pela instância do Filestore.default-gateway-of-nic-to-filestore
é o endereço IP do gateway predefinido da NIC ligada à rede VPC partilhada com a instância do Filestore.
Para mais informações sobre a utilização de instâncias do Compute Engine com várias NICs, consulte o artigo Configure o encaminhamento para uma interface de rede adicional.
- Em
Instalar NFS:
Debian/Ubuntu
Use os seguintes comandos para instalar o NFS no Debian ou Ubuntu.
sudo apt-get -y update &&
sudo apt-get install nfs-commonRHEL/CentOS
Use os seguintes comandos para instalar o NFS no Red Hat Enterprise Linux ou no CentOS.
sudo yum update &&
sudo yum install nfs-utilsSUSE
Use os seguintes comandos para instalar o NFS no SUSE.
sudo zypper update &&
sudo zypper -n install nfs-clientCrie um diretório local para mapear para a partilha de ficheiros do Filestore:
sudo mkdir -p mount-point-directory
onde
mount-point-directory
é o diretório a criar, por exemplo,/mnt/filedir
.Abra o ficheiro
/etc/fstab
:sudo vim /etc/fstab
Adicione a seguinte linha no ficheiro
/etc/fstab
:ip-address:/file-share mount-point-directory nfs options,_netdev 0 0
where:
ip-address
é o endereço IP da instância do Filestore.file-share
é o nome da partilha de ficheiros na instância.mount-point-directory
é o caminho para o qual quer mapear a partilha de ficheiros do Filestore.options
são as opções de montagem do NFS. Recomendamos que mantenha as opções de montagem NFS predefinidas, com as seguintes exceções:- Para a montagem automática, recomendamos que especifique
-o tcp
para reduzir a latência ao montar e desmontar. - Se estiver a montar uma instância regional, zonal ou empresarial numa VM cliente que esteja a executar a versão 5.3 ou superior do kernel Linux, considere especificar a opção de montagem
nconnect
para aumentar o desempenho do NFS. Para níveis de serviço específicos, recomendamos que especifique o seguinte número de ligações entre o cliente e o servidor:
Nível Capacidade Número de associações Regional, zonal 1 a 9,75 TiB nconnect=2
Regional, zonal 10 a 100 TiB nconnect=7
Enterprise - nconnect=2
SSD de grande escala - nconnect=7
Em geral, quanto maior for a capacidade de partilha de ficheiros e menor for o número de VMs de cliente de ligação, mais desempenho ganha ao especificar ligações adicionais com
nconnect
.- Para a montagem automática, recomendamos que especifique
Exemplo: a seguinte linha em
/etc/fstab
monta a partilha de ficheirosvol1
da instância do Filestore com o endereço IP10.0.0.2
no diretório do ponto de montagem/mnt
com as opções de montagem predefinidas:10.0.0.2:/vol1 /mnt nfs defaults,_netdev 0 0
Monte tudo em
/etc/fstab
:sudo mount -a
A partilha de ficheiros é agora montada automaticamente sempre que a VM do cliente é iniciada.
Linux: autofs
Pode configurar o autofs
para montar automaticamente uma partilha de ficheiros apenas quando esta é acedida e mantê-la desmontada quando não é usada. Em comparação com a montagem estática de uma partilha de ficheiros em /etc/fstab
, este método ajuda a conservar os recursos da VM do cliente em situações em que o cliente precisa de mapear para muitos pontos de montagem.
Instale o NFS
e o autofs
na VM do cliente
Na Google Cloud consola, aceda à página Instâncias de VM.
Localize a VM do Linux que quer usar como cliente e, de seguida, clique em SSH para abrir um terminal nessa VM.
Opcional: montar uma partilha de ficheiros numa VM cliente com várias interfaces de rede através de uma rede secundária.
Detalhes (clique para expandir)
Se quiser montar a partilha de ficheiros através de uma rede secundária, ou seja, uma interface diferente de
nic0
, tem de modificar a política de encaminhamento da VM do cliente:- Em
/etc/default/instance_configs.cfg
, defina a flagsetup
paraNetworkInterfaces
comofalse
:[NetworkInterfaces] dhclient_script = /sbin/google-dhclient-script dhcp_command = ip_forwarding = true setup = false
- Em
/etc/network/interfaces
, adicione as seguintes linhas: auto eth1 iface eth1 inet dhcp up ip route add filestore-reserved-address-range via default-gateway-of-nic-to-filestore
where:
filestore-reserved-address-range
é o intervalo de endereços reservado para utilização pela instância do Filestore.default-gateway-of-nic-to-filestore
é o endereço IP do gateway predefinido da NIC ligada à rede VPC que é partilhada com a instância do Filestore.
Para mais informações sobre a utilização de instâncias do Compute Engine com várias NICs, consulte o artigo Configure o encaminhamento para uma interface de rede adicional.
- Em
Instale o NFS executando os seguintes comandos:
Debian/Ubuntu
Use os seguintes comandos para instalar o NFS no Debian ou Ubuntu.
sudo apt-get -y update &&
sudo apt-get install nfs-commonRHEL/CentOS
Use os seguintes comandos para instalar o NFS no Red Hat Enterprise Linux ou no CentOS.
sudo yum update &&
sudo yum install nfs-utilsSUSE
Use os seguintes comandos para instalar o NFS no SUSE.
sudo zypper update &&
sudo zypper -n install nfs-clientNa janela do terminal da VM cliente, instale
autofs
:Debian/Ubuntu
sudo apt-get install autofs
RHEL/CentOS
sudo yum install autofs
SUSE
sudo zypper -n install autofs
Configure o autofs
para montar dinamicamente a partilha de ficheiros na VM do cliente
Ative a opção
autofs
:sudo systemctl enable --now autofs
Crie um diretório local para mapear para a partilha de ficheiros do Filestore:
sudo mkdir -p mount-point-directory
onde
mount-point-directory
é o diretório a criar. Não pode conter subdiretórios. Neste guia, usamos/nfs
como o diretório do ponto de montagem.Abra o ficheiro
/etc/auto.master
:sudo vim /etc/auto.master
Adicione a seguinte linha no ficheiro
/etc/auto.master
:/nfs /etc/auto.nfs --timeout seconds
em que
seconds
é a duração em segundos antes do limite de tempo da montagem. O valor predefinido é300
. Se definir este valor como0
, desativa a desmontagem por parte doautofs
.Crie um ficheiro denominado
/etc/auto.nfs
:sudo vim /etc/auto.nfs
Adicione a seguinte linha no ficheiro
/etc/auto.nfs
:mount-point-subdir options ip-address:/file-share
where:
mount-point-subdir
é a subdiretoria em/nfs
para a qual quer mapear a partilha de ficheiros do Filestore. Este subdiretório é gerado dinamicamente e não deve existir na VM do cliente.options
são as opções de montagem do NFS. Recomendamos que mantenha as opções de montagem NFS predefinidas, com as seguintes exceções:- Para a montagem automática, recomendamos que especifique
-o tcp
para reduzir a latência ao montar e desmontar. - Se estiver a montar uma instância regional, zonal ou empresarial numa VM cliente que esteja a executar a versão 5.3 ou superior do kernel Linux, considere especificar a opção de montagem
nconnect
para aumentar o desempenho do NFS. Para níveis de serviço específicos, recomendamos que especifique o seguinte número de ligações entre o cliente e o servidor:
Nível Capacidade Número de associações Regional, zonal 1 a 9,75 TiB nconnect=2
Regional, zonal 10 a 100 TiB nconnect=7
Enterprise - nconnect=2
SSD de grande escala - nconnect=7
Em geral, quanto maior for a capacidade de partilha de ficheiros e menor for o número de VMs de cliente de ligação, mais desempenho ganha ao especificar ligações adicionais com
nconnect
.ip-address
é o endereço IP da instância do Filestore.file-share
é o nome da partilha de ficheiros na instância.
- Para a montagem automática, recomendamos que especifique
Exemplo: a seguinte linha em
/etc/auto.nfs
monta a partilha de ficheirosvol1
da instância do Filestore com o endereço IP10.0.0.2
no subdiretório gerado dinamicamentefile-shares
com acessoread/write
concedido:file-shares -rw 10.0.0.2:/vol1
Testar a configuração
Se a partilha de ficheiros estiver montada, tem de desmontá-la:
sudo umount mount-point-directory
onde
mount-point-directory
é o caminho para o qual a partilha de ficheiros do Filestore está mapeada.Se existir uma entrada
/etc/fstab
que monte a partilha de ficheiros no arranque do sistema, certifique-se de que a remove.Atualizar
autofs
:sudo service autofs reload
Confirme se a configuração funciona:
ls mount-point-directory/mount-point-subdir
where:
mount-point-directory
é o diretório do ponto de montagem indicado no ficheiro/etc/auto.master
.mount-point-subdir
é a subdiretoria do ponto de montagem indicada no ficheiro/etc/auto.nfs
.
No nosso exemplo, o comando seria:
ls /nfs/file-shares
Se a montagem automática estiver configurada corretamente, o sistema monta primeiro a partilha de ficheiros e, em seguida, devolve os resultados do comando
ls
. A partilha de ficheiros é desmontada automaticamente após um período de inatividade, que é definido no valortimeout
especificado no ficheiro/etc/auto.master
.
Windows
Estabeleça ligação à VM do Windows
Na Google Cloud consola, aceda à página Instâncias de VM.
Localize a VM do Windows que quer usar como cliente e, de seguida, clique em RDP para abrir uma ligação ao ambiente de trabalho remoto a essa VM. Para mais informações, consulte o artigo Estabelecer ligação a instâncias do Windows.
Instale o NFS na VM do Windows
- Na VM do Windows, abra o PowerShell como administrador para garantir o acesso e as autorizações NFS adequados.
No PowerShell, instale o cliente NFS:
Install-WindowsFeature -Name NFS-Client
Reinicie a instância de VM do Windows conforme solicitado e, em seguida, abra uma nova ligação ao ambiente de trabalho remoto.
Configure o ID do utilizador usado pelo cliente NFS
No PowerShell, execute os seguintes comandos para criar duas novas entradas de registo,
AnonymousUid
eAnonymousGid
: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
Reinicie o serviço de cliente NFS:
nfsadmin client stop
nfsadmin client start
Mapeie a partilha de ficheiros para a VM do Windows
Saia do PowerShell para sair da sessão do administrador. Se omitir este passo, as aplicações em execução na sessão do utilizador padrão não vão poder ver nem aceder a esta partilha de ficheiros.
exit
Opcional: montar uma partilha de ficheiros numa VM cliente com várias interfaces de rede através de uma rede secundária.
Detalhes (clique para expandir)
Se quiser montar a partilha de ficheiros através de uma rede secundária, ou seja, uma interface que não seja
nic0
, tem de modificar a política de encaminhamento da VM do cliente. Corrida:route -p ^ add filestore-reserved-address-range ^ mask address-range-subnet-mask ^ default-gateway-of-nic-to-filestore
where:
filestore-reserved-address-range
é o intervalo de endereços reservado para utilização pela instância do Filestore.address-range-subnet-mask
é a máscara de sub-rede defilestore-reserved-address-range
. Por exemplo, um intervalo de endereços reservados /29 usaria a máscara de sub-rede 255.255.255.248.default-gateway-of-nic-to-filestore
é o endereço IP do gateway predefinido da NIC ligada à rede VPC partilhada com a instância do Filestore.
Exemplo:
route -p add 10.65.21.176 mask 255.255.255.248 10.128.0.1
Para mais informações sobre a utilização de instâncias do Compute Engine com várias NICs, consulte o artigo Configure o encaminhamento para uma interface de rede adicional.
A partir de
Command Prompt
, mapeie a partilha de ficheiros para uma letra de unidade:net use drive-letter: \\filestore-ip\file-share-name
where:
- filestore-ip é o endereço IP da instância do Filestore.
- file-share-name é o nome da partilha de ficheiros na instância do Filestore.
- drive-letter é a letra da unidade que quer atribuir ao mapeamento.
Exemplo
O seguinte comando mapeia a partilha de ficheiros
vol1
na instância do Filestore com o endereço IP10.0.0.2
para a unidadez:
na VM Windows do cliente:net use Z: \\10.0.0.2\vol1
Opcional: para usar o bloqueio de ficheiros NFS, verifique o seguinte:
Certifique-se de que as regras da firewall estão configuradas para todas as portas NFS necessárias, incluindo
statd
enlockmgr
.Certifique-se de que o cliente NFS do Windows está configurado com portas reservadas através de um comando semelhante ao seguinte no PowerShell:
nfsadmin client config protocol=tcp UseReservedPorts=yes nfsadmin client stop nfsadmin client start
Criar e montar subdiretórios na partilha de ficheiros
Assim que a partilha de ficheiros estiver montada numa VM cliente, pode criar subdiretórios na partilha de ficheiros, que os clientes podem, então, montar diretamente em vez de montar toda a partilha de ficheiros:
Para criar uma subdiretoria na partilha de ficheiros montada, execute:
sudo mkdir -p mount-point-directory/file-share-sub-dir
where:
mount-point-directory
é o caminho para o qual mapeia a partilha de ficheiros.file-share-sub-dir
é o caminho do subdiretório na partilha de ficheiros que quer criar.
Este comando cria o subdiretório na VM do cliente e na partilha de ficheiros. Por exemplo, se tiver montado a partilha de ficheiros
10.0.0.2:/vol1
no diretório/mnt
na VM do cliente, o comandosudo mkdir -p /mnt/nfs
cria10.0.0.2:/vol1/nfs
na partilha de ficheiros e/mnt/nfs
na VM do cliente.Opcional: se quiser montar o subdiretório da partilha de ficheiros no diretório da VM cliente onde a partilha de ficheiros está montada, tem de desmontar primeiro a partilha de ficheiros:
sudo umount mount-point-directory
onde
mount-point-directory
é o diretório ao qual a partilha de ficheiros está mapeada.Monte o subdiretório:
sudo mount ip-address:/file-share/file-share-sub-dir mount-point-directory
where:
ip-address
é o endereço IP da instância do Filestore.file-share
é o nome da partilha de ficheiros na instância.file-share-sub-dir
é o caminho da subdiretoria na partilha de ficheiros a montar.mount-point-directory
é o caminho para o qual quer mapear a partilha de ficheiros do Filestore.
Exemplo: no seguinte comando:
sudo mount 10.0.0.2:/vol1/nfs /mnt/nfs
10.0.0.2
é o endereço IP da instância do Filestore.vol1
é o nome da partilha de ficheiros.nfs
é uma subdiretoria de partilha de ficheiros./mnt/nfs
é o diretório na VM do cliente para o qual o subdiretórionfs
de partilha de ficheiros está mapeado.
O que se segue?
- Saiba como copiar dados para a partilha de ficheiros montada.
- Saiba como montar partilhas de ficheiros em clientes numa rede remota.
- Resolva problemas de montagem relacionados com o Filestore.