En esta página, se muestra cómo activar un archivo compartido de Filestore en una instancia de máquina virtual (VM) de Compute Engine que se encuentra en el mismo proyecto Google Cloudy en la red de VPC. Si deseas obtener información para activar archivos compartidos en clientes en una red remota, consulta Activa los archivos compartidos en clientes en una red remota. Si buscas acceder a instancias de Filestore desde clústeres de Google Kubernetes Engine, consulta Accede a instancias de Filestore con el controlador de CSI de Filestore.
Antes de comenzar
Asegúrate de que el firewall de la red esté configurado de forma correcta para usarlo con Filestore. Consulta Configura las reglas de firewall para obtener más información.
Activa un archivo compartidos en una instancia de VM de Compute Engine
Usa uno de los siguientes procedimientos para activar un archivo compartido de Filestore en una VM de Compute Engine. Para obtener un rendimiento óptimo, recomendamos que se haga el montaje en una VM de n1-standard-8 o superior.
Linux: activación
Para activar manualmente un archivo compartido en una máquina virtual cliente de Linux:
En la Google Cloud consola, ve a la página Instancias de VM.
Ubica la VM de Linux que quieras usar como cliente y, luego, haz clic en SSH para abrir una terminal en esa VM.
Opcional: Activación de un archivo compartido en una máquina virtual de cliente con múltiples interfaces de red a través de una red secundaria.
Detalles (haz clic para expandir)
Si quieres activar el archivo compartido a través de una red secundaria, es decir, una interfaz distinta de
nic0, debes modificar la política de enrutamiento de la VM de cliente. Ejecución:sudo ip route \ add filestore-reserved-address-range \ via default-gateway-of-nic-to-filestoreDonde:
filestore-reserved-address-rangees el rango de direcciones reservado para que use la instancia de Filestore.default-gateway-of-nic-to-filestorees la dirección IP de la puerta de enlace predeterminada de la NIC conectada a la red VPC que se comparte con la instancia de Filestore.
Para obtener más información sobre el uso de instancias de Compute Engine con varias NIC, consulta Configura el enrutamiento para una interfaz de red adicional.
Instala NFS:
Debian/Ubuntu
Usa los siguientes comandos para instalar NFS en Debian o Ubuntu.
sudo apt-get -y update &&
sudo apt-get install nfs-commonRHEL y 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-clientHaga un directorio local para asignar al archivo compartido de Filestore:
sudo mkdir -p mount-point-directoryen el que
mount-point-directoryes el directorio que se desea crear, por ejemplo,/mnt/filedir.Activa el archivo compartido desde la instancia de Filestore mediante la ejecución del comando
mount. Puedes usar cualquiera de las opciones de activación de NFS. Para obtener el mejor rendimiento, recomendamos usar las siguientes opciones de NFSmount:Opción Descripción hardEl cliente de NFS reintenta las solicitudes NFS indefinidamente. Para reducir la posibilidad de interrupciones de E/S cuando se reinicie la instancia de Filestore, te recomendamos que uses la opción de activación hardpara los clientes de Linux y Windows.timeo=600El cliente de NFS espera 600 decisegundos (60 segundos) antes de volver a intentar una solicitud NFS. retrans=3El cliente de NFS intenta las solicitudes NFS tres veces antes de tomar más medidas de recuperación. rsize=524288El cliente de NFS puede recibir un máximo de 524,288 bytes del servidor NFS por solicitud READ.
Nota: Para las instancias de nivel básico, establece el valorrsizeen1048576.wsize=524288El cliente de NFS puede enviar un máximo de 524,288 bytes al servidor NFS por solicitud WRITE.resvportEl cliente de NFS utiliza un puerto de origen privilegiado cuando se comunica con el servidor NFS de este punto de activación. asyncEl cliente de NFS retrasa el envío de escrituras de la aplicación al servidor NFS hasta que se cumplen determinadas condiciones.
Precaución: Usar la opciónsyncreduce significativamente el rendimiento.- Para reducir la latencia de activación, especifica la opción
-o tcp. Si vas a activar una instancia regional, zonal o empresarial en una VM cliente que ejecuta la versión 5.3 o posterior del kernel de Linux, considera especificar la opción de activación
nconnectpara aumentar el rendimiento de NFS. Para niveles de servicio específicos, recomendamos que especifiques la siguiente cantidad de conexiones entre el cliente y el servidor:Nivel Capacidad Número de conexiones Regional, zonal De 1 a 9.75 TiB nconnect=2Regional, zonal De 10 a 100 TiB nconnect=7Enterprise - nconnect=2SSD de escala masiva - nconnect=7En general, cuanto mayor sea la capacidad del archivo compartido y menor sea la cantidad de VMs de cliente que se conectan, más rendimiento obtendrás si especificas conexiones adicionales con
nconnect.
Ejecuta el comando
mountcon las opciones que prefieras, de manera similar a lo siguiente:sudo mount -o rw ip-address:/file-share mount-point-directoryDonde:
ip-addresses la dirección IP para la instancia de Filestore.file-sharees el nombre del archivo compartido en la instancia.mount-point-directoryes la ruta a la que desea asignar el archivo compartido de Filestore.
Puedes obtener la dirección IP y el nombre del archivo compartido de una instancia desde cualquiera de las siguientes fuentes:
La página de instancias de Filestore.
El campo
IP_ADDRESSen los resultados del comandofilestore instances list.La sección
ipAddressesen los resultados del comandofilestore instances describe.
Por ejemplo, dada una instancia de Filestore con una dirección IP
10.0.1.2y un archivo compartido llamadoshare1, el siguiente comando activa el archivo compartido en el directorio del punto de activación local/mnt/render:sudo mount 10.0.1.2:/share1 /mnt/render- Para reducir la latencia de activación, especifica la opción
Opcional: Ejecuta
chmodpara establecer los permisos del directorio de activación a fin de que otra persona que no sea el usuario raíz pueda escribir en él. Para establecer permisos de directorio, ejecuta el siguiente comando:sudo chmod permissions mount-point-directoryDonde:
permissionses el conjunto de permisos que se otrogará. Por ejemplo,chmod go+rwhace que el directorio sea legible por los miembros del grupo (y también que estos puedan escribir en él) que posee el directorio y por todos los demás usuarios. Para obtener más información sobre la configuración de permisos, consulta Configura el acceso en un archivo compartido.mount-point-directoryes la ruta al directorio donde se activa el archivo compartido de Filestore.
Opcional: confirme que el archivo compartido de Filestore esté activado:
df -h --type=nfsEl resultado debe contener una entrada similar a lo 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, es posible que debas hacer lo siguiente:Configura los puertos utilizado por
statdynlockmgrdaemons yconfigura reglas de firewall para abrir esos puertos.
Linux: /etc/fstab
Puede hacer que los archivos compartidos se activen automáticamente en las máquinas virtuales del cliente durante el arranque modificando el archivo /etc/fstab del cliente:
En la Google Cloud consola, ve a la página Instancias de VM.
Ubica la VM de Linux que quieras usar como cliente y, luego, haz clic en SSH para abrir una terminal en esa VM.
Opcional: Activación de un archivo compartido en una VM de cliente que tiene múltiples interfaces de red a través de una red secundaria.
Detalles (haz clic para expandir)
Si quieres activar el archivo compartido a través de una red secundaria, es decir, una interfaz distinta de
nic0, debes modificar la política de enrutamiento de la VM de cliente:- En
/etc/default/instance_configs.cfg, establezca la marcasetupdeNetworkInterfacesenfalse:[NetworkInterfaces] dhclient_script = /sbin/google-dhclient-script dhcp_command = ip_forwarding = true setup = false
En
/etc/network/interfaces, agrega 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-rangees el rango de direcciones reservado para que use la instancia de Filestore.default-gateway-of-nic-to-filestorees la dirección IP de la puerta de enlace predeterminada de la NIC conectada a la red VPC que se comparte con la instancia de Filestore.
Para obtener más información sobre el uso de instancias de Compute Engine con varias NIC, consulta Configura el enrutamiento para una interfaz de red adicional.
- En
Instala NFS:
Debian/Ubuntu
Usa los siguientes comandos para instalar NFS en Debian o Ubuntu.
sudo apt-get -y update &&
sudo apt-get install nfs-commonRHEL y 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-clientHaga un directorio local para asignar al archivo compartido de Filestore:
sudo mkdir -p mount-point-directoryen el que
mount-point-directoryes el directorio que se desea crear, por ejemplo,/mnt/filedir.Abre el archivo
/etc/fstab:sudo vim /etc/fstabAgrega la siguiente línea en el archivo
/etc/fstab:ip-address:/file-share mount-point-directory nfs options,_netdev 0 0Donde:
ip-addresses la dirección IP de la instancia de Filestore.file-sharees el nombre del archivo compartido de la instancia.mount-point-directoryes la ruta a la que desea asignar el archivo compartido de Filestore.optionsson las opciones de activación NFS. Te recomendamos que conserves las opciones de activación NFS predeterminadas, con las siguientes excepciones:- Para la activación automática, recomendamos especificar
-o tcpa fin de reducir la latencia cuando se activa y desactiva. - Si vas a activar una instancia regional, zonal o empresarial en una VM cliente que ejecuta la versión 5.3 o posterior del kernel de Linux, considera especificar la opción de activación
nconnectpara aumentar el rendimiento de NFS. Para niveles de servicio específicos, recomendamos que especifiques la siguiente cantidad de conexiones entre el cliente y el servidor:
Nivel Capacidad Número de conexiones Regional, zonal De 1 a 9.75 TiB nconnect=2Regional, zonal De 10 a 100 TiB nconnect=7Enterprise - nconnect=2SSD de escala masiva - nconnect=7En general, cuanto mayor sea la capacidad del archivo compartido y menor sea la cantidad de VMs de cliente que se conectan, más rendimiento obtendrás si especificas conexiones adicionales con
nconnect.- Para la activación automática, recomendamos especificar
Ejemplo: La siguiente línea en
/etc/fstabactiva el archivo compartidovol1de la instancia de Filestore con la dirección IP10.0.0.2en el directorio del punto de activación/mntcon las opciones de activación predeterminadas:10.0.0.2:/vol1 /mnt nfs defaults,_netdev 0 0Activa todo en
/etc/fstab:sudo mount -aEl archivo compartido ahora se activa automáticamente cada vez que se inicia la VM del cliente.
Linux: autofs
Puedes configurar autofs para activar automáticamente un archivo compartido solo cuando se accede a él y mantenerlo desactivado cuando no se utiliza. En comparación con tener un archivo compartido activado estáticamente en /etc/fstab, este método ayuda a conservar los recursos de la VM del cliente en situaciones en las que el cliente necesita realizar asignaciones a muchos puntos de activación.
Instala NFS y autofs en la VM cliente
En la Google Cloud consola, ve a la página Instancias de VM.
Ubica la VM de Linux que quieras usar como cliente y, luego, haz clic en SSH para abrir una terminal en esa VM.
Opcional: Activación de un archivo compartido en una máquina virtual de cliente con múltiples interfaces de red a través de una red secundaria.
Detalles (haz clic para expandir)
Si quieres activar el archivo compartido a través de una red secundaria, es decir, una interfaz distinta de
nic0, debes modificar la política de enrutamiento de la VM de cliente:- En
/etc/default/instance_configs.cfg, establezca la marcasetupdeNetworkInterfacesenfalse:[NetworkInterfaces] dhclient_script = /sbin/google-dhclient-script dhcp_command = ip_forwarding = true setup = false
- En
/etc/network/interfaces, agrega 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-rangees el rango de direcciones reservado para que use la instancia de Filestore.default-gateway-of-nic-to-filestorees la dirección IP de la puerta de enlace predeterminada de la NIC conectada a la red VPC que se comparte con la instancia de Filestore.
Para obtener más información sobre el uso de instancias de Compute Engine con varias NIC, consulta Configura el enrutamiento para una interfaz de red adicional.
- En
Ejecuta los siguientes comandos para instalar NFS:
Debian y Ubuntu
Usa los siguientes comandos para instalar NFS en Debian o Ubuntu.
sudo apt-get -y update &&
sudo apt-get install nfs-commonRHEL y 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 de cliente, instala
autofs:Debian/Ubuntu
sudo apt-get install autofsRHEL y CentOS
sudo yum install autofsSUSE
sudo zypper -n install autofs
Configure autofs para activar dinámicamente el archivo compartido en la máquina virtual del cliente
Habilitar
autofs:sudo systemctl enable --now autofsHaga un directorio local para asignar al archivo compartido de Filestore:
sudo mkdir -p mount-point-directoryEn el ejemplo anterior,
mount-point-directoryes el directorio que se creará. No debe contener subdirectorios. En esta guía, usamos/nfscomo el directorio de punto de activación.Abre el archivo
/etc/auto.master:sudo vim /etc/auto.masterAgrega la siguiente línea en el archivo
/etc/auto.master:/nfs /etc/auto.nfs --timeout secondsdonde
secondses la duración en segundos antes del tiempo de espera de activación. El valor predeterminado es300. Establecer este valor en0deshabilita la desactivación medianteautofs.Crea un archivo llamado
/etc/auto.nfs:sudo vim /etc/auto.nfsAgrega la siguiente línea en el archivo
/etc/auto.nfs:mount-point-subdir options ip-address:/file-shareDonde:
mount-point-subdires el subdirectorio en/nfsal que deseas asignar el archivo compartido de Filestore. Este subdirectorio se genera de forma dinámica y no debe existir en la VM del cliente.optionsson las opciones de activación NFS. Te recomendamos que conserves las opciones de activación NFS predeterminadas, con las siguientes excepciones:- Para la activación automática, recomendamos especificar
-o tcpa fin de reducir la latencia cuando se activa y desactiva. - Si vas a activar una instancia regional, zonal o empresarial en una VM cliente que ejecuta la versión 5.3 o posterior del kernel de Linux, considera especificar la opción de activación
nconnectpara aumentar el rendimiento de NFS. Para niveles de servicio específicos, recomendamos que especifiques la siguiente cantidad de conexiones entre el cliente y el servidor:
Nivel Capacidad Número de conexiones Regional, zonal De 1 a 9.75 TiB nconnect=2Regional, zonal De 10 a 100 TiB nconnect=7Enterprise - nconnect=2SSD de escala masiva - nconnect=7En general, cuanto mayor sea la capacidad del archivo compartido y menor sea la cantidad de VMs de cliente que se conectan, más rendimiento obtendrás si especificas conexiones adicionales con
nconnect.ip-addresses la dirección IP para la instancia de Filestore.file-sharees el nombre del archivo compartido en la instancia.
- Para la activación automática, recomendamos especificar
Ejemplo: La siguiente línea en
/etc/auto.nfsactiva el archivo compartidovol1de la instancia de Filestore con la dirección IP10.0.0.2en el subdirectorio generado dinámicamentefile-sharescon accesoread/writeconcedido:file-shares -rw 10.0.0.2:/vol1
Prueba la configuración
Si el archivo compartido está activado, debe desactivarlo:
sudo umount mount-point-directorydonde
mount-point-directoryes la ruta a la que se asigna el archivo compartido de Filestore.Si hay una entrada
/etc/fstabque active el archivo compartido al iniciar el sistema, asegúrese de eliminarla.Vuelva a cargar
autofs:sudo service autofs reloadConfirme que la configuración funciona:
ls mount-point-directory/mount-point-subdirDonde:
mount-point-directoryes el directorio del punto de activación indicado en el archivo/etc/auto.master.mount-point-subdires el subdirectorio del punto de activación indicado en el archivo/etc/auto.nfs.
En nuestro ejemplo, el comando sería:
ls /nfs/file-sharesSi la activación automática está configurada correctamente, el sistema primero activará el archivo compartido y luego mostrará los resultados del comando
ls. El archivo compartido se desactiva automáticamente después de un período de inactividad, que se define en el valortimeoutespecificado en el archivo/etc/auto.master.
Windows
Conéctate a la VM de Windows
En la Google Cloud consola, ve a la página Instancias de VM.
Ubica la VM de Windows que quieras usar como cliente y, luego, haz clic en RDP para abrir una conexión de escritorio remoto en esa VM. Para obtener más información, consulta Conéctate a instancias de Windows.
Instala NFS en la VM de Windows
- En la VM de Windows, abre PowerShell como administrador para garantizar el acceso y los permisos de NFS adecuados.
En PowerShell, instale el cliente de NFS:
Install-WindowsFeature -Name NFS-ClientReinicia la instancia de VM de Windows como se solicita y, luego, abre una conexión de escritorio remoto nueva.
Configure el ID de usuario utilizado por el cliente de NFS
En PowerShell, ejecuta los siguientes comandos para crear dos entradas de registro nuevas,
AnonymousUidyAnonymousGid:New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default" ` -Name "AnonymousUid" -Value "0" -PropertyType DWORDNew-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default" ` -Name "AnonymousGid" -Value "0" -PropertyType DWORDReinicie el servicio del cliente de NFS:
nfsadmin client stopnfsadmin client start
Asigne el archivo compartido a la VM de Windows
Sal de PowerShell para abandonar la sesión del administrador. Si omites 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.
exitOpcional: Activación de un archivo compartido en una máquina virtual de cliente con múltiples interfaces de red a través de una red secundaria.
Detalles (haz clic para expandir)
Si quieres activar el archivo compartido a través de una red secundaria, es decir, una interfaz distinta de
nic0, debes modificar la política de enrutamiento de la VM de cliente. Ejecución:route -p ^ add filestore-reserved-address-range ^ mask address-range-subnet-mask ^ default-gateway-of-nic-to-filestoreDonde:
filestore-reserved-address-rangees el rango de direcciones reservado para que use la instancia de Filestore.address-range-subnet-maskes la máscara de subred defilestore-reserved-address-range. Por ejemplo, un rango de direcciones reservado /29 usaría la máscara de subred 255.255.255.248.default-gateway-of-nic-to-filestorees la dirección IP de la puerta de enlace predeterminada de la NIC conectada a la red VPC que se comparte con la instancia de Filestore.
Ejemplo:
route -p add 10.65.21.176 mask 255.255.255.248 10.128.0.1Para obtener más información sobre el uso de instancias de Compute Engine con varias NIC, consulta Configura el enrutamiento para una interfaz de red adicional.
Desde
Command Prompt, asigne el archivo compartido a una letra de unidad:net use drive-letter: \\filestore-ip\file-share-nameDonde:
- filestore-ip es la dirección IP de la instancia de Filestore.
- file-share-name es el nombre del archivo compartido en la instancia de Filestore.
- drive-letter es la letra de la unidad que deseas elegir para la asignación.
Ejemplo
El siguiente comando asigna el archivo compartido
vol1en la instancia de Filestore con la dirección IP10.0.0.2para conducirz:en la VM de Windows del cliente:net use Z: \\10.0.0.2\vol1Opcional: Para usar el bloqueo de archivos NFS, verifica lo siguiente:
Asegúrate de que las reglas de firewall estén configuradas para todos los puertos NFS necesarios, incluidos
statdynlockmgr.Asegúrate de que el cliente NFS de Windows esté configurado con puertos reservados con un comando similar al siguiente en PowerShell:
nfsadmin client config protocol=tcp UseReservedPorts=yes nfsadmin client stop nfsadmin client start
Crea y activa subdirectorios en archivos compartidos
Una vez que se activan los archivos compartidos en una VM de cliente, puedes crear subdirectorios en el sistema de archivos compartidos, que los clientes pueden activar directamente en lugar de activar todos los archivos compartidos:
Para crear un subdirectorio en los archivos compartidos activados, ejecuta lo siguiente:
sudo mkdir -p mount-point-directory/file-share-sub-dirDonde:
mount-point-directoryes la ruta a la que asignas el archivo compartido.file-share-sub-dires la ruta de acceso del subdirectorio en el archivo compartido que deseas crear.
Este comando crea un subdirectorio en la VM de cliente y el archivos compartido. Por ejemplo, si activaste el archivo compartido
10.0.0.2:/vol1en el directorio/mntde la VM de cliente, el comandosudo mkdir -p /mnt/nfscrea10.0.0.2:/vol1/nfsen el archivo compartido y en/mnt/nfsen la VM del cliente.Opcional: Si deseas activar el subdirectorio de archivos compartidos en el directorio de la VM de cliente en el que está activado el recurso compartido, primero debes desactivar el archivo compartido:
sudo umount mount-point-directoryEn el ejemplo anterior,
mount-point-directoryes el directorio al cual se mapea el archivo compartido.Activa el subdirectorio:
sudo mount ip-address:/file-share/file-share-sub-dir mount-point-directoryDonde:
ip-addresses la dirección IP para la instancia de Filestore.file-sharees el nombre del archivo compartido en la instancia.file-share-sub-dires la ruta del subdirectorio del archivo compartido que se activará.mount-point-directoryes la ruta a la que desea asignar el archivo compartido de Filestore.
Ejemplo: En el siguiente comando:
sudo mount 10.0.0.2:/vol1/nfs /mnt/nfs10.0.0.2es la dirección IP de la instancia de Filestore.vol1es el nombre del archivo compartido.nfses un subdirectorio de uso compartido de archivos./mnt/nfses el directorio en la VM del cliente al que se asigna el subdirectorio de archivos compartidosnfs.
¿Qué sigue?
- Aprende a copiar datos al archivo compartido activado.
- Aprende a activar archivos compartidos en clientes en una red remota.
- Soluciona problemas de activación relacionados con Filestore.