Skip to main content

Montar un punto de montaje NFS en MacOs 12 Monterey

Introducción

A veces se me olvida que Mac tiene sus cositas. En mi caso tengo una raspberry pi 4B que es mi centro de backups, DCHP, etc. Habitualmente monto alguna unidad vía NFS con mi ordenador personal con linux, y como no quería hacer lo propio con mi Macbook Pro con chip M1 y Monterey (12.5) como versión del SO

Tras unas horas de trabajo, he comprendido que es mucho mejor instalar un servidor APF con Netatalk y permitir el uso de su formato natívo de red, que usar NFS que se le atraganta mucho al Darwin.

Metodología

Para ello lo primero me cree los directorios que queria (uno por cada endpoint NFS) y luego intente montar uno

> sudo mkdir /private/backup5t
> sudo make mount -t nfs rbp:/backup5t /private/backup5t
Password:
mount_nfs: can't mount with remote locks when server (rbp) is not running rpc.statd: RPC prog. not avail
mount: /private/backup5t failed with 74

Bueno, algo me decía que empezábamos un nuevo lío.

Verificar NFS remoto

> showmount -e rbp
Exports list on rbp:
/backup5t                           192.168.1.0/24

Verificar los demonios asociados a nfs

❯ systemctl status rpcbind.service
● rpcbind.service - RPC bind portmap service
   Loaded: loaded (/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2022-08-07 08:26:48 UTC; 42min ago
     Docs: man:rpcbind(8)
 Main PID: 279 (rpcbind)
    Tasks: 1 (limit: 4915)
   Memory: 2.1M
   CGroup: /system.slice/rpcbind.service
           └─279 /sbin/rpcbind -f -w
❯ systemctl status rpc-statd.service
● rpc-statd.service - NFS status monitor for NFSv2/3 locking.
   Loaded: loaded (/lib/systemd/system/rpc-statd.service; disabled; vendor preset: enabled)
   Active: inactive (dead)

Aquí lo vemos. Un servicio de locking que está muerto pero es normal,ya que no tengo configurado nfs v3 o v2.

Y por aquí es donde anda el lio.

Solución

Decirle a nuestro mác que use la versión 4 o configurar el servidor para que soporte nfs v3 y nfs4, que no estoy dispuesto, por obsoleto.

❯ sudo echo ‘nfs.client.mount.options = vers=4’ >> /etc/nfs.conf
❯ sudo mount  -t nfs rbp:/backup5t /private/backup5t

Et voila…

Disco NFS montado en MacOS X Monterey

Solventar el lío a lo bruto

La literatura sobre el tema en Google, o DuckDuck es fantástica. Una vez más muchos posts, y pocas soluciones reales, amén de que muchas son similares pero no tienen la misma dinámica. Y esta es una de las propuestas, que tiene un gran handicap.

Su uso es desaconsejado porque en un entorno de múltiples accesos a un mismo fichero acabarán en una corrupción NO USAR NUNCA nolocks

> sudo mount -o nolocks,resvport,locallocks  -t nfs rbp:/backup5t /private/backup5t
Aviso

Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris

Si necesitas soporte profesional puedes contratar con Castris soporte profesional.