热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

挂载NFS文件系统

服务器端开启NFS服务后,客户端就可以挂载了。客户端可以像操作本地文件系统一样操作NFS文件系统。客户端在挂载NFS文件系统时可以加一些选项,一般可以指定下列选项。1.softandhard前面

服务器端开启NFS服务后,客户端就可以挂载了。客户端可以像操作本地文件系统一样操作NFS文件系统。客户端在挂载NFS文件系统时可以加一些选项,一般可以指定下列选项。

1. soft and hard

前面的文章中提到过,客户端和服务器通过RPC机制进行通信,客户端向服务器发送RPC请求,服务器解析RPC请求中的信息进行处理,然后向客户端发送应答消息。RPC请求具有一个超时时间,如果在这个时间内客户端没有接收到应答消息,就会重发刚才的RPC请求。客户端可以设置超时重发次数。当超过重试次数后客户端会根据soft/hard选项进行不同处理。如果客户端使用了soft,则认为RPC请求失败,不再重复发送这个RPC请求。如果客户端使用了hard,则客户端继续重复发送失败的RPC请求。


2.timeo and retrans

这是和RPC请求重传相关的两个参数。timeo表示RPC消息等待时间,如果客户端在这个时间内没有接收到应答消息,则认为RPC消息失败了。retrans表示RPC请求重试次数,当达到这个次数时客户端根据soft/hard选项进行不同处理。


3.rsize and wsize

客户端和服务器通过RPC机制进行通信。当客户端读取服务器中文件内容时,服务器将文件内容封装在RPC应答消息中返回给客户端。但是RPC消息有一个长度限制,当文件内容超出这个长度时,服务器需要将文件内容封装在多个RPC应答消息中传输。rsize就指定了每个RPC应答消息中最多可以传输的数据量。wsize含义和rsize类似,当客户端向服务器文件写入数据时也是将数据封装在RPC消息中传输给服务器,wsize表示写操作中每个RPC消息最多可以传输的数据量。如果客户端在挂载NFS文件系统时没有指定rsize/wsize的值,则客户端和服务器会自行协商出一个合适的数值。


4.ac and noac

这是和文件缓存相关的一个选项。为了提高系统性能,NFS客户端可以缓存文件属性信息,在一定的时间范围内这些属性缓存是有效的。这就存在文件同步的问题,因为NFS文件系统可以供多个客户端挂载,不同客户端上的用户可以同时访问同一个文件,如何保持文件同步是一个非常麻烦的问题。如果客户端挂载文件系统时使用了ac选项,则表示启用文件属性缓存机制。在文件属性缓存的有效期内,如果其他客户端已经修改了文件属性(比如撤销了文件写权限),这个客户端无法及时感知这种变化。当客户端写服务器发起WRITE请求时,首先检查本地文件属性缓存,发现自己具有写权限,于是就将数据发送给服务器。但是由于其他客户端已经撤销了写权限,因此这些数据是不能写到服务器的磁盘中的,WRITE请求失败,这就会降低系统性能。如果客户端在挂载文件系统时使用了noac选项,则客户端不会缓存文件属性信息。当客户端向服务器发起WRITE请求时,首先会发起一个GETATTR请求获取文件属性,如果发现没有写权限,就不会向服务器传输数据了。但是相比于ac选项,客户端在发起WRITE请求前需要先发起GETATTR请求,这同样会降低系统性能。因此,当客户端数量比较少,客户端与服务器的交互不频繁时可以使用ac选项。而保持文件同步更好的办法是在NFS文件系统中使用文件锁。


5.acregmin and acregmax

这也是和文件属性缓存相关的两个选项。如果客户端使用了ac选项则会创建文件属性缓存。这个缓存具有一个有效期,当超过这个期限后就认为文件属性无效了。这个有效期是一个动态变化的数值。初始有效期是acregmin。在这个有效期内,客户端可能会再次获取文件属性,更新本地文件属性缓存。如果更新文件属性缓存时发现缓存中的数据有效,则会将有效期加倍,但是有效最大值不能超过acregmax。如果更新文件属性时发现缓存中的数据已经无效了,则会将有效期重新设置为acregmin。


6.acdirmin and acdirmax

这两个选项的含义和acregmin、acregmax相同,但是acregmin/acregmax针对普通文件,acdirmin/acdirmax针对目录文件缓存。用户可以为普通文件和目录文件缓存设置不同的有效期。


7.actimeo

这个选项表示将acregmin、acregmax、acdirmin、acdirmax设置成统一的数值,都使用actimeo指定的时间。


8.sec

指定NFS服务使用的认证方式。服务器需要对客户端进行认证,认证通过后才处理客户端发送的请求;如果认证失败,则拒绝这个请求。有效的认证方式包括none, sys, krb5, krb5i, krb5p, lkey, lkeyi, lkeyp, spkm, spkmi, and spkmp,默认的认证方式是sys。


9.sharecache and nosharecache

这是和文件缓存共享相关的一个选项。客户端可以多次挂载同一个文件系统,比如我们将同一个文件系统分别挂载到了/mnt1和/mnt2两个目录下。

mount -t nfs nfs-server:/tmp/nfs/root  /mnt1
mount -t nfs nfs-server:/tmp/nfs/root /mnt2

这两个文件系统中的文件都会在客户端创建文件缓存,sharecache表示这两个文件系统使用同一份缓存,如果我们在/mnt1中执行了写操作,则缓存中保存的就是最新的数据了,那么当我们在/mnt2中执行读操作时,由于缓存中的数据已经是最新的了,直接从缓存中读取数据就可以了,就不必从服务器读取数据了。nosharecache表示这两个文件系统使用两份缓存,由于/mnt1和/mnt2使用了两份缓存,那么由于/mnt1中执行了写操作,数据传输到了服务器中,那么/mnt2缓存中的数据就不是最新的了。因此,当我们在/mnt2中执行读操作时,必须向服务器请求数据,这就降低了系统效率。这个选项的默认值是sharecache,客户端多次挂载同一个文件系统时共享缓存。


10.lookupcache

这是和目录项缓存相关的一个选项,这个选项的值可以是all,  none,  pos or positive。客户端可以向服务器发起LOOKUP请求查找某个文件。如果查找的文件存在,查找到的结果标记为positive;如果查找的文件不存在,查找的结果标记为negative。如果lookupcache的值是pos(或者positive,这两个值完全相同),则NFS客户端认为positive的结果有效,而negative的结果无效。这样,如果客户端想删除标记为positive的文件,不需要提前查询这个文件在服务器端是否存在。如果要创建一个标记为negative的文件,需要提前查询服务器端是否存在同名文件,因为客户端不信任标记为negative的缓存。如果lookupcache的值是all,则客户端既信任标记为positive的缓存,也信任标记为negative的缓存。如果lookupcache的值是none,则客户端既不信任标记为positive的缓存,也不信任标记为negative的缓存。默认值是all。


11.fsc

这个选项是也是一种缓存机制,但是和前面提到的缓存不同,这是一种磁盘缓存。当客户端读取文件内容时,如果本地缓存中的数据有效,则直接从本地缓存中读取数据。如果本地缓存中的数据无效或者根本没有数据,则向服务器请求数据。因为数据需要从服务器传输到客户端来,因此会受到网络环境影响,效率比较低。为此,人们提出了fscache缓存。fscache缓存是一种本地缓存,但是将数据保存在客户端的磁盘中。当客户端接收到服务器传过来的数据后,一方面将数据放入缓存中(内存中),供客户端的进程使用,另一方面将数据保存在磁盘中。这样,下次再读取数据时就可以不向服务器发送请求了,而是直接从本地磁盘中读取数据到缓存中,这就加快了数据访问速率。当然,fscache缓存只能用在只读文件系统中或者修改频率不频繁的文件系统中,否则客户端需要频繁更新fscache缓存中的数据,反而降级了系统性能。






推荐阅读
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 解决Sharepoint 2013运行状况分析出现的“一个或多个服务器未响应”问题的方法
    本文介绍了解决Sharepoint 2013运行状况分析中出现的“一个或多个服务器未响应”问题的方法。对于有高要求的客户来说,系统检测问题的存在是不可接受的。文章详细描述了解决该问题的步骤,包括删除服务器、处理分布式缓存留下的记录以及使用代码等方法。同时还提供了相关关键词和错误提示信息,以帮助读者更好地理解和解决该问题。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
  • 本文介绍了在Android开发中使用软引用和弱引用的应用。如果一个对象只具有软引用,那么只有在内存不够的情况下才会被回收,可以用来实现内存敏感的高速缓存;而如果一个对象只具有弱引用,不管内存是否足够,都会被垃圾回收器回收。软引用和弱引用还可以与引用队列联合使用,当被引用的对象被回收时,会将引用加入到关联的引用队列中。软引用和弱引用的根本区别在于生命周期的长短,弱引用的对象可能随时被回收,而软引用的对象只有在内存不够时才会被回收。 ... [详细]
  • Python中sys模块的功能及用法详解
    本文详细介绍了Python中sys模块的功能及用法,包括对解释器参数和功能的访问、命令行参数列表、字节顺序指示符、编译模块名称等。同时还介绍了sys模块中的新功能和call_tracing函数的用法。推荐学习《Python教程》以深入了解。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
author-avatar
冭獭1314
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有