En esta página se explica cómo activar un sistema de archivos compartido de Filestore en una instancia de máquina virtual (VM) de Compute Engine que se encuentre en el mismo Google Cloudproyecto y en la misma red de VPC. Para saber cómo activar sistemas de archivos compartidos en clientes de una red remota, consulta el artículo Activar sistemas de archivos compartidos en clientes remotos. Si quieres acceder a instancias de Filestore desde clústeres de Google Kubernetes Engine, consulta el artículo Acceder a instancias de Filestore con el controlador CSI de Filestore.
Antes de empezar
Asegúrate de que el cortafuegos de la red esté configurado correctamente para usarlo con Filestore. Para obtener más información, consulta el artículo sobre cómo configurar reglas de cortafuegos.
Montar un sistema de archivos compartido en una instancia de VM de Compute Engine
Sigue uno de los procedimientos que se indican a continuación para montar un sistema de archivos compartido de Filestore en una VM de Compute Engine. Te recomendamos que montes el volumen en una máquina virtual n1-standard-8
o superior para obtener un rendimiento óptimo.
Linux: montar
Para montar manualmente un recurso compartido de archivos en una VM de cliente de Linux, sigue estos pasos:
En la consola de Google Cloud , ve a la página Instancias de VM.
Busca la VM Linux que quieras usar como cliente y haz clic en SSH para abrir una terminal en esa VM.
Opcional: Montar un recurso compartido de archivos en una VM de cliente con varias interfaces de red a través de una red secundaria.
Detalles (haga clic para desplegar)
Si quieres montar el recurso compartido de archivos a través de una red secundaria, es decir, una interfaz distinta de
nic0
, debes modificar la política de enrutamiento de la VM cliente. Ejecuta lo siguiente:sudo ip route \ add filestore-reserved-address-range \ via default-gateway-of-nic-to-filestore
donde:
filestore-reserved-address-range
es el intervalo de direcciones reservado para la instancia de Filestore.default-gateway-of-nic-to-filestore
es la dirección IP de la pasarela predeterminada de la NIC conectada a la red de VPC compartida con la instancia de Filestore.
Para obtener más información sobre cómo usar instancias de Compute Engine con varias NICs, consulta Configurar el enrutamiento de una interfaz de red adicional.
Instala NFS:
Debian o Ubuntu
Usa los siguientes comandos para instalar NFS en Debian o Ubuntu.
sudo apt-get -y update &&
sudo apt-get install nfs-commonRHEL/CentOS
Usa los siguientes comandos para instalar NFS en Red Hat Enterprise Linux o CentOS.
sudo yum update &&
sudo yum install nfs-utilsSUSE
Usa los siguientes comandos para instalar NFS en SUSE.
sudo zypper update &&
sudo zypper -n install nfs-clientCrea un directorio local para asignarlo al recurso compartido de archivos de Filestore:
sudo mkdir -p mount-point-directory
donde
mount-point-directory
es el directorio que se va a crear, por ejemplo,/mnt/filedir
.Monta el recurso compartido de archivos de la instancia de Filestore ejecutando el comando
mount
. Puedes usar cualquier opción de montaje de NFS. Para obtener el mejor rendimiento, te recomendamos que uses las siguientes opciones demount
NFS:Opción Descripción hard
El cliente NFS vuelve a intentar enviar las solicitudes NFS indefinidamente. Para reducir la posibilidad de que se produzcan interrupciones de E/S cuando se reinicie la instancia de Filestore, le recomendamos que utilice la opción de montaje hard
tanto en clientes Linux como Windows.timeo=600
El cliente NFS espera 600 decisegundos (60 segundos) antes de volver a intentar una solicitud NFS. retrans=3
El cliente NFS intenta enviar solicitudes NFS tres veces antes de tomar más medidas de recuperación. rsize=524288
El cliente NFS puede recibir un máximo de 524.288 bytes del servidor NFS por cada solicitud READ
.
Nota: En las instancias de nivel básico, asigna el valorrsize
a1048576
.wsize=1048576
El cliente NFS puede recibir un máximo de 1.048.576 bytes del servidor NFS por cada solicitud WRITE
.resvport
El cliente NFS usa un puerto de origen privilegiado cuando se comunica con el servidor NFS para este punto de montaje. async
El cliente NFS retrasa el envío de las escrituras de la aplicación al servidor NFS hasta que se cumplen determinadas condiciones.
Precaución: Usar la opciónsync
reduce significativamente el rendimiento.- Para reducir la latencia de montaje, especifica la opción
-o tcp
. Si vas a montar una instancia regional, zonal o de empresa en una VM cliente que ejecute la versión 5.3 o posterior del kernel de Linux, te recomendamos que especifiques la opción de montaje
nconnect
para aumentar el rendimiento de NFS. En el caso de los niveles de servicio específicos, te recomendamos que especifiques el siguiente número de conexiones entre el cliente y el servidor:Nivel Capacidad Número de conexiones Regional, zonal 1-9,75 TiB nconnect=2
Regional, zonal 10-100 TiB nconnect=7
Empresa - nconnect=2
SSD de gran escala - nconnect=7
En general, cuanto mayor sea la capacidad del recurso compartido de archivos y menor sea el número de VMs cliente conectadas, más rendimiento obtendrás si especificas conexiones adicionales con
nconnect
.
Ejecuta el comando
mount
con las opciones que prefieras, como en el siguiente ejemplo:sudo mount -o rw ip-address:/file-share mount-point-directory
donde:
ip-address
es la dirección IP de la instancia de Filestore.file-share
es el nombre del recurso compartido de archivos de la instancia.mount-point-directory
es la ruta a la que quieres asignar el sistema de archivos compartidos de Filestore.
Puede obtener la dirección IP y el nombre del recurso compartido de archivos de una instancia de cualquiera de las siguientes fuentes:
La página de instancias de Filestore.
El campo
IP_ADDRESS
de los resultados del comandofilestore instances list
.La sección
ipAddresses
de los resultados del comandofilestore instances describe
.
Por ejemplo, si tienes una instancia de Filestore con la dirección IP
10.0.1.2
y un sistema de archivos compartido llamadoshare1
, el siguiente comando activa el sistema de archivos compartido en el directorio del punto de montaje local/mnt/render
: .sudo mount 10.0.1.2:/share1 /mnt/render
- Para reducir la latencia de montaje, especifica la opción
Opcional: Ejecuta
chmod
para definir permisos en el directorio de montaje de forma que cualquier usuario que no sea root pueda escribir en él. Para definir los permisos de directorio, ejecuta el siguiente comando:sudo chmod permissions mount-point-directory
donde:
permissions
es el conjunto de permisos que se van a conceder. Por ejemplo,chmod go+rw
hace que el directorio sea legible y escribible para los miembros del grupo propietario del directorio y para todos los demás usuarios. Para obtener más información sobre cómo definir permisos, consulta el artículo Configurar el acceso a un recurso compartido de archivos.mount-point-directory
es la ruta al directorio donde se monta el recurso compartido de archivos de Filestore.
Opcional: confirma que el recurso compartido de archivos de Filestore está montado:
df -h --type=nfs
El resultado debe contener una entrada similar a la siguiente:
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
Si necesitas usar el bloqueo de archivos NFS, puede que tengas que definir los puertos que usan los daemons
statd
ynlockmgr
, así como configurar reglas de cortafuegos para abrir esos puertos.
Linux: /etc/fstab
Puedes hacer que los sistemas de archivos compartidos se monten automáticamente en las VMs cliente durante el arranque modificando el archivo /etc/fstab
del cliente:
En la consola de Google Cloud , ve a la página Instancias de VM.
Busca la VM Linux que quieras usar como cliente y haz clic en SSH para abrir una terminal en esa VM.
Opcional: activar un sistema de archivos compartido en una VM de cliente que tenga varias interfaces de red a través de una red secundaria.
Detalles (haga clic para desplegar)
Si quieres montar el recurso compartido de archivos a través de una red secundaria, es decir, una interfaz distinta de
nic0
, debes modificar la política de enrutamiento de la VM cliente:- En
/etc/default/instance_configs.cfg
, define la marcasetup
deNetworkInterfaces
comofalse
:[NetworkInterfaces] dhclient_script = /sbin/google-dhclient-script dhcp_command = ip_forwarding = true setup = false
En
/etc/network/interfaces
, añade las siguientes líneas:auto eth1 iface eth1 inet dhcp up ip route add filestore-reserved-address-range via default-gateway-of-nic-to-filestore
donde:
filestore-reserved-address-range
es el intervalo de direcciones reservado para la instancia de Filestore.default-gateway-of-nic-to-filestore
es la dirección IP de la pasarela predeterminada de la NIC conectada a la red de VPC compartida con la instancia de Filestore.
Para obtener más información sobre cómo usar instancias de Compute Engine con varias NICs, consulta Configurar el enrutamiento de una interfaz de red adicional.
- En
Instala NFS:
Debian o Ubuntu
Usa los siguientes comandos para instalar NFS en Debian o Ubuntu.
sudo apt-get -y update &&
sudo apt-get install nfs-commonRHEL/CentOS
Usa los siguientes comandos para instalar NFS en Red Hat Enterprise Linux o CentOS.
sudo yum update &&
sudo yum install nfs-utilsSUSE
Usa los siguientes comandos para instalar NFS en SUSE.
sudo zypper update &&
sudo zypper -n install nfs-clientCrea un directorio local para asignarlo al recurso compartido de archivos de Filestore:
sudo mkdir -p mount-point-directory
donde
mount-point-directory
es el directorio que se va a crear, por ejemplo,/mnt/filedir
.Abre el archivo
/etc/fstab
:sudo vim /etc/fstab
Añade la siguiente línea al archivo
/etc/fstab
:ip-address:/file-share mount-point-directory nfs options,_netdev 0 0
donde:
ip-address
es la dirección IP de la instancia de Filestore.file-share
es el nombre del recurso compartido de archivos de la instancia.mount-point-directory
es la ruta a la que quieres asignar el sistema de archivos compartido de Filestore.options
son las opciones de montaje de NFS. Te recomendamos que mantengas las opciones de montaje de NFS predeterminadas, con las siguientes excepciones:- Para el montaje automático, te recomendamos que especifiques
-o tcp
para reducir la latencia al montar y desmontar. - Si vas a montar una instancia regional, zonal o empresarial en una VM cliente que ejecute la versión 5.3 o posterior del kernel de Linux, te recomendamos que especifiques la opción de montaje
nconnect
para aumentar el rendimiento de NFS. En el caso de los niveles de servicio específicos, te recomendamos que especifiques el siguiente número de conexiones entre el cliente y el servidor:
Nivel Capacidad Número de conexiones Regional, zonal 1-9,75 TiB nconnect=2
Regional, zonal 10-100 TiB nconnect=7
Empresa - nconnect=2
SSD de gran escala - nconnect=7
En general, cuanto mayor sea la capacidad del recurso compartido de archivos y menor sea el número de VMs cliente conectadas, más rendimiento obtendrás si especificas conexiones adicionales con
nconnect
.- Para el montaje automático, te recomendamos que especifiques
Ejemplo: La siguiente línea del archivo
/etc/fstab
monta el recurso compartido de archivosvol1
de la instancia de Filestore con la dirección IP10.0.0.2
en el directorio del punto de montaje/mnt
con las opciones de montaje predeterminadas:10.0.0.2:/vol1 /mnt nfs defaults,_netdev 0 0
Montar todo en
/etc/fstab
:sudo mount -a
El recurso compartido de archivos ahora se monta automáticamente cada vez que se inicia la VM cliente.
Linux: autofs
Puedes configurar autofs
para que monte automáticamente un recurso compartido de archivos solo cuando se acceda a él y lo desmonte cuando no se utilice. En comparación con el montaje estático de un recurso compartido de archivos en /etc/fstab
, este método ayuda a conservar los recursos de la VM de cliente en situaciones en las que el cliente necesita asignar muchos puntos de montaje.
Instalar NFS
y autofs
en la VM cliente
En la consola de Google Cloud , ve a la página Instancias de VM.
Busca la máquina virtual Linux que quieras usar como cliente y haz clic en SSH para abrir una terminal en esa máquina virtual.
Opcional: Montar un recurso compartido de archivos en una VM de cliente con varias interfaces de red a través de una red secundaria.
Detalles (haga clic para desplegar)
Si quieres montar el recurso compartido de archivos a través de una red secundaria, es decir, una interfaz distinta de
nic0
, debes modificar la política de enrutamiento de la VM cliente:- En
/etc/default/instance_configs.cfg
, define la marcasetup
deNetworkInterfaces
comofalse
:[NetworkInterfaces] dhclient_script = /sbin/google-dhclient-script dhcp_command = ip_forwarding = true setup = false
- En
/etc/network/interfaces
, añade las siguientes líneas: auto eth1 iface eth1 inet dhcp up ip route add filestore-reserved-address-range via default-gateway-of-nic-to-filestore
donde:
filestore-reserved-address-range
es el intervalo de direcciones reservado para la instancia de Filestore.default-gateway-of-nic-to-filestore
es la dirección IP de la pasarela predeterminada de la NIC conectada a la red de VPC compartida con la instancia de Filestore.
Para obtener más información sobre cómo usar instancias de Compute Engine con varias NICs, consulta Configurar el enrutamiento de una interfaz de red adicional.
- En
Instala NFS ejecutando los siguientes comandos:
Debian o Ubuntu
Usa los siguientes comandos para instalar NFS en Debian o Ubuntu.
sudo apt-get -y update &&
sudo apt-get install nfs-commonRHEL/CentOS
Usa los siguientes comandos para instalar NFS en Red Hat Enterprise Linux o CentOS.
sudo yum update &&
sudo yum install nfs-utilsSUSE
Usa los siguientes comandos para instalar NFS en SUSE.
sudo zypper update &&
sudo zypper -n install nfs-clientEn la ventana de la terminal de la VM cliente, instala
autofs
:Debian o Ubuntu
sudo apt-get install autofs
RHEL/CentOS
sudo yum install autofs
SUSE
sudo zypper -n install autofs
Configurar autofs
para que active dinámicamente el sistema de archivos compartido en la VM cliente
Habilitar
autofs
:sudo systemctl enable --now autofs
Crea un directorio local para asignarlo al recurso compartido de archivos de Filestore:
sudo mkdir -p mount-point-directory
donde
mount-point-directory
es el directorio que se va a crear. No debe contener ningún subdirectorio. En esta guía, usamos/nfs
como directorio del punto de montaje.Abre el archivo
/etc/auto.master
:sudo vim /etc/auto.master
Añade la siguiente línea al archivo
/etc/auto.master
:/nfs /etc/auto.nfs --timeout seconds
donde
seconds
es la duración en segundos antes de que se agote el tiempo de espera del montaje. El valor predeterminado es300
. Si asigna el valor0
, se inhabilita el desmontaje por parte deautofs
.Crea un archivo llamado
/etc/auto.nfs
:sudo vim /etc/auto.nfs
Añade la siguiente línea al archivo
/etc/auto.nfs
:mount-point-subdir options ip-address:/file-share
donde:
mount-point-subdir
es el subdirectorio de/nfs
al que quieres asignar el sistema de archivos compartidos de Filestore. Este subdirectorio se genera de forma dinámica y no debería existir en la VM del cliente.options
son las opciones de montaje de NFS. Te recomendamos que mantengas las opciones de montaje de NFS predeterminadas, con las siguientes excepciones:- Para el montaje automático, te recomendamos que especifiques
-o tcp
para reducir la latencia al montar y desmontar. - Si vas a montar una instancia regional, zonal o empresarial en una VM cliente que ejecute la versión 5.3 o posterior del kernel de Linux, te recomendamos que especifiques la opción de montaje
nconnect
para aumentar el rendimiento de NFS. En el caso de los niveles de servicio específicos, te recomendamos que especifiques el siguiente número de conexiones entre el cliente y el servidor:
Nivel Capacidad Número de conexiones Regional, zonal 1-9,75 TiB nconnect=2
Regional, zonal 10-100 TiB nconnect=7
Empresa - nconnect=2
SSD de gran escala - nconnect=7
En general, cuanto mayor sea la capacidad del recurso compartido de archivos y menor sea el número de VMs cliente conectadas, más rendimiento obtendrás si especificas conexiones adicionales con
nconnect
.ip-address
es la dirección IP de la instancia de Filestore.file-share
es el nombre del recurso compartido de archivos de la instancia.
- Para el montaje automático, te recomendamos que especifiques
Ejemplo: La siguiente línea del archivo
/etc/auto.nfs
monta el recurso compartido de archivosvol1
de la instancia de Filestore con la dirección IP10.0.0.2
en el subdirectorio generado dinámicamentefile-shares
con accesoread/write
concedido:file-shares -rw 10.0.0.2:/vol1
Cómo probar la configuración
Si el recurso compartido de archivos está montado, debes desmontarlo:
sudo umount mount-point-directory
donde
mount-point-directory
es la ruta a la que se asigna el recurso compartido de archivos de Filestore.Si hay una entrada
/etc/fstab
que monta el recurso compartido de archivos al arrancar el sistema, asegúrate de eliminarla.Volver a cargar
autofs
:sudo service autofs reload
Confirma que tu configuración funciona:
ls mount-point-directory/mount-point-subdir
donde:
mount-point-directory
es el directorio del punto de montaje indicado en el archivo/etc/auto.master
.mount-point-subdir
es el subdirectorio del punto de montaje indicado en el archivo/etc/auto.nfs
.
En nuestro ejemplo, el comando sería el siguiente:
ls /nfs/file-shares
Si el montaje automático está configurado correctamente, el sistema primero monta el recurso compartido de archivos y, a continuación, devuelve los resultados del comando
ls
. El recurso compartido de archivos se desmonta automáticamente tras un periodo de inactividad, que se define en el valortimeout
especificado en el archivo/etc/auto.master
.
Windows
Conectarse a la VM de Windows
En la consola de Google Cloud , ve a la página Instancias de VM.
Busca la VM de Windows que quieras usar como cliente y haz clic en RDP para abrir una conexión de escritorio remoto a esa VM. Para obtener más información, consulta el artículo Conectarse a instancias de Windows.
Instalar NFS en la VM de Windows
- En la VM Windows, abre PowerShell como administrador para asegurarte de que el acceso y los permisos de NFS sean correctos.
En PowerShell, instala el cliente NFS:
Install-WindowsFeature -Name NFS-Client
Reinicia la instancia de VM de Windows cuando se te pida y, a continuación, abre una nueva conexión de escritorio remoto.
Configurar el ID de usuario que usa el cliente NFS
En PowerShell, ejecuta los siguientes comandos para crear dos entradas de registro nuevas,
AnonymousUid
yAnonymousGid
: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
Reinicia el servicio de cliente NFS:
nfsadmin client stop
nfsadmin client start
Asigna el recurso compartido de archivos a la máquina virtual de Windows
Sal de PowerShell para abandonar la sesión del administrador. Si omite este paso, las aplicaciones que se ejecuten en la sesión del usuario estándar no podrán ver ni acceder a este recurso compartido de archivos.
exit
Opcional: Montar un recurso compartido de archivos en una VM de cliente con varias interfaces de red a través de una red secundaria.
Detalles (haga clic para desplegar)
Si quieres montar el recurso compartido de archivos a través de una red secundaria, es decir, una interfaz distinta de
nic0
, debes modificar la política de enrutamiento de la VM cliente. Ejecuta lo siguiente:route -p ^ add filestore-reserved-address-range ^ mask address-range-subnet-mask ^ default-gateway-of-nic-to-filestore
donde:
filestore-reserved-address-range
es el intervalo de direcciones reservado para la instancia de Filestore.address-range-subnet-mask
es la máscara de subred defilestore-reserved-address-range
. Por ejemplo, un intervalo de direcciones reservado /29 usaría la máscara de subred 255.255.255.248.default-gateway-of-nic-to-filestore
es la dirección IP de la pasarela predeterminada de la NIC conectada a la red de VPC compartida con la instancia de Filestore.
Ejemplo:
route -p add 10.65.21.176 mask 255.255.255.248 10.128.0.1
Para obtener más información sobre cómo usar instancias de Compute Engine con varias NICs, consulta Configurar el enrutamiento de una interfaz de red adicional.
En
Command Prompt
, asigna la unidad compartida de archivos a una letra de unidad:net use drive-letter: \\filestore-ip\file-share-name
donde:
- filestore-ip es la dirección IP de la instancia de Filestore.
- file-share-name es el nombre del recurso compartido de archivos de la instancia de Filestore.
- drive-letter es la letra de la unidad que quieres asignar a la asignación.
Ejemplo
El siguiente comando asigna el recurso compartido de archivos
vol1
en la instancia de Filestore con la dirección IP10.0.0.2
a la unidadz:
en la VM de Windows del cliente:net use Z: \\10.0.0.2\vol1
Opcional: Para usar el bloqueo de archivos NFS, comprueba lo siguiente:
Asegúrate de que las reglas de cortafuegos estén configuradas para todos los puertos NFS necesarios, incluidos
statd
ynlockmgr
.Asegúrate de que el cliente NFS de Windows esté configurado con puertos reservados mediante un comando similar al siguiente en PowerShell:
nfsadmin client config protocol=tcp UseReservedPorts=yes nfsadmin client stop nfsadmin client start
Crear y montar subdirectorios en el recurso compartido de archivos
Una vez que el sistema de archivos compartido se haya activado en una VM de cliente, puedes crear subdirectorios en él, que los clientes podrán activar directamente en lugar de activar todo el sistema de archivos compartido:
Para crear un subdirectorio en el recurso compartido de archivos montado, ejecuta lo siguiente:
sudo mkdir -p mount-point-directory/file-share-sub-dir
donde:
mount-point-directory
es la ruta a la que asignas el recurso compartido de archivos.file-share-sub-dir
es la ruta de la subcarpeta del recurso compartido de archivos que quieres crear.
Este comando crea el subdirectorio tanto en la VM de cliente como en el recurso compartido de archivos. Por ejemplo, si has montado el recurso compartido de archivos
10.0.0.2:/vol1
en el directorio/mnt
de la VM de cliente, el comandosudo mkdir -p /mnt/nfs
crea10.0.0.2:/vol1/nfs
en el recurso compartido de archivos y/mnt/nfs
en la VM de cliente.Opcional: Si quieres montar el subdirectorio del recurso compartido de archivos en el directorio de la VM de cliente donde está montado el recurso compartido de archivos, primero debes desmontar el recurso compartido de archivos:
sudo umount mount-point-directory
donde
mount-point-directory
es el directorio al que se asigna el recurso compartido de archivos.Monta el subdirectorio:
sudo mount ip-address:/file-share/file-share-sub-dir mount-point-directory
donde:
ip-address
es la dirección IP de la instancia de Filestore.file-share
es el nombre del recurso compartido de archivos de la instancia.file-share-sub-dir
es la ruta del subdirectorio del recurso compartido de archivos que se va a montar.mount-point-directory
es la ruta a la que quieres asignar el sistema de archivos compartidos de Filestore.
Ejemplo: En el siguiente comando:
sudo mount 10.0.0.2:/vol1/nfs /mnt/nfs
10.0.0.2
es la dirección IP de la instancia de Filestore.vol1
es el nombre del recurso compartido de archivos.nfs
es un subdirectorio de un recurso compartido de archivos./mnt/nfs
es el directorio de la VM de cliente en el que se asigna el subdirectorionfs
del recurso compartido de archivos.
Siguientes pasos
- Consulta cómo copiar datos en el recurso compartido de archivos montado.
- Consulta cómo activar sistemas de archivos compartidos en clientes de una red remota.
- Solucionar problemas de montaje relacionados con Filestore.