前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >centos7搭建nfs详细步骤(有哪些免费的服务器)

centos7搭建nfs详细步骤(有哪些免费的服务器)

作者头像
全栈程序员站长
发布2022-07-28 20:49:57
2.7K0
发布2022-07-28 20:49:57
举报

大家好,又见面了,我是你们的朋友全栈君。

【1】NFS简介:

1.NFS是Network File System的简称,即网络文件系统

2.NFS是一种分布式文件系统,可以在不同的操作系统间共享文件

3.NFS基于TCP/IP协议,可将远程计算机磁盘挂载到本地

4.NFS在文件或信息传送过程中依赖于RPC(Remote Procedure Call)协议,不论是服务端还是客户端,只要用到NFS的地方都要启动RPC服务

5.RPC协议可以在不同的系统间使用,此通信协议设计与主机及操作系统无关。

6.NFS本身可以认为是RPC的一个程序,NFS是一个文件系统,而RPC负责信息的传输

【2】配置NFS服务器

1.NFS的安装需要2个软件包[通常作为系统的默认包安装]:

nfs-utils-1.3.0-0.e17.x86_64.rpm //包含一些基本的nfs命令与控制脚本

rpcbind-0.2.0-23.e17.x86_74.rpm //是一个管理RPC连接的程序,类似的管理工具为portmap

2.检查系统中是否安装了对应的软件

rpm -qa|grep -i nfs

3.使用yum工具安装nfs、rpcbind软件包[如何配置yum源,请点击这里]

yum install -y nfs-utils rpcbind

4.查看安装的主要文件列表

rpm -qpl nfs-utils-1.3.0-0.e17.x86_64.rpm

【3】NFS的主要文件和进程:

1.nfs有的发行版名字叫做nfsserver,主要用来控制NFS服务的启动和停止,安装后位于/etc/init.d目录下

2.rpc.nfsd是基本的NFS守护进程,主要功能是控制客户端是否可以登录服务器,另外可以结合/etc/hosts.allow和/etc/hosts.deny做更精细的权限控制

3.rpc.mountd是RPC安装守护进程,主要功能是管理NFS的文件系统。通过配置文件共享指定的目录,同时根据配置文件做一些权限验证

4.rpcbind是一个管理RPC连接的程序,rpc服务对NFS是必需的,因为是NFS的动态端口分配守护进程,如果rpc不启动,NFS服务则无法启动,类似的管理工具为portmap

5.exportfs,如果修改了/etc/exports,无需重新激活NFS,只要重新扫描一次/etc/exports文件,并且重新将设定加载即可。exports命令常用参数如下:

exportfs -a //全部挂载/etc/exports文件内的设置

exportfs -r //重新挂载/etc/exports中的设置

exportfs -u //卸载某一目录

exportfs -v //在export时将共享的目录显示在屏幕上

6.showmount,显示指定NFS服务器连接NFS客户端的信息。showmount命令常用参数如下:

showmount -a //列出NFS服务共享的完整目录信息

showmount -d //仅列出客户机远程安装的目录

showmount -e //显示导出目录的列表

【4】配置/etc/exports

1.格式:

#<共享目录> [客户端1 选项] [客户端2 选项]

/nfsshare *(rw,all_squash,sync,anonuid=1001,anongid=1000)

2.客户端常用的指定方式:

指定ip地址的主机:192.168.3.101

指定子网中的所有主机:192.168.3.0/24 192.168.0.0/255.255.255.0

指定域名的主机:www.domain.com

指定域中的所有主机:*.domain.com

所有主机:*

3.NFS常用选项说明:

ro //该主机有只读权限

rw //该主机对该共享目录有可读可写的权限

all_squash //将远程访问的所有普通用户及所属组都映射为匿名用户或用户组,相当于使用nobody用户访问该共享目录,此参数为默认设置

no_all_squash //与all_squash取反,该选项默认设置

root_squash //将root用户及所属组都映射为匿名用户或用户组,为默认设置

anonuid //将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户

anongid //将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户

sync //将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性

async //将数据先保存在内存缓冲区中,必要时才写入磁盘

【5】/etc/exports文件配置实例说明

例子一:

/nfsshare *.*(rw)

解释:

1.共享/nfsshare目录,所有主机都可访问,且具有读写权限

2.客户端上的任何用户在访问时都映射成nobody用户

3.若客户端要在该共享目录上保存文件,则服务器上的nobody用户对/nfsshare目录必须要有写的权限

例子二:

/nfsshare2 192.168.19.0/255.255.255.0(rw,all_squash,anonuid=1001,anongid=100)

192.168.32.0/255.255.255.0 (ro)

解释:

1.共享/nfsshare2目录,192.168.19.0/24网段的所有主机都可以访问该目录,具有读写权限,且所有的用户在访问是都映射成服务器上的uid为1001、gid为100的用户

2.192.168.32.0/24网段的所有主机对该目录有只读访问权限,且访问是所有的用户都映射成nobody用户

【6】启动服务

cat /etc/exports

mkdir /nfsshare

systemctl restart rpcbind

systemctl start nfs-server

【7】NFS服务有5个后台进程组成

rpc.nfsd //负责主要的工作

rpc.lockd和rpc.statd //负责抓去文件锁

rpc.mountd //负责初始化客户端的mount请求

rpc.rquotad //负责对客户文件的磁盘配置限制

1.这些后台程序是nfs-util的一部分,如果使用的是rpm包,它们存放在/usr/sbin目录下

2.在CentOS7之前的版本中,要启动NFS服务,执行/etc/init.d/nfsstart即可;在CentOS7中由于系统框架的改变,可以使用systemctl启动,也可以使用service nfs-server start启动

【8】确认NFS是否已经启动

rpcinfo -p

showmount -e 127.0.0.1 //查看服务器的输出清单

【9】配置NFS客户端

确定要挂载的文件路径,且该路径中已经没有存在的数据

确定要挂载的服务器端的路径,使用mount挂载到本地磁盘

命令:

[root@CentOStest]mount -t nfs -o rw 192.168.12.102:/nfsshare /test

[root@CentOStest]touch s

cannot touch ‘s’:Permission denied

解释:

1.以读写方式挂载了共享目录,但root用户并不可写,其原因在于/etc/exports中的文件设置

2.由于all_squash和root_squash为NFS的默认设置,会将远程访问的用户映射成为nobody用户,而/test目录nobody用户是不可写的。

3.通过修改共享设置/etc/exports可以解决这个问题:

/nfsshare *(rw,all_squash,sync,anonuid=1001,anongid=1000)

4.重启NFS服务,重新挂载即可正常读写

【10】将远程服务器192.168.3.101上的/nfsshare挂载到本地目录

mount 192.168.3.101:/nfsshare /nfsshare

当挂载成功后,本地上/nfsshare目录下如果有数据,则原有的数据都不可见,用户看到的是远程主机上面/nfsshare目录中的文件列表

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/129047.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档