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

【1】NFS简介:        1.NFS是NetworkFileSystem的简称,即网络文件系统        2.NFS是一种分布式文件系统,可以在不同的操作系统间共享文件        3.NFS基于TCP/IP协议,可将远程计算机磁盘挂载到本地        4.NFS在文件或信息传送过程中依赖于RPC(RemoteProcedureCall)协议,不论是服务端还是客户…

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

【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目录中的文件列表

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pycharm 设置字体大小_仿宋三号字体多大

    pycharm 设置字体大小_仿宋三号字体多大步骤:File–>Settings–>Editor–>Colors&Fonts–>Font然后在size那里调整。注意,要先保存一个新的Scheme,才能调整字体大小。

  • wine卡住_Ubuntu微信

    wine卡住_Ubuntu微信UbuntuwineQQ卡死前几天在Ubuntu下写基因组信息学实验报告用wps-linux转pdf遇到了字体问题,就把windows字体拷过来安装了然后再用QQ就出现一堆口口口口。。。但是这个不影响使用影响使用的是他会卡死。。原因字体缓存没更新解决方案删除windows字体嫌麻烦我就没删。。或者可以:重建缓存cd/usr/share/fontssudofc-cache-fv应该解决了。后续好像还是会卡想到上次安装字体的时候有一堆报错部分截图

  • 如何撰写《软件需求规格说明书》

    1概述1.1编写目的指出编写《需求规格说明书》的目的。下面是示例:编写此文档的目的是进一步定制软件开发的细节问题,希望能使本软件开发工作更具体。为了使用户、软件开发者及分析和测试人员对该软件的初始规定有一个共同的理解,它说明了本软件的各项功能需求、性能需求和数据需求,明确标识各项功能的具体含义,阐述实用背景及范围,提供客户解决问题或达到目标所需要的条件或权能,提供一个度量和遵循的基准。…

  • vue可以生成静态页面吗(vue视频为什么不能全屏)

    新建项目vue默认为body设置了margin:8px我们可以在App.vue<style>中,设置width和height为100%,对margin进行重写去掉边距html,body{width:100%;height:100%;margin:0;}

  • route 命令详解

    route 命令详解转自“ITPUB博客”,链接:http://blog.itpub.net/86584/viewspace-755197/因为工作中需要了解网络配置,在众多文中,找到一详解,特此分享。1.使用背景需要接入两个网络,一个是部署环境所在内网环境,这个环境是上不了外网,外网环境很可能是一个无线网络。如果两者都连接上,很可能导致有一方不能起作用,即外网或内网上不了,常常需要…

  • java8 HashMap数据结构实现源码解析

    目录一、基础元素Node二、红黑树元素TreeNode1、类定义和类属性2、基础方法:3、红黑树插入元素实现4、红黑树的查找实现5、红黑树的形态转换实现6、红黑树的扩容切分实现一、基础元素NodestaticclassNode<K,V>implementsMap.Entry<K,V>{//key的ha…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号