搭建nfs文件目录共享

一、简介

NFS,英文全称是Network File System中文全称是网络文件系统,是FreeBSD支持文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源,在NFS应用中,本地NFS的客户端应用可以透明读写位于远端NFS服务器上,就像访问本地文件。

二、组成

NFS体系至少有两部分
一台NFS服务器和若干客户机如图所示

在这里插入图片描述

客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据

三、配置

服务器端

步骤如下

1. 安装nfs

NFS可以被视为一个RPC服务,而要启动任何一个RPC服务之前,需要做好端口对应映射)的工作,这个工作其实就是RPCBIND这个服务所负责的。
也就是说,在启动任何一个RPC服务之前,我们需要启动RPCBIND才行!(注意:在CentOS的5.x以前这个软体称为端口映射,在CentOS的6.x之后才称为RPCBIND)

执行命令

查看系统是否安装nfs服务

      [root@test]# rpm -qa | grep nfs  / rpm -qa | grep rpcbind

yum安装nfs   

     [root@test]# yum install nfs-utils -y
2. 设置nfs

配置文件:/etc/exports

这个文件就是NFS的主要配置文件系统没有预设值,所以这个档案不一定会存在,你可能必须要使用vim手动建立;

在这里插入图片描述

其中允许的网段,如果设置为*,则表示允许所有网段,至于权限设置有一些常用的参数如下

参数 内容说明
rw
ro
目录分享的权限是可读写读写)或唯读(只读),但最终能不能读写,还是与档案系统的RWX及身份有关
sync
async
sync 表示资料同步写入buffer磁盘
async表示资料会先暂存于buffer中,而非直接写入磁盘
no_root_squash
root_squash
预设的情况下,用户端 root 的身份会由 root_squash 的设定压缩nfsnobody,如此对伺服器的系统会较有保障。但如果你想要开放用户端使用 root 身份来操作伺服器的档案系统,那么这里就得要开 no_root_squash
all_squash 不论登入NFS的使用者身份是什么用户名都会被压缩成为匿名使用者,通常也就是没有人(nfsnobody
anonuidanongid 匿名意指匿名匿名者)前面关于* _squash提到的匿名使用者的UID设定值,通常为没人(nfsnobody),但是你可以自行设定这个UID的值!当然,这个UID必需要存在于你的/etc/passwd文件当中,anonuid指的是UID而anongid则是群组的GID

用户端查询服务器端分享资源指令:/usr/sbin/showmount

这是另一个重要的NFS指令exportfs是用在NFS服务器端,而showmount显示则主要用在客户端,showmount显示可以用来察看NFS分享出来的目录资源

3. 启动nfs

执行命令

     [root@test]# /etc/init.d/rpcbind start
     [root@test]# /etc/init.d/nfs start
     [root@test]# /etc/init.d/nfslock start

注意:千万记得要安装顺序启动,先启动rpcbind,再启动nfs,并建议添加到启动项,之后便可以service启动nfs服务,执行命令[root@test]# chkconfig rpcbind on
     [root@test]# chkconfig nfs on
     [root@test]# chkconfig nfslock on

4. 配置端口

该服务需要开启防火墙,那么到底要开启哪些端口呢,执行一条命令即可知道执行命令

     [root@test]# rpcinfo -p

在这里插入图片描述

由此可以看出需要开启端口很多,稍稍整理之后,结论如下

执行命令:

     [root@test]# vim /etc/sysconfig/nfs

需要修改文本内容如下RQUOTAD_PORT=1001

     LOCKD_TCPPORT=30001

     LOCKD_UDPPORT=30001

     MOUNTD_PORT=1002
5. 检测nfs

在设定好nfs服务器端之后,我们可以服务器端自我测试是否可以连线,这个时候便用到showmount命令,执行命令:

     [root@test]# showmount -e localhost

在这里插入图片描述

用户端

作为用户端需要开启nfs服务,然后挂载服务器端共享出来的目录即可

步骤如下

1. 启动nfs

执行命令:

     [root@test]#  /etc/init.d/rpcbind start
     [root@test]# /etc/init.d/nfs start
     [root@test]# /etc/init.d/nfslock start


注意:千万记得要安装顺序启动,先启动rpcbind,再启动nfs,并建议添加到启动项,之后便可以用service启动nfs服务,执行命令:

     [root@test]# chkconfig rpcbind on
     [root@test]# chkconfig nfs on
     [root@test]# chkconfig nfslock on
2. 挂载目录

执行命令:

     [root@test]# mount -t nfs 172.17.30.53:/userdata1/test /userdata1/test
     [root@test]# df -h

在这里插入图片描述

命令dfh,可以查看是否挂载成功,如上图红框中是挂载成功的

测试

为了验证是否正确搭建nfs,我们先在服务器端共享目录新建一个文件,执行命令:

     [root@test]# vi test

写入一些文本保存退出

接着,去到用户端相应的目录查看是否已经有了同步过来的test文件,如果没有,说明搭建成功,请自行检查问题

我们需要尝试用户端修改test文件,保存退出,去到服务器端查看是否修改生效,如果已经生效,那么说明双向的共享已经完成,到此nfs搭建成功!

亲测搭建成功

服务器端
查看系统是否安装nfs服务
rpm -qa | grep nfs
rpm -qa | grep rpcbind
yum安装nfs
yum install nfs-utils -y
设置nfs
配置文件:/etc/exports
cat /etc/exports
/nfsdir/ 10.2.0.0/16(rw,no_root_squash,sync)
共享目录  允许访问的网段 权限设置

可以配置多个共享目录。其中允许的网段,如果设置为*,则表示允许所有网段
配置端口

该服务需要开启防火墙,那么到底要开启哪些端口呢,执行一条命令即可知道,执行命令:rpcinfop
rpcbind启动的端口是111,同时启动在udp和tcp
nfs本身的服务启动在2049
其他的服务是随机的,不过,建议固定端口,在/etc/sysconfig/nfs修改

cat /etc/sysconfig/nfs  增加如下
RQUOTAD_PORT=1001

LOCKD_TCPPORT=30001

LOCKD_UDPPORT=30001

MOUNTD_PORT=1002

启动nfs
service rpcbind start
service nfs start
service nfslock start
注意:千万记得要顺序启动,先启动rpcbind,再启动nfs(不然会不能正常使用,我遇到的坑),并建议添加到启动项,之后便可以用service启动nfs服务
检测nfs
在设定好nfs服务器端之后,我们可以在服务器端自我测试是否可以连线,这个时候便用到showmount命令
showmount -e localhost
显示共享信息
/nfsdir 10.2.0.0/16
客户
查看系统是否安装nfs服务
rpm -qa | grep nfs
rpm -qa | grep rpcbind
yum安装nfs
yum install nfs-utils -y
启动nfs
service rpcbind start
service nfs start
service nfslock start
注意:千万记得要顺序启动,先启动rpcbind,再启动nfs(不然会不能正常使用,我遇到的坑),并建议添加到启动项,之后便可以用service启动nfs服务

客户查询服务器端分享资源指令:/usr/sbin/showmount
这是另一个重要的NFS指令exportfs是用在NFS服务器端,而showmount显示则主要用在客户端,showmount显示可以用来察看NFS分享出来的目录资源。
执行命令查看:showmount

挂载目录
mount -t nfs 10.2.229.181:/nfsdir /nfsdir
df -h

在服务器端,和客户端各创建一个文件测试,有没有达到共享效果

原文地址:https://blog.csdn.net/yinjl123/article/details/134744104

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_21922.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注