赞
踩
NFS(Network File System,网络文件系统),允许计算机之间通过网络来共享彼此的资源,NFS服务端可以让客户端将服务端共享的目录挂载到本地的文件系统中,此时客户端就可以读写位于NFS服务器上的共享目录下的文件,且两端可以实现实时同步(即服务端或客户端对共享目录下的内容进行增删时,两端将会同步)
NFS服务本身是不提供数据传递的协议的,而是需要借助RPC(Remote Procedure Call,远程过程调用)来实现客户端与服务端的连接
因为NFS还有很多其他功能,这些功能会随机启动其他端口去传输数据,因此NFS对应的端口并不固定,这就导致客户端不知道服务端使用的是哪个端口,此时RPC工具将会解决这一问题,因为RPC的端口是固定的为111。
首先当NFS启动后,会随机使用一些端口,此时RPC将会记录NFS使用的端口信息,并且RPC会开启111端口,等待客户端RPC的请求,如果客户端有请求,那么服务端的RPC就会将记录的NFS端口告知客户端的RPC,如此客户端就会获取NFS服务器端的端口信息,就会以实际端口进行数据的传输了。
服务端ip:192.168.58.143
客户端ip:192168.58.140
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y install nfs-utils
[root@localhost ~]# yum -y install rpcbind
[root@localhost ~]# mkdir /mnt/share_dir
[root@localhost ~]# echo 'This is a test file!!!' > /mnt/share_dir/test.txt
[root@localhost share_dir]# vim /etc/exports
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# systemctl start rpcbind
nfs服务的配置文件的格式:
配置文件中括号里的参数:
ro: //只读权限
rw: //读写权限
sync: //同步方式存储数据,直接将数据保存到内存和磁盘
root_squash: // 对于使用分享目录的使用者如果是root用户,那么这个使用者的权限将被压缩成为匿名使用者,只读权限。
no_root_squash: //使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限,不限制对方用root用户使用
[root@client1 ~]# systemctl stop firewalld
[root@client1 ~]# setenforce 0
[root@client1 ~]# yum -y install nfs-utils
[root@client1 ~]# yum -y install rpcbind
[root@client1 ~]# systemctl start nfs
[root@client1 ~]# systemctl start rpcbind
从客户端的角度来说,在安装并启动好NFS和RPC服务之后,第一个操作为mount,这里的mount是代表将远程NFS服务器共享出来的文件系统挂载到本地文件系统空间中,来实现资源的共享。
[root@client1 ~]# mkdir /mnt/nfs1
[root@client1 ~]# mount -t nfs 192.168.58.143:/mnt/share_dir /mnt/nfs1
客户端可以访问共享目录下的内容
1、客户端在共享目录下创建文件或目录,服务端实时同步
2、服务端在共享目录下创建文件或目录,客户端实时同步
1、服务端修改配置文件,并重启服务
[root@localhost share_dir]# vim /etc/exports
[root@localhost share_dir]# systemctl restart nfs
2、客户端测试
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。