Mapear unidad de red cliente NFS en Windows

󰃭 2021-10-24 (updated: 2021-10-24 )

Lo prometido es deuda. En este post os dije que ibamos a hacer algo chulo con el servidor NFS en Windows. Y a eso vamos, vamos a usar una funcionalidad de Windows 10 que pasa desapercibida, el cliente NFS para Windows. En mi caso voy a optar solo por la instalación y configuración mediante consola ya que hacerlo gráficamente no es tan divertido.

Instalación

Desde una consola de PowerShell elevada hay que ejecutar el siguiente comando.

{% highlight powershell %} Enable-WindowsOptionalFeature -Online -FeatureName ClientForNFS-Infrastructure {% endhighlight %}

Montaje de solo lectura

Hay que tener en cuenta que esto no funciona desde la consola de PowerShell.

mount -o anon \\<IP_SERVIDOR_NFS>\datos Z:
Z: is now successfully connected to \\<IP_SERVIDOR_NFS>\datos

Montaje de lectura/escritura

Esta parte es bastante engorrosa en Windows. A mí personalmente no me gusta nada y por eso prefiero usar otras alternativas que os mostraré en otra publicación. Pero bueno, para ciertos entornos tiene su utilidad.

Lo primero es usar el comando mount para obtener el UID y GID con el que está montado el recurso NFS.

mount

Local    Remote                                 Properties
-------------------------------------------------------------------------------
Z:       \\<IP_SERVIDOR_NFS>\datos              UID=-2, GID=-2
                                                rsize=262144, wsize=262144
                                                mount=soft, timeout=0.8
                                                retry=1, locking=yes
                                                fileaccess=755, lang=ANSI
                                                casesensitive=no
                                                sec=sys

Hay que crear dos entradas en el registro de Windows para modificar los UID y GID por defecto. Lo ideal es elegir el UID y GDI de un usuario que ya exista en el servidor NFS y de esa manera creamos los ficheros y carpeta con identificadores ya existentes y no veremos valores númericos al visualizar los directorios desde nuestro Linux.

La primera clave se crea con el siguiente comando.

{% highlight powershell %} New-ItemProperty HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default -Name AnonymousUID -Value 1000 -PropertyType “DWord”

AnonymousUID : 1000 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\De fault PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion PSChildName : Default PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry {% endhighlight %}

La segunda clave se crea con el siguiente comando.

{% highlight powershell %} New-ItemProperty HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default -Name AnonymousGID -Value 105 -PropertyType “DWord”

AnonymousGID : 1000 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\De fault PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion PSChildName : Default PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry

PS C:\Windows\system32> {% endhighlight %}

Es necesario reiniciar el equipo para que lea del registro los cambios.

Vamos a ver si esto ha funcionado. Vamos a intentar crear una carpeta llamada folder2.

C:\Users\IEUser>z:

Z:\>dir
 Volume in drive Z has no label.
 Volume Serial Number is 1835-1B2D

 Directory of Z:\

10/22/2021  01:40 PM    <DIR>          .
10/22/2021  01:40 PM    <DIR>          ..
10/22/2021  01:23 PM    <DIR>          folder
               0 File(s)             62 bytes
               3 Dir(s)  37,989,482,496 bytes free

Z:\>mkdir folder2

Z:\>dir
 Volume in drive Z has no label.
 Volume Serial Number is 1835-1B2D

 Directory of Z:\

10/22/2021  01:40 PM    <DIR>          .
10/22/2021  01:40 PM    <DIR>          ..
10/22/2021  01:23 PM    <DIR>          folder
10/22/2021  01:40 PM    <DIR>          folder2
               0 File(s)             98 bytes
               4 Dir(s)  37,989,482,496 bytes free

Y ahora vamos a nuestro servidor NFS a ver si realmente existe y con qué propietario y permisos se ha creado.

{% highlight shell %} [root@centos7 datos]# ll total 0 drwxr-xr-x. 2 root root 22 oct 22 21:23 folder drwxr-xr-x. 2 ignacio ignacio 6 oct 22 21:43 folder2 [root@centos7 datos]# {% endhighlight %}

Pues eso es todo, amigos.


Ingrese la dirección de su instancia