我目前正在设置 Mac 客户端 (Macos 10.14.1) 和 Raspberry Pi3 服务器 (U16.04.1 LTS) 之间的基于 NFS 的文件共享。当我双启动 Mac (MacOS/Ubuntu18) 时,我想将 Pi 与 NFS 一起使用(我已经让 Samba 运行良好,但它无法处理 Unix 权限)作为公共主页,以减少文件重复并简化版本控制。在 MacOS 正常运行后,我将着手设置 Ubuntu。
我目前设置了两个共享,一个使用 NFS3(匿名的),另一个使用 NFSv4(主页/用户1)。读取/写入任一共享的文件都非常快,并且运行良好(除了 UID/GID 不匹配)。我遇到的问题是,虽然列出 NFS3 共享上的文件也非常快,但列出 NFSv4 共享上的文件却非常慢,我不知道为什么。
以下是我使用的所有设置。我没有mount --bind
在服务器上使用它们,因为我认为它们没有必要,而且与我的问题无关,但我可能是错的。
我已经搜索此问题的解决方案很多天了,但是我读到的任何东西都不能解决我的问题,其他人总是抱怨包含大量文件的目录,而且我看到的任何建议都没有解决我的问题。 事实证明这与我的终端颜色设置有关,看更新以下。
最终,我想在我的 Mac 和 Pi 之间同步 UID/GID,但这是另一个问题,因为我现在不太了解如何使用 Kerberos(但希望不使用)设置 LDAP(或使用 NIS?)。此外,我现在没有设置域控制器。
提前感谢您花时间阅读我的问题和您的建议。
服务器端
在 /etc/exports 中:
/srv/anonymous *(rw,sync,insecure,no_subtree_check,all_squash)
/srv/home/user1 *(rw,sync,fsid=0,insecure,crossmnt,no_subtree_check,no_root_squash)
在 /etc/default/nfs-通用:
NEED_STATD=
NEED_IDMAPD=yes
STATDOPTS="--port 4000 --outgoing-port 4001"
NEED_GSSD=
在 /etc/default/nfs-内核服务器:
RPCNFSDCOUNT=8
RPCNFSDPRIORITY=0
RPCMOUNTDOPTS="--manage-gids -p 4002"
NEED_SVCGSSD=""
RPCSVCGSSDOPTS=""
RPCNFSDOPTS=""
/etc/idmapd.conf:
[General]
Verbosity = 0
Pipefs-Directory = /run/rpc_pipefs
[Translation]
Method=static
[Static]
[email protected] = user1
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
/etc/modprobe.d/blacklist.conf:
blacklist rpcsec_gss_krb5
/etc/modprobe.d/options.conf:
options lockd nlm_udpport=4001 nlm_tcpport=4001
/etc/模块:
lockd
/sys/模块/nfsd/参数/nfs4_disable_idmapping:
Y (I've tried manually setting this to "N" but it gets overwritten)
(So I'm using nfs-common to manage this via the 'NEED_IDMAPD=yes' option
客户端
安装使用:
mount -v -t nfs -o proto=tcp,port=2049 raspberry.local:/srv/anonymous ~/ranonymous
mount -v -t nfs -o rsize=32768,wsize=32768,proto=tcp,port=2049,sec=sys raspberry.local:/srv/home/user1 ~/ruser1
结果时间 ls /分享:
user1@mac:[ 6:13]$ time ls ranonymous/
a1 putty.zip test
real 0m0.013s
user 0m0.002s
sys 0m0.004s
user1@mac:[ 6:13]$ time ls ruser1/
a1 a2 a3 a4 a5 me me copy myScripts you you1 you2 you3
real 0m6.044s
user 0m0.002s
sys 0m0.004s
更新
我已经找到了解决速度慢的部分原因ls
,这与颜色的使用有关。通过export CLICOLOR=1
在我的 bash 配置文件中进行注释,我现在的速度恢复正常了。这很遗憾,因为我确实希望我的终端有颜色。
1)为什么这个问题只发生在 NFSv4 上?
2)为什么这个问题只影响根文件夹而不影响子文件夹,即使颜色仍然打开,我也能非常快速地列出子文件夹。3)有没有办法设置我的 bash 配置文件,以便在不使用不同命令的情况下列出本地文件夹时有颜色,但在列出共享时没有颜色?
4)是否有可能在不牺牲颜色的情况下实现快速性能?
我还有另一个相关问题:在终端中,我根据挂载点访问共享驱动器(〜/ruser1)。然而,在 Finder 中,挂载点被重命名为(〜/用户1),服务器共享的基目录。有没有办法让它保持一致?