我的记录

菜鸟指南

Linux下nfs+rpcbind实现服务器之间的文件共享(mount 挂载)

  • 更新日期: 2022-11-25
  • 查看次数: 39
  • 站点标签:

详细介绍

简介
首先要说明的是,这是linux服务器之间基于nfs、rpcbind服务的免密远程挂载。不是基于smb服务远程挂载。这两个服务器要先授信,在服务端安装、设置nfs与rpcbind服务,设置共性目录、启动服务,在客户端进行挂载。

服务端
安装并开启nfs与rpcbind服务,然后设置共享目录。

安装相关服务:
检查服务端是否安装了nfs:rpm -aq | grep nfs

检查服务端是否安装了rpcbind:rpm -aq | grep rpcbind

如上两图所示表示服务端已经安装了nfs与rpcbind,如果没有安装,先安装nfs、rpcbind。

安装nfs:yum install nfs-utils

安装rpcbind:yum install rpcbind

设置开机自启动nfs服务:chkconfig nfs on / systemctl enable rpcbind

设置开机自启动rpcbind服务:chkconfig rpcbind on / systemctl enable rpcbind

设置共享目录:
修改共享目录权限:chmod 777 /data/share

编辑配置文件:vi /etc/exports

增加一行内容:/data/share *(rw,sync)

补充:

/data/share表示服务端共享的目录
* 指允许所有ip的机器访问共享目录。
如果是指定客户端IP,则只允许该客户端ip主机访问。
*或IP地址与()之间不允许有空格。
rw指可以以读写的方式访问,sync数据同步写入内存和硬盘。
关于其他权限的代码:

rw:可读写的权限;
ro:只读的权限;
no_root_squash:登入到NFS主机的用户如果是root,该用户即拥有root权限;(不添加此选项ROOT只有RO权限)
root_squash:登入NFS主机的用户如果是root,该用户权限将被限定为匿名使用者nobody;
all_squash:不管登陆NFS主机的用户是何权限都会被重新设定为匿名使用者nobody。
anonuid:将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中。
anongid:同anonuid,但是变成group ID就是了!
sync:资料同步写入存储器中。
async:资料会先暂时存放在内存中,不会直接写入硬盘。
insecure:允许从这台机器过来的非授权访问。
使配置生效:exportfs -r

启动相关服务:
启动nfs服务:service nfs start

启动rpcbind服务:service rpcbind start

查看nfs服务状态:service nfs status

查看rpcbind服务状态:service rpcbind status

检查是否存在共享目录:showmount -e

建议关闭防火墙

客户端
挂载远程共享目录:mount -t nfs 192.168.1.171:/data/share /mnt/app/test/

补充:

192.168.1.171为服务端ip地址。
/data/share为远程共享目录,与ip地址之间用’:‘隔开。
/mnt/app/test/为客户端挂载点。
-t nfs代表的是指明挂载的文件系统类型。
检查是否挂载:df -kh

客户段需要再安装一下
命令如下
安装nfs:yum install nfs-utils

共享目录使用结束之后,卸载共享目录,运行以下命令:
umount /www/wwwroot/300015.xyz/nfs