服务端
# nfs服务端
apt install nfs-kernel-server -y
# nfs 客户端,如果服务端没有被共享,可以不需要安装
apt install nfs-common
vim /etc/exports
#前面是路径,后面的option
/home/fxbox/arfiles *(rw,async,no_root_squash,no_subtree_check)
ro 该主机对该共享目录有只读权限
rw 该主机对该共享目录有读写权限
root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
no_root_squash 客户机用root访问该共享文件夹时,不映射root用户
all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户(nfsnobody)
no_all_squash 与all_squash取反(默认设置)
anonuid=XXX 将客户机上的用户映射成指定的本地用户ID的用户(UID=xxx)
anongid=XXX 将客户机上的用户映射成属于指定的本地用户组ID (GID=xxx)
sync 资料同步写入到内存与硬盘中,效率低,但可以保证数据的一致性
async 资料会先暂存于内存中,而非直接写入硬盘
insecure 允许从这台机器过来的非授权访问
subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
wdelay 检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置)
no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。若有写操作则立即执行,应与sync配合使用
hide 在NFS共享目录中不共享其子目录
no_hide 共享NFS目录的子目录
secure NFS通过1024以下的安全TCP/IP端口发送
insecure NFS通过1024以上的端口发送
exportfs -rv
安装后测试:
showmount -e 192.168.1.90
如果提示
clnt_create: RPC: Program not registered
则
systemctl enable nfs-kernel-server
systemctl start nfs-kernel-server
客户端
apt install nfs-common
#测试
showmount -e 192.168.0.65
mount -t nfs 192.168.0.65:/data1 /data1 -o nolock
启动挂载
# 创建脚本
cd /data/work
vim mountnfs.sh
# 开机挂载硬盘
mount -t nfs 192.168.0.65:/data1 /data1 -o nolock
#保存后
##设置开机启动
crontab -e
# 加入
@reboot /data/work/mountnfs.sh
参考