构建NFS远程共享存储

NFS有很多功能,不同的功能需要使用不同的端口。因此NFS无法固定端口。而RPC会记录NFS端口的信息,这样就能够通过RPC实现服务端和客户端的RPC来沟通端口信息。

那RPC和NFS之间又是如何相互通讯的呢?

首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口。RPC就会记录下这些端口。并且RPC会开启111端口,等待客户端RPC的请求,如果客户端有请求,那服务端的RPC就会将记录的NFS端口信息告知客户端。

 什么是NFS

NFS:Network File System  网络文件系统,NFS和其他文件系统一样,是在linux内核中实现的,因此,NFS很难做到与Windows兼容,NFS共享出的文件系统会被客户端识别为一个文件系统,客户端可以直接挂载并使用。是unix系统之间的一个共享文件的一种协议。

NFS文件系统仅支持基于ip的用户访问控制,NFS的客户端主要为Linux。

实现需要准备两台机器,一台作为服务端server,一台作为客户端web

# systemctl stop firewalld

# systemctl disable firewalld	

# setenforce 0

在服务端server上操作

[root@server ~]# yum -y install rpcbind       #安装rpc协议的包
[root@server ~]# yum -y install nfs-utils     #安装nfs服务,提供文件系统
[root@server ~]# systemctl start nfs  rpcbind    #启动服务
[root@server ~]# mkdir /nfs-dir               #创建共享存储目录
[root@server ~]# echo "nfs-test" >> /nfs-dir/index.html      #制作test文件
[root@server ~]# vim /etc/exports    #编辑共享文件配置
         /nfs-dir  192.168.126.0/24(rw,no_root_squash,sync)

ip可以是单独ip   也可以是一个网段,也可以是全部ip  *

这里/nfs-dir 是共享目录

可选参数注释:
ro:只读
rw:读写
*:表示共享给所有网段。
sync:所有数据在请求时写入共享
root_squash: 对于使用分享目录的使用者如果是root用户,那么这个使用者的权限将被压缩成为匿名使用者,只读权限。
no_root_squash:使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限。

[root@server ~]# systemctl restart nfs-server       #重启服务
[root@server ~]# systemctl enable nfs-server        #制作开机自启
[root@server ~]# exportfs -v
/nfs-dir     192.168.126.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)     #确认NFS服务器启动

在web客户端操作

[root@web ~]# yum -y install rpcbind  nfs-utils     #安装服务
[root@web ~]# mkdir /NFS-guazai                     #创建挂载点
[root@web ~]# mount -t nfs 192.168.126.141:/nfs-dir   /NFS-guazai/      
    挂载    ip是服务端的ip   /nfs-dir 是服务端的共享文件件  /NFS-guazai是客户端查看的共享文件夹

查看共享文件夹里的内容

# ls  /NFS-guazai

# umount  /NFS-guazai              取消挂载

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值