mac 实现 挂载 nfs

1. nfs是网络文件系统,允许一个节点通过网络远程访问远程计算机的文件系统,远程文件系统可以直接挂载到本地,文件操作和本地文件没有区别,如果是本地局域网的nfs,那么io的性能也可以保证

2. 首先检查服务端的配置,服务端提供文件系统供客户端来挂载使用,检查是否缺少基础环境:

rpm -qa|grep nfs-utils rpm -qa|grep rpcbind 一般服务器安装时这两个包都是存在的,没有的话则需要安装,安装完后配置nfs访问目录,配置文件位置/etc/exports,默认是空的,在这里添加一行: /nfstest 172.16.40.155(rw,norootsquash,noall_squash,async)

这个配置表示开放本地存储目录/nfstest 只允许172.16.40.155这个主机有访问权限,rw表示允许读写;norootsquash表示root用户具有完全的管理权限;noall_squash表示保留共享文件的UID和GID,此项是默认不写也可以;async表示数据可以先暂时在内存中,不是直接写入磁盘,可以提高性能,另外也可以配置sync表示数据直接同步到磁盘;就配置这些就可以,保存退出.如果想让另外一台主机也可以挂载这个目录,那么直接在后面追加即可,比如:

/nfstest 192.168.1.8(rw,norootsquash,noallsquash,async) 192.168.1.9(rw,norootsquash,noall_squash,async)

多个目录可以每行配置一个,如果想让这个网段的主机都可以访问,假如此时子网掩码是255.255.255.0,网关是192.168.1.0,那么ip那里可以写成192.168.1.0/24表示允许地址段的所有主机访问

现在配置完这些配置,启动相关服务:

systemctl start rpcbind.service systemctl start nfs.service

3. 在客户端

1)使用brew安装osxfuse

brew是macOS缺失的软件包管理器,如果没有brew则在终端将“ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ”(不包括中文引号,这一步是跳转到到网站上下载brew)

可参阅:https://brew.sh/index_zh-cn.html

    若有则在终端直接输入指令:brewcask install osxfuse 该指令是下载安装osxfuse.dmg的,当然我们也可以不用指令直接到官网

https://osxfuse.github.io/下载安装。

2)安装sshfs

执行指令:brew install sshfs

3)安装结束后,就可以用sshfs挂载远程目录到本地 sshfs usrname@sshserverip:remotedir local_dir