Linux NFS共享服务

本文详细介绍了NFS(网络文件系统)的原理、安装RPC服务以解决端口问题,以及如何在Linux服务器上设置和配置NFS共享存储,包括客户端的安装、挂载、文件操作和强制卸载等内容。
摘要由CSDN通过智能技术生成

目录

一.NFS

NFS简介

RPC简介

NFS共享存储服务

提供共享存储的组合

NFS 网络文件系统共享服务第一步:NFS服务器安装 nfs-utils、rpcbind 软件包并启动

第二步 :NFS服务器设置共享目录

 第三步:服务端更改NFS配置,对访问用户进行限制

 第五步:客户端安装nfs服务,并且打开服务

 第六步:客户端挂载nfs共享目录

1. 手动挂载

2. 自动挂载

 第七步:进行共享文件的测试

 1.客户端写入文件

2.服务端读取共享目录中的文件 

第八步 :强制卸载nfs服务(服务端掉线时,客户端再写入会卡死)


一.NFS

NFS简介

  • NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
  • 它的主要功能是通过网络让不同的机器系统之间可以彼此共享文件和目录。NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂载到本地的NFS客户端中。在本地的NFS客户端的机器看来,NFS服务器端共享的目录就好像自己的磁盘分区和目录一样。一般客户端挂载到本地目录的名字可以随便,但为方便管理,我们要和服务器端一样比较好。其就相当于windows里面共享文件,然后其他主机把这个共享文件映射成了本地盘使用一样。
  • NFS一般用来存储共享视频,图片等静态数据。

RPC简介

  • 因为NFS支持的功能相当多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据。,因此,NFS的功能所对应的端口无法固定,它会随机取用一些未被使用的端口来作为传输,其中CentOS 5.x的随机端口都小于1024,而CentOS 6.x的随机端口都比较大。
  • 因为端口不固定,就会造成NFS客户端与NFS服务端的通信障碍。因为NFS客户端必须要知道NFS服务端的数据传输端口才能进行通信,才能交互数据。
  • 要解决上面的困扰,就需要通过远程过程调用RPC服务来帮忙,NFS的RPC服务最主要的功能就是记录每个NFS功能所对应的端口号,并且在NFS客户端请求时将该端口和功能对应的信息传递给请求数据的NFS客户端,从而确保客户端可以连接到正确的NFS端口上去,达到实现数据传输交互数据目的。这个RPC服务类似NFS服务端和NFS客户端之间的一个中介。

NFS共享存储服务

  • 网络文件系统NFS(Network File System)
  • 依赖于RPC(远端过程调用)
  • 需安装nfs-utils、rpcbind软件包
  • 系统服务:nfs、rpcbind
  • 共享配置文件:/etc/exports
  •  rpcbind(端口111)、nfs(端口2049)

格式为: 共享的目录位置 客户机地址(权限选项)

客户机地址可以是主机名、IP 地址、网段地址,允许使用“*”、“?”通配符。
“rw”表示允许读写,“ro” 表示为只读。
sync表示同步写入到内存与硬盘中。
no_root_squash表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)。
root_squash表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。
all_squash所有访问用户都映射为匿名用户或用户组
async将数据先保存在内存缓冲区中,必要时才写入磁盘。
subtree_check(默认)若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
no_subtree_check即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。

提供共享存储的组合

  • 真正提供存储能力的硬件设备    使用通用服务器制作的文件服务器   或  专用的企业级存储设备NAS
  • +
  • linux系统使用的共享存储服务    NFS 
  • Windows系统使用的共享存储服务  CIFS
     
NFS 网络文件系统共享服务
第一步:NFS服务器安装 nfs-utils、rpcbind 软件包并启动
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y install nfs-utils rpcbind
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
软件包 1:nfs-utils-1.3.0-0.68.el7.2.x86_64 已安装并且是最新版本
软件包 rpcbind-0.2.0-49.el7.x86_64 已安装并且是最新版本
无须任何处理
[root@localhost ~]# systemctl  start rpcbind
[root@localhost ~]# systemctl  start nfs
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# systemctl enable nfs

第二步 :NFS服务器设置共享目录
[root@localhost ~]# mkdir -p /opt/nfstest
[root@localhost ~]# chmod 777 /opt/nfstest

 第三步:服务端更改NFS配置,对访问用户进行限制

[root@localhost ~]# vim /etc/exports
/opt/nfstest 20.0.0.0/24(rw,sync,no_root_squash)

第四步:查看本机发布的共享服务

[root@localhost opt]# showmount -e
Export list for localhost.localdomain:
/opt/nfstest 20.0.0.0/24

 第五步:客户端安装nfs服务,并且打开服务

[root@localhost ~]# yum -y install nfs-utils rpcbind
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 1:nfs-utils-1.3.0-0.68.el7.2.x86_64 已安装并且是最新版本
软件包 rpcbind-0.2.0-49.el7.x86_64 已安装并且是最新版本
无须任何处理
[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# systemctl enable nfs
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# showmount -e 20.0.0.147
Export list for 20.0.0.147:
/opt/nfstest 20.0.0.0/24

 第六步:客户端挂载nfs共享目录

1. 手动挂载
[root@localhost ~]# mkdir /myshare
[root@localhost ~]# mount 20.0.0.147:/opt/nfstest /myshare
[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        26G  5.2G   21G   20% /
/dev/sda1               xfs      1014M  187M  828M   19% /boot
tmpfs                   tmpfs     378M   68K  378M    1% /run/user/0
/dev/sr0                iso9660   4.5G  4.5G     0  100% /mnt
20.0.0.147:/opt/nfstest nfs4       17G  5.2G   12G   31% /myshare

2. 自动挂载
[root@localhost ~]# vim /etc/fstab
20.0.0.147:opt/nfstest/           /myshare      nfs     defaults,_netdev 0 0

 第七步:进行共享文件的测试

 1.客户端写入文件
[root@localhost ~]# cd /myshare/
[root@localhost myshare]# echo lll>a.txt

2.服务端读取共享目录中的文件 
[root@localhost opt]# cd nfstest/
[root@localhost nfstest]# ls
a.txt
[root@localhost nfstest]# ll
总用量 4
-rw-r--r--. 1 root root 4 4月  29 17:08 a.txt

第八步 :强制卸载nfs服务(服务端掉线时,客户端再写入会卡死)

[root@localhost ~]# umount -lf /myshare 

  • 24
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

煤五千

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值