设为首页 收藏本站
查看: 1389|回复: 0

[经验分享] linux mount (3) nfs

[复制链接]

尚未签到

发表于 2018-5-17 10:55:41 | 显示全部楼层 |阅读模式
  

  文章转载自http://leonhongchina.blog.163.com/blog/static/180294117201133012814141/
  NFS协议是网络当中比较常用的一类协议,在很多开发系统平台中,都需要加载这个协议。所以,我们这里就来详细介绍一下NFS协议的启动以及写在等内容。希望对大家有所帮助。
  一:服务器端的设定(以LINUX为例)
  服务器端的设定都是在/etc/exports这个文件中进行设定的,设定格式如下:
  欲分享出去的目录 主机名称1或者IP1(参数1,参数2) 主机名称2或者IP2(参数3,参数4)
  上面这个格式表示,同一个目录分享给两个不同的主机,但提供给这两台主机的权限和参数是不同的,所以分别设定两个主机得到的权限.
  可以设定的参数主要有以下这些:
  rw:可读写的权限;
  ro:只读的权限;
  no_root_squash:登入到NFS 主机的用户如果是ROOT用户,他就拥有ROOT的权限,此参数很不安全,建议不要使用.
  root_squash:在登入 NFS协议主机使用分享之目的使用者如果是使用者的都成 nobody 身份;
  all_squash:不管登陆NFS主机的用户是什么都会被重新设定为nobody.
  anonuid:将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中.
  anongid:同 anonuid ,但是?成 group ID 就是了!
  sync:资料同步写入存储器中.
  async:资料会先暂时存放在内存中,不会直接写入硬盘.
  insecure 允许从这台机器过来的非授权访问.
  例如可以编辑/etc/exports为:
  /tmp  *(rw,no_root_squash)
  /home/public 192.168.0.*(rw) *(ro)
  /home/test 192.168.0.100(rw)
  /home/linux   *.the9.com(rw,all_squash,anonuid=40,anongid=40)
  设定好后可以使用以下命令启动NFS协议:
  /etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默认启动的)
  /etc/rc.d/init.d/nfs start
  exportfs命令:
  如果我们在启动了NFS协议之后又修改了/etc/exports,是不是还要重新启动nfs呢?这个时候我们就可以用exportfs命令来使改动立刻生效,该命令格式如下:
  exportfs [-aruv]
  -a :全部 mount或者unmount /etc/exports中的内容
  -r :重新mount /etc/exports中分享出来的目录
  -u :umount 目录
  -v :在 export 的?r候,将详细的信息输出到屏幕上.
  具体例子:
  [root @test root]# exportfs -rv <== 全部重新 export 一次!
  exporting 192.168.0.100:/home/test
  exporting 192.168.0.*:/home/public
  exporting *.the9.com:/home/linux
  exporting *:/home/public
  exporting *:/tmp
  reexporting 192.168.0.100:/home/test to kernel
  exportfs -au <== 全部都卸载了.
  二、客户端的操作:
  1?showmout命令对于NFS协议的操作和查错有很大的帮助,所以我们先来看一下showmount的用法
  showmout
  -a :这个参数是一般在NFS SERVER上使用,是用来显示已经 mount上本机nfs目录的cline机器.
  -e :显示指定的NFS SERVER上export出来的目录.
  例如:
  showmount -e 192.168.0.30
  Export list for localhost:
  /tmp *
  /home/linux *.linux.org
  /home/public (everyone)
  /home/test 192.168.0.100
  2? mount nfs目录的方法:
  mount -t nfs hostname(orIP):/directory /mount/point
  具体例子:
  Linux: mount -t nfs 192.168.0.1:/tmp /mnt/nfs
  Solaris:mount -F nfs 192.168.0.1:/tmp /mnt/nfs
  BSD: mount 192.168.0.1:/tmp /mnt/nfs
  3?mount nfs的其它可选参数:
  HARD mount 和SOFT MOUNT:
  HARD: NFS CLIENT会不断的尝试与SERVER的连接(在后台,不会给出任何提示信息,在LINUX 下有的版本仍然会给出一些提示),直到MOUNT上.
  SOFT:会在前台尝试与SERVER的连接,是默认的连接方式.当收到错误信息后终止 mount尝试,并给出相关信息.
  例如:mount -F nfs -o hard 192.168.0.10:/nfs /nfs
  对于到底是使用hard还是soft的问题,这主要取决于你访问什么信息有关.例如你是想通过NFS协议来运行X PROGRAM的话,你绝对不会希望由于一些意外的情况(如网络速度一下子变的很慢,插拔了一下网卡插头等)而使系统输出大量的错误信息,如果此时你用的是HARD方式的话,系统就会等待,直到能够重新与NFS SERVER建立连接传输信息.另外如果是非关键数据的话也可以使用SOFT方式,如FTP数据等,这样在远程机器暂时连接不上或关闭时就不会挂起你的会话过程.
  rsize和wsize:
  文件传输尺寸设定:V3没有限定传输尺寸,V2最多只能设定为8k,可以使用-rsize and -wsize 来进行设定.这两个参数的设定对于NFS的执行效能有较大的影响
  bg:在执行mount时如果无法顺利mount上时,系统会将mount的操作转移到后台并继续尝试mount,直到mount成功为止.(通常在设定/etc/fstab文件时都应该使用bg,以避免可能的mount不上而影响启动速度)
  fg:和bg正好相反,是默认的参数
  nfsvers=n:设定要使用的 NFS版本,默认是使用2,这个选项的设定还要取决于server端是否支持NFS VER 3
  mountport:设定mount的端口
  port:根据server端export出的端口设定,例如如果server使用5555端口输出NFS,那客户端就需要使用这个参数进行同样的设定
  timeo=n:设置超时时间,当数据传输遇到问题时,会根据这个参数尝试进行重新传输.默认值是7/10妙(0.7秒).如果网络连接不是很稳定的话就要加大这个数值,并且推荐使用HARD MOUNT方式,同时最好也加上INTR参数,这样你就可以终止任何挂起的文件访问.
  intr 允许通知中断一个NFS调用.当服务器没有应答需要放弃的时候有用处.
  udp:使用udp作为nfs协议的传输协议(NFS V2只支持UDP)
  tcp:使用tcp作为nfs的传输协议
  namlen=n:设定远程服务器所允许的最长文件名.这个值的默认是255
  acregmin=n:设定最小的在文件更新之前cache时间,默认是3
  acregmax=n:设定最大的在文件更新之前cache时间,默认是60
  acdirmin=n:设定最小的在目录更新之前cache时间,默认是30
  acdirmax=n:设定最大的在目录更新之前cache时间,默认是60
  actimeo=n:将acregmin?acregmax?acdirmin?acdirmax设定为同一个数值,默认是没有启用.
  retry=n:设定当网络传输出现故障的时候,尝试重新连接多少时间后不再尝试.默认的数值是10000 minutes
  noac:关闭cache机制.
  同时使用多个参数的方法:mount -t nfs -o timeo=3,udp,hard 192.168.0.30:/tmp /nfs
  请注意,NFS客户机和服务器的选项并不一定完全相同,而且有的时候会有冲突.比如说服务器以只读的方式导出,客户端却以可写的方式mount,虽然可以成功mount上,但尝试写入的时候就会发生错误.一般服务器和客户端配置冲突的时候,会以服务器的配置为准.
  4?/etc /fstab的设定方法
  /etc/fstab的格式如下:
  fs_spec fs_filefs_type  fs_optionsfs_dump fs_pass
  fs_spec:该字段定义希望加载的文件系统所在的设备或远程文件系统,对于 nfs这个参数一般设置为这样:192.168.0.1:/NFS
  fs_本地的挂载点
  fs_type:对于NFS协议来说这个字段只要设置成nfs就可以了
  fs_options:挂载的参数,可以使用的参数可以参考上面的mount参数.
  fs_dump  - 该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0
  fs_pass - 该字段被 fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2.若该文件系统无需在启动时扫描则设置该字段为0 .
  5?与NFS有关的一些命令介绍
  nfsstat:
  查看NFS的运行状态,对于调整 NFS的运行有很大帮助
  rpcinfo:
  查看rpc执行信息,可以用于检测rpc运行情况的工具.

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-461271-1-1.html 上篇帖子: linux mount (2) 下篇帖子: Linux命令之——usermod
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表