NFS服务理解_什么才是最好的服务

NFS服务理解_什么才是最好的服务概念NFS:NetworkFileSystem网络文件系统,基于内核的文件系统。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,基于RPC(RemoteProcedu

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

概念

NFS:Network File System 网络文件系统,基于内核的文件系统。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的 文件,基于RPC(Remote Procedure Call Protocol远程过程调用)实现。

RPC采用C/S模式。客户机请求程序调用进程发送一个有进程参数的调用信息 到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用 信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发 送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信 息,获得进程结果,然后调用执行继续进行。

通讯过程如下:

NFS服务理解_什么才是最好的服务

NFS服务端口:2049(nfsd),但由于文件系统非常复杂,因此NFS还有其他的程序去启动额外的端口,这些额外的用来传输数据的端口由portmap(111)即RPC来分配

安装

软件包:nfs-utils,自需要此组件,核心包是由kernel包含在内的,Kernel支持:nfs.ko

使用yum或者rpm安装即可

NFS服务理解_什么才是最好的服务

另外,NFS还需要软件包:rpcbind(必须),tcp_wrappers支持。

配置使用

配置文件:/etc/exports,/etc/exports.d/*.exports

通过使用案例了解exports文件配置格式及参数含义(以下示例都是在CentOS7上):

  • 配置举例,对192.168.30.0/24网段主机共享nfsshare目录

       

    [root@server 02:38:33 ~]#systemctl start nfs

    [root@server 02:39:10 ~]#mkdir /nfsshare

    [root@server 02:39:17 ~]#vim /etc/exports

    [root@server 02:40:57 ~]#cat /etc/exports

    /nfsshare   192.168.30.0/24

    [root@server 02:41:14 ~]#

    在客户端查看并挂载,但是发现不能写

    NFS服务理解_什么才是最好的服务

    这是因为在/etc/exports中只添加上面的内容 默认表示/nfsshare目录只读共享。

    写需要添加如下参数:

    NFS服务理解_什么才是最好的服务

    再到客户端测试:

    NFS服务理解_什么才是最好的服务

    发现还是不能写文件,但是报错信息变了。这是因为如果客户端使用的是root账号访问,NFS服务端默认会将root账号映射成内置账号nfsnobody,但是nfsnobody是没有/nfsshare目录的写权限的!

    给nfsnobody写权限,

    NFS服务理解_什么才是最好的服务

    或者也可以统一授予other用户写权限:

    NFS服务理解_什么才是最好的服务

    再切换到客户端测试:

    NFS服务理解_什么才是最好的服务

    使用其它普通账号来访问共享目录:

    NFS服务理解_什么才是最好的服务

    服务端因为没有nfsuser这个用户,那么看到的文件属主是谁呢:

    NFS服务理解_什么才是最好的服务

    注意:如果服务端恰好有一个UID和GID恰好是1002的用户或组,那么这里就会显示其用户名和组名

  • exports文件格式详解
    上面的示例简单的了解了NFS的使用。通过对exports文件的配置控制更为精细的共享权限和用法。
    以下是exports文件完整格式:

    NFS服务理解_什么才是最好的服务

参数值

内容说明

ro

只读权限(read-only),但最终能不能读还要看服务端文件系统是否授权

rw

读写权限(read-wirte)

all_squash

将远程访问的所有普通用户及所属组都压缩映射为匿名用户或用户组(nfsnobody)

no_all_squash

与all_squash取反,不压缩权限即用户和组(默认设置)

root_squash

将root用户及所属组都压缩映射为匿名用户或用户组(默认设置)

no_root_squash

与rootsquash取反,不压缩root用户

anonuid

将远程访问的所有用户都映射为并指定本地用户,可配合all_squash使用

anongid

将远程访问的所有用户组都映射为指定本地用户组账户,可配合all_squash使用

sync

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

async

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

   

关于可访问主机的指定格式:

指定ip地址的主机:192.168.0.200

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

指定域名的主机:nfs.allin.com

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

所有主机:*

自动挂载问题

三种自动挂载方法:

  1. 开机自动挂载:/etc/fstab里添加 (不推荐)

    NFS服务理解_什么才是最好的服务

    这种方法不推荐,尝试过程中发现开机很慢,而且可能会因为网络服务原因导致挂载失败

  2. 开机自动挂载:在/etc/rc.d/rc.local文件中添加记录(不推荐)
    centos7中在/etc/rc.local中添加以下行:
    mount -t nfs -o nolock 192.168.30.23:/nfsshare /mnt
    再给执行权限:
    chmod +x /etc/rc.d/rc.local
  3. 自动挂载autofs(推荐)
    如果没有安装autofs,首先安装
    yum install autofs
    修改配置文件:
    /etc/auto.master

    NFS服务理解_什么才是最好的服务

    /etc/auto.nfs

    NFS服务理解_什么才是最好的服务

    在auto.nfs文件中,sharedir是在/opt/data下的”隐身目录”但是不需要去创建它。进入到/opt/data目录是,只需要再执行cd sharedir就会触发自动挂载

    NFS服务理解_什么才是最好的服务

       

    NFS服务理解_什么才是最好的服务

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

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

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

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

(0)


相关推荐

  • Vue项目实战05:18n实现多语言自动切换-浏览器语言设置「建议收藏」

    Vue项目实战05:18n实现多语言自动切换-浏览器语言设置「建议收藏」什么是vue-i18ni18n是Internationalization这个英文的简写,即国际化的意思,vue-i18n是一款针对于vue开发的国际化插件,让项目支持多语言切换,以适应不同地区用户的需求。安装vue-i18n直接在项目中执行安装命令:npminstallvue-i18n–save​全局引入vue-i18n在项目中引入vue-i18n,实例化vue-i18n将需要加载的语言包通过require导入,这里看个人需求我只需要中英日文,所以引入zh-CN.js和en-US.j

  • DotNET介绍_dotnet 6

    DotNET介绍_dotnet 6一、.NET课程简介(DotNET全程)1、DotNET是微软公司旗下的一种用作于软件网络开发的新型技术。2、世界上最流行的操作系统是windows系统。3、.NETFramework是指DotNET的运行环境二、C#语言1、是微软旗下的一门新兴的计算机语言,C#是做.NET开发的一种语言工具2、C#语言是一种运行在.NETFramework平台之下的一种编程语言。我们用C#…

    2022年10月22日
  • java int最大值和最小值_excel中求最大值和最小值

    java int最大值和最小值_excel中求最大值和最小值Java中Integer的最大值和最小值.JavaByte的最大值和最小值.Javafloat的最大值和最小值.Javalong的最大值和最小值.

  • RabbitMQ入门案例【java资源库:http://www.gxcode.top/code】[通俗易懂]

    一.编写RabbitMQ入门案例一.搭建项目1.创建maven项目(springboot-jar)2.修改pom.xml文件org.springframework.bootspring-boot-starter-parent2.0.2.RELEASEorg.springframework.bootspring-boot-starter-weborg.spring…

  • P2v, V2v 实践

    P2v, V2v 实践P2V(物理机转虚拟机)p2v,就是physicalmachinetovirtualmachine,物理机转换成虚拟机,物理机有硬件和软件资源两部分,虚拟机同样也有硬件和软件资源,只是硬件是虚拟出来的。p2v是把物理机的软件资源(操作系统,数据等)迁移到虚拟机,虚拟机的物理资源(CPU、内存、磁盘等),根据现场情况分配创建。 p2v,一般会通过转换整个物理磁盘,或者某个分区成某种格式的镜像…

  • soapui的教程

    soapui的教程一.这里我安装的是5.2.1这个版本,安装之后按照我的操作步骤即可二.这里放入后台给你的接口,结尾应该是?wsdl如果没有你需要手动加上,否则会报错三:这个是成功界面四:如图,点开之后是这样的,在1的地方你需要输入对应的参数点击4进行查询,查询成功右侧会有对应的xml数据结果,具体参数需要输入什么,应用场景不同可以去问下后台这篇博客基本结合我的另一篇的ksoap2框架的博客一起使用…

发表回复

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

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