当前位置: 首页>>技术教程>>正文


从macOS客户端在Ubuntu Linux服务器上挂载NFS卷

, ,

问题描述

我有一台Ubuntu 20.04服务器(在我的情况下是本地VM)。如何使用NFS从macOS Catalina客户端在Linux服务器上安装目录?

最佳办法

设置Linux服务器

  1. 按照Ubuntu NFS guide安装NFS服务器:

     sudo apt install nfs-kernel-server
    
  2. 编辑/etc/exports

     sudo nano /etc/exports
    

    现在添加类似于以下内容的行:

     /home/ubuntu 172.16.238.0/24(insecure,rw,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
    
    • /home/ubuntu是要导出的目录

    • 172.16.238.0/24是接受连接的IP地址。 Mac客户端的IP地址应在此范围内。使用*允许来自任何IP地址。 (但是请注意不要使您的NFS服务器可用于整个Internet!)

    • insecure表示接受来自非特权(较高)端口号的连接

    • rw表示读写

    • all_squash,anonuid=1000,anongid=1000强制所有读写由具有UID /GID 1000的用户/组执行(1000是我服务器上的默认ubuntu用户/组)。在服务器上运行id以查找您的UID /GID。您需要这些选项,除非您的Ubuntu服务器和Mac客户端对主要用户使用相同的UID /GID。

    • no_subtree_check是性能的东西

  3. 保存文件并运行

     sudo exportfs -vra
    

    重新加载NFS导出。 (我不确定是否需要-a选项。)

设置Mac客户端

  1. 在macOS客户端上,编辑/etc/auto_master文件(在auto_master man page中记录):

     sudo nano /etc/auto_master
    

    并将以/net开头的行更改为以下内容(或在必要时添加):

     /net            -hosts      -nobrowse,nosuid,locallocks,nfc,actimeo=1
    
    • locallocks在客户端而不是服务器上创建锁。没有此功能,Finder会变得非常缓慢,并且永远需要显示目录。

    • nfc使UTF-8文件名起作用

    • actimeo=1将属性缓存超时设置得尽可能短。请注意,将其设置为0(或添加noac)会使Finder在服务器上删除文件时不会注意到,因此我们无法使用它。

    • 请注意,这里我们不使用nfsvers=4。这样,我在Mac上就出现了内核恐慌,因此我恢复了默认设置(NFSv3)。

  2. 通过运行刷新自动挂载

     sudo automount -vc
    

    (如果以前尝试安装NFS卷,请先将其卸载,例如:sudo umount -f /net/fileserver.local/home/ubuntu)

  3. 在Finder菜单中,选择转到->转到文件夹,然后输入/net/SERVER_HOST_NAME,例如/net/fileserver.local。您应该在其中找到导出的目录,例如在/net/fileserver.local/home/ubuntu。将该目录拖到Finder侧边栏中,以方便将来使用。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11164.html,未经允许,请勿转载。