Nesta página, mostramos como ativar um compartilhamento de arquivos do Filestore em uma instância de máquina virtual (VM) do Compute Engine que está no mesmo projeto do Google Cloud e em rede VPC. Para saber como ativar compartilhamentos de arquivos em clientes em uma rede remota, consulte Como ativar o compartilhamento de arquivos em clientes remotos. Se você estiver tentando acessar instâncias do Filestore de clusters do Google Kubernetes Engine, consulte Acessar instâncias do Filestore com o driver CSI do Filestore.
Antes de começar
Verifique se o firewall de rede está configurado corretamente para uso com o Filestore. Consulte Como configurar regras de firewall para mais detalhes.
Como ativar um compartilhamento de arquivos em uma instância de VM do Compute Engine
Use um dos procedimentos a seguir para ativar um compartilhamento de arquivos
do Filestore em uma VM do Compute Engine. Recomendamos a ativação em uma VM n1-standard-8
ou
superior para um desempenho ideal.
Linux: ativação
Para montar manualmente um compartilhamento de arquivos em uma VM cliente Linux:
No console do Google Cloud, acesse a página "Instâncias de VM".
Localize a VM do Linux que você quer usar como cliente e clique em SSH para abrir um terminal nessa VM.
Opcional: montar um compartilhamento de arquivos em uma VM cliente com várias interfaces de rede por meio de uma rede secundária.
Detalhes (clique para expandir)
Para ativar o compartilhamento de arquivos por meio de uma rede secundária, ou seja, uma interface diferente de
nic0
, modifique a política de roteamento da VM do cliente: Execute:sudo ip route \ add filestore-reserved-address-range \ via default-gateway-of-nic-to-filestore
onde:
filestore-reserved-address-range
é o intervalo de endereços reservado para uso pela instância do Filestore.default-gateway-of-nic-to-filestore
é o endereço IP do gateway padrão da NIC conectada à rede VPC compartilhada com a instância do Filestore.
Para mais informações sobre como usar instâncias do Compute Engine com várias NICs, consulte Configurar o roteamento para uma interface de rede adicional.
Instale o NFS:
Debian/Ubuntu
Use os seguintes comandos para instalar o NFS no Debian ou no Ubuntu.
sudo apt-get -y update &&
sudo apt-get install nfs-commonRHEL/CentOS
Use os comandos a seguir para instalar o NFS no Red Hat Enterprise Linux ou no CentOS.
sudo yum update &&
sudo yum install nfs-utilsSUSE
Use os comandos a seguir para instalar o NFS no SUSE.
sudo zypper update &&
sudo zypper -n install nfs-clientCrie um diretório local para mapear para o compartilhamento de arquivos do Filestore:
sudo mkdir -p mount-point-directory
em que
mount-point-directory
é o diretório a ser criado (por exemplo,/mnt/filedir
).Monte o compartilhamento de arquivos da instância do Filestore executando o comando
mount
. É possível usar qualquer opção de montagem do NFS. Para ter o melhor desempenho, recomendamos o uso das seguintes opçõesmount
do NFS:Opção Descrição hard
O cliente NFS repete solicitações NFS indefinidamente. Para reduzir a possibilidade de interrupções de E/S quando a instância do Filestore for reiniciada, recomendamos usar a opção de montagem hard
para clientes Linux e Windows.timeo=600
O cliente NFS aguarda 600 segundos (60 segundos) antes de tentar novamente uma solicitação NFS. retrans=3
O cliente NFS tenta fazer solicitações NFS três vezes antes de realizar outras ações de recuperação. rsize=262144
O cliente NFS pode receber no máximo 262.144 bytes do servidor NFS por solicitação READ
.
Observação: para instâncias de nível básico, defina o valorrsize
como1048576
.wsize=1048576
O cliente NFS pode receber no máximo 1.048.576 bytes do servidor NFS por solicitação WRITE
.resvport
O cliente NFS usa uma porta de origem com privilégios ao se comunicar com o servidor NFS para esse ponto de montagem. async
O cliente NFS atrasa o envio de gravações de aplicativos para o servidor NFS até que determinadas condições sejam atendidas.
Cuidado: o uso da opçãosync
reduz significativamente o desempenho.- Para reduzir a latência da montagem, especifique a opção
-o tcp
. - Se você estiver montando uma instância empresarial ou zonal (anteriormente SSD de alta escala)
em uma VM de cliente que esteja executando a versão 5.3 ou posterior do kernel do Linux,
especifique a opção de montagem
nconnect
para melhorar o desempenho do NFS. Recomendamos especificar até7
conexões para o nível zonal e até2
conexões para os níveis regional e Enterprise. Em geral, quanto maior a capacidade de compartilhamento de arquivos e menos VMs de cliente conectadas, mais desempenho você terá ao especificar outras conexões comnconnect
.
Execute o comando
mount
com suas opções preferidas, semelhante a esta:sudo mount -o rw ip-address:/file-share mount-point-directory
em que:
ip-address
é o endereço IP da instância do Filestore.file-share
é o nome do compartilhamento de arquivos na instância.mount-point-directory
é o caminho para onde você quer mapear o compartilhamento de arquivos do Filestore.
É possível ver o endereço IP e o nome do compartilhamento de arquivos de uma instância de qualquer uma destas fontes:
A página de instâncias do Filestore
O campo
IP_ADDRESS
nos resultados do comandofilestore instances list
.A seção
ipAddresses
nos resultados do comandofilestore instances describe
.
Por exemplo, considerando uma instância do Filestore com um endereço IP
10.0.1.2
e um compartilhamento de arquivos denominadoshare1
, o comando a seguir monta o compartilhamento de arquivos no diretório de ponto de montagem local/mnt/render
:sudo mount 10.0.1.2:/share1 /mnt/render
- Para reduzir a latência da montagem, especifique a opção
Opcional: execute
chmod
para definir permissões no diretório de ativação para que alguém que não seja o usuário raiz possa gravar nele. Para definir permissões de diretório, execute o seguinte comando:sudo chmod permissions mount-point-directory
onde:
permissions
é o conjunto de permissões a serem concedidas. Por exemplo,chmod go+rw
torna o diretório legível e gravável pelos usuários no grupo que é proprietário do diretório e de todos os outros usuários. Para ver mais informações sobre como definir permissões, consulte Como configurar o acesso em um compartilhamento de arquivos.mount-point-directory
é o caminho para o diretório em que o compartilhamento de arquivos do Filestore está montado.
Opcional: confirme se o compartilhamento de arquivos do Filestore está ativado:
df -h --type=nfs
A saída conterá uma entrada semelhante a esta:
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 você precisar usar o bloqueio de arquivos do NFS, talvez seja necessário definir as portas usadas pelos daemons
statd
enlockmgr
e configurar regras de firewall para abrir essas portas.
Linux: /etc/fstab
Você pode fazer com que os compartilhamentos de arquivos sejam montados automaticamente nas VMs cliente durante a inicialização, modificando /etc/fstab
arquivo:
No console do Google Cloud, acesse a página "Instâncias de VM".
Localize a VM do Linux que você quer usar como cliente e clique em SSH para abrir um terminal nessa VM.
Opcional: montar um compartilhamento de arquivos em uma VM cliente que tenha várias interfaces de rede por meio de uma rede secundária.
Detalhes (clique para expandir)
Para montar o compartilhamento de arquivos por meio de uma rede secundária, ou seja, uma interface diferente de
nic0
, modifique a política de roteamento da VM cliente:- Em
/etc/default/instance_configs.cfg
, defina a sinalizaçãosetup
deNetworkInterfaces
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
onde:
filestore-reserved-address-range
é o intervalo de endereços reservado para uso pela instância do Filestore.default-gateway-of-nic-to-filestore
é o endereço IP do gateway padrão da NIC conectada à rede VPC compartilhada com a instância do Filestore.
Para mais informações sobre como usar instâncias do Compute Engine com várias NICs, consulte Configurar o roteamento para uma interface de rede adicional.
- Em
Instale o NFS:
Debian/Ubuntu
Use os seguintes comandos para instalar o NFS no Debian ou no Ubuntu.
sudo apt-get -y update &&
sudo apt-get install nfs-commonRHEL/CentOS
Use os comandos a seguir para instalar o NFS no Red Hat Enterprise Linux ou no CentOS.
sudo yum update &&
sudo yum install nfs-utilsSUSE
Use os comandos a seguir para instalar o NFS no SUSE.
sudo zypper update &&
sudo zypper -n install nfs-clientCrie um diretório local para mapear para o compartilhamento de arquivos do Filestore:
sudo mkdir -p mount-point-directory
em que
mount-point-directory
é o diretório a ser criado (por exemplo,/mnt/filedir
).Abra o arquivo
/etc/fstab
.sudo vim /etc/fstab
Adicione a seguinte linha no arquivo
/etc/fstab
:ip-address:/file-share mount-point-directory nfs options,_netdev 0 0
onde:
ip-address
é o endereço IP da instância do Filestore.file-share
é o nome do compartilhamento de arquivos na instância.mount-point-directory
é o caminho para o qual você quer mapear o compartilhamento de arquivos do Filestore.options
são as opções de ativação do NFS. Recomendamos manter as opções de montagem do NFS padrão, com as seguintes exceções:- Para
fazer a montagem automática, recomendamos especificar
-o tcp
para reduzir a latência ao montar e desmontar. - Se você estiver montando uma instância zonal (anteriormente SSD de alta escala) em
uma VM de cliente que executa a versão 5.3 ou posterior do kernel do Linux, especifique
a opção de montagem
nconnect
para melhorar o desempenho do NFS. Recomendamos especificar até7
conexões para o nível zonal e até2
conexões para o nível regional e Enterprise. Em geral, quanto maior a capacidade de compartilhamento de arquivos e menos VMs de cliente conectadas, mais desempenho você terá ao especificar outras conexões comnconnect
.
- Para
fazer a montagem automática, recomendamos especificar
Exemplo: a seguinte linha em
/etc/fstab
monta o compartilhamento de arquivosvol1
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 padrão:10.0.0.2:/vol1 /mnt nfs defaults,_netdev 0 0
Ative tudo em
/etc/fstab
:sudo mount -a
O compartilhamento de arquivos agora é montado automaticamente sempre que a VM cliente é inicializada.
Linux: autofs
É possível configurar autofs
para montar automaticamente um compartilhamento de arquivos somente quando ele
for acessado e mantê-lo desmontado quando não for usado. Em comparação com um compartilhamento de arquivos estaticamente montado em /etc/fstab
, esse método ajuda a economizar recursos de VM cliente em situações em que o cliente precisa mapear para muitos pontos de montagem.
Instalar NFS
e autofs
na VM do cliente
No console do Google Cloud, acesse a página "Instâncias de VM".
Localize a VM do Linux que você quer usar como cliente e clique em SSH para abrir um terminal nessa VM.
Opcional: montar um compartilhamento de arquivos em uma VM cliente com várias interfaces de rede por meio de uma rede secundária.
Detalhes (clique para expandir)
Para montar o compartilhamento de arquivos por meio de uma rede secundária, ou seja, uma interface diferente de
nic0
, modifique a política de roteamento da VM cliente:- Em
/etc/default/instance_configs.cfg
, defina a sinalizaçãosetup
deNetworkInterfaces
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
onde:
filestore-reserved-address-range
é o intervalo de endereços reservado para uso pela instância do Filestore.default-gateway-of-nic-to-filestore
é o endereço IP do gateway padrão da NIC conectada à rede VPC compartilhada com a instância do Filestore.
Para mais informações sobre como usar instâncias do Compute Engine com várias NICs, consulte Configurar o roteamento 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 no Ubuntu.
sudo apt-get -y update &&
sudo apt-get install nfs-commonRHEL/CentOS
Use os comandos a seguir para instalar o NFS no Red Hat Enterprise Linux ou no CentOS.
sudo yum update &&
sudo yum install nfs-utilsSUSE
Use os comandos a seguir para instalar o NFS no SUSE.
sudo zypper update &&
sudo zypper -n install nfs-clientNa janela do terminal da VM do cliente, instale
autofs
:Debian/Ubuntu
sudo apt-get install autofs
RHEL/CentOS
sudo yum install autofs
SUSE
sudo zypper -n install autofs
Configurar autofs
para montar dinamicamente o compartilhamento de arquivos para a VM cliente
Ativar
autofs
:sudo systemctl enable --now autofs
Crie um diretório local para mapear para o compartilhamento de arquivos do Filestore:
sudo mkdir -p mount-point-directory
em que
mount-point-directory
é o diretório a ser criado. Ele não pode conter subdiretórios. Neste guia, usamos/nfs
como o diretório do ponto de montagem.Abra o arquivo
/etc/auto.master
.sudo vim /etc/auto.master
Adicione a seguinte linha ao arquivo
/etc/auto.master
:/nfs /etc/auto.nfs --timeout seconds
em que
seconds
é a duração em segundos antes do tempo limite de ativação. O valor padrão é300
. Definir esse valor como0
desativa a desmontagem porautofs
.Crie um arquivo chamado
/etc/auto.nfs
:sudo vim /etc/auto.nfs
Adicione a seguinte linha ao arquivo
/etc/auto.nfs
:mount-point-subdir options ip-address:/file-share
em que:
mount-point-subdir
é o subdiretório em/nfs
para o qual você quer mapear o compartilhamento de arquivos do Filestore. Esse subdiretório é gerado dinamicamente e não deve existir na VM do cliente.options
são as opções de ativação do NFS. Recomendamos manter as opções de montagem do NFS padrão, com as seguintes exceções:- Para
fazer a montagem automática, recomendamos especificar
-o tcp
para reduzir a latência ao montar e desmontar. - Se você estiver montando uma instância zonal (anteriormente SSD de alta escala) em
uma VM de cliente que executa a versão 5.3 ou posterior do kernel do Linux, especifique
a opção de montagem
nconnect
para melhorar o desempenho do NFS. Recomendamos especificar até7
conexões para o nível zonal e até2
conexões para os níveis regional e Enterprise. Em geral, quanto maior a capacidade de compartilhamento de arquivos e menos VMs de cliente conectadas, mais desempenho você terá ao especificar outras conexões comnconnect
. ip-address
é o endereço IP da instância do Filestore.file-share
é o nome do compartilhamento de arquivos na instância.
- Para
fazer a montagem automática, recomendamos especificar
Exemplo: a seguinte linha em
/etc/auto.nfs
monta o compartilhamento de arquivosvol1
da instância do Filestore com o endereço IP10.0.0.2
no subdiretóriofile-shares
gerado dinamicamente com acessoread/write
concedido:file-shares -rw 10.0.0.2:/vol1
Testar a configuração
Se o compartilhamento de arquivos estiver atualmente montado, será necessário desmontá-lo:
sudo umount mount-point-directory
em que
mount-point-directory
é o caminho para o qual o compartilhamento de arquivos do Filestore é mapeado.Se houver uma entrada
/etc/fstab
que monta o compartilhamento de arquivos na inicialização do sistema, remova-o.Atualize
autofs
:sudo service autofs reload
Confirme se sua configuração funciona:
ls mount-point-directory/mount-point-subdir
onde:
mount-point-directory
é o diretório do ponto de montagem indicado no arquivo/etc/auto.master
.mount-point-subdir
é o subdiretório do ponto de ativação indicado no arquivo/etc/auto.nfs
.
No nosso exemplo, o comando seria:
ls /nfs/file-shares
Se o recurso de ativação automática estiver configurado corretamente, o sistema ativará primeiro o compartilhamento de arquivos e, em seguida, retornará os resultados do comando
ls
. O compartilhamento de arquivos é automaticamente desativado após um período de inatividade, que é definido pelo valortimeout
especificado no arquivo/etc/auto.master
.
Windows
Conectar-se à VM do Windows
No console do Google Cloud, acesse a página "Instâncias de VM".
Localize a VM do Windows que você quer usar como cliente e clique em RDP para abrir uma conexão de área de trabalho remota com essa VM. Para obter mais informações, consulte Como se conectar a instâncias do Windows.
Instalar o NFS na VM do Windows
- Na VM do Windows, abra o PowerShell como administrador.
No PowerShell, instale o cliente NFS:
Install-WindowsFeature -Name NFS-Client
Reinicie a instância da VM do Windows conforme solicitado e abra uma nova conexão de área de trabalho remota.
Configurar o código de usuário utilizado pelo cliente NFS
Em
PowerShell
, execute os seguintes comandos para criar duas novas entradas de registro,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 do cliente NFS:
nfsadmin client stop
nfsadmin client start
Mapear o compartilhamento de arquivos para a VM do Windows
Saia de
PowerShell
:exit
Opcional: montar um compartilhamento de arquivos em uma VM cliente com várias interfaces de rede por meio de uma rede secundária.
Detalhes (clique para expandir)
Para ativar o compartilhamento de arquivos por meio de uma rede secundária, ou seja, uma interface diferente de
nic0
, modifique a política de roteamento da VM do cliente: Execute:route -p ^ add filestore-reserved-address-range ^ mask address-range-subnet-mask ^ default-gateway-of-nic-to-filestore
onde:
filestore-reserved-address-range
é o intervalo de endereços reservado para uso 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 reservado /29 usaria a máscara de sub-rede 255.255.255.248.default-gateway-of-nic-to-filestore
é o endereço IP do gateway padrão da NIC conectada à rede VPC compartilhada 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 como usar instâncias do Compute Engine com várias NICs, consulte Configurar o roteamento para uma interface de rede adicional.
Em
Command Prompt
, mapeie o compartilhamento de arquivos para uma letra de unidade:net use drive-letter: \\filestore-ip\file-share-name
onde:
- filestore-ip é o endereço IP da instância do Filestore.
- file-share-name é o nome do compartilhamento de arquivos na instância do Filestore.
- drive-letter é a letra da unidade que você quer atribuir ao mapeamento.
Exemplo
O comando a seguir mapeia o compartilhamento de arquivos
vol1
na instância do Filestore com o endereço IP10.0.0.2
para o drivez:
na VM do Windows do cliente:net use Z: \\10.0.0.2\vol1
Opcional: para usar o bloqueio de arquivos do NFS, verifique o seguinte:
Verifique se as regras de firewall estão configuradas para todas as portas NFS necessárias, incluindo
statd
enlockmgr
.Verifique se o cliente NFS do Windows está configurado com portas reservadas usando um comando semelhante ao seguinte no PowerShell:
nfsadmin client config protocol=tcp UseReservedPorts=yes nfsadmin client stop nfsadmin client start
Como criar e montar subdiretórios no compartilhamento de arquivos
Depois que o compartilhamento de arquivos for montado em uma VM cliente, você poderá criar subdiretórios no compartilhamento de arquivos, que os clientes poderão montar diretamente em vez de montar o compartilhamento de arquivos inteiro:
Para criar um subdiretório no compartilhamento de arquivos montado, execute:
sudo mkdir -p mount-point-directory/file-share-sub-dir
onde:
mount-point-directory
é o caminho a que o compartilhamento de arquivos é associado;file-share-sub-dir
é o caminho do subdiretório no compartilhamento de arquivos que você quer criar.
Esse comando cria o subdiretório na VM do cliente e no compartilhamento de arquivos. Por exemplo, se você tiver montado o compartilhamento de arquivos
10.0.0.2:/vol1
no diretório/mnt
na VM cliente, o comandosudo mkdir -p /mnt/nfs
criará10.0.0.2:/vol1/nfs
no compartilhamento de arquivos e/mnt/nfs
na VM do cliente.Opcional: se você quiser montar o subdiretório de compartilhamento de arquivos para o diretório na VM do cliente em que o compartilhamento de arquivos está atualmente montado, primeiro desmonte o compartilhamento de arquivos:
sudo umount mount-point-directory
em que
mount-point-directory
é o diretório ao qual o compartilhamento de arquivos está mapeado.Monte o subdiretório:
sudo mount ip-address:/file-share/file-share-sub-dir mount-point-directory
onde:
ip-address
é o endereço IP da instância do Filestore.file-share
é o nome do compartilhamento de arquivos na instância.file-share-sub-dir
é o caminho do subdiretório no compartilhamento de arquivos a ser montado.mount-point-directory
é o caminho para onde você quer mapear o compartilhamento de arquivos 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 do compartilhamento de arquivos;nfs
é um subdiretório de compartilhamento de arquivos;/mnt/nfs
é o diretório na VM cliente a que o subdiretório de compartilhamento de arquivosnfs
é associado.
A seguir
- Saiba como copiar dados para o compartilhamento de arquivos montado.
- Saiba como montar compartilhamentos de arquivos em clientes em uma rede remota
- Resolva problemas de ativação relacionados ao Filestore.