zoukankan      html  css  js  c++  java
  • CentOS下搭建NFS服务器总结

    环境介绍: 
    
    1. 服务器: 192.168.0.100 
    
    2. 客户机: 192.168.0.101 
    
    安装软件包: 
    
    1. 服务器和客户机都要安装nfs 和 rpcbind 软件包: 
    
    yum -y install nfs-utils  rpcbind 
    
    2. 可用以下命令查看,是否已经安装了nfs-uitls  rpcbind这两个软件包:如果查询结果如下面所示,说明已经安装过了: 
    
    [root@Server1 ~]# rpm -qa|grep nfs 
    
    nfs-utils-1.2.3-39.el6.x86_64 
    
    nfs4-acl-tools-debuginfo-0.3.3-6.el6.x86_64 
    
    nfs-utils-debuginfo-1.2.3-39.el6.x86_64 
    
    nfs-utils-lib-devel-1.1.5-6.el6.x86_64 
    
    nfs-utils-lib-1.1.5-6.el6.x86_64 
    
    nfs-utils-lib-debuginfo-1.1.5-6.el6.x86_64 
    
    nfs4-acl-tools-0.3.3-6.el6.x86_64 
    
    [root@Server1 ~]# rpm -qa|grep rpcbind 
    
    rpcbind-0.2.0-11.el6.x86_64 
    
    服务器端配置: 
    
    1. 在服务器上创建NFS共享目录:mkdir /usr/local/test 
    
    2. 设置共享目录的读写权限: chmod 666 /usr/local/test  
    
    3. 编辑export文件:  vi /etc/exports   
    
    /usr/local/test/ 192.168.0.101(rw,no_root_squash,no_all_squash,sync) 
    
    注意地址和参数表之间没有空格。如果下面设置的mountd端口大于1024,需要在参数表里加入参数:insecure 
    
    4. 使配置生效: 
    
    exportfs  -r 
    
    注:配置文件说明: 
    
    /usr/local/test/ 为共享的目录,使用绝对路径。
    192.168.0.101(rw,no_root_squash,no_all_squash,sync) 为客户端的地址及权限,地址可以是一个网段(如:192.168.0.0/24),一个IP地址或者是一个域名,域名支持通配符,如:*.hpce.cn,地址与权限中间没有空格。 
    
    权限说明:
    rw:read-write,可读写;
    ro:read-only,只读;
    sync:文件同时写入硬盘和内存;由于我们的日志需要同步写,所有用sync选项。
    async:文件暂存于内存,而不是直接写入内存;
    no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
    root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
    all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
    anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;
    anongid:匿名用户的GID值。 
    
    5. 启动服务rpcbind、nfs服务: 
    
    service rpcbind  start  
    
    service nfs  start  
    
      
    
    服务器端防火墙设置(NFS 开启防墙配置): 
    
    修改/etc/services文件: 
    
    配置rpc,nfsd,rquotad,mountd使用的端口。配置之前先检查一下是否已经配置过了,已经配过的就不用配置了。没有配置的,要分配一个在此文件中未被使用的端口号。我的机器默认配置了:rpc、nfsd、rquotad 
    
    mountd: 没有配置。手工加上: 
    
    mountd          48620/tcp               #rpc.mountd   
    
    mountd          48620/udp               #rpc.mountd   
    
    如果mountd占用端口大于 1024,在文件 /etc/exports里需要加入参数insecure。如: 192.168.0.100(insecure,rw,async,root_squash,no_all_squash) 
    
    重启NFS服务: 
    
    service nfs restart  
    
      
    
    在防火墙配置文件里开放上面配置的端口: 
    
    打开文件:vim /etc/sysconfig/iptables 
    
    加入红色部分的内容:  
    
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 
    
    #rpc 
    
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 121 -j ACCEPT 
    
    -A INPUT -m state --state NEW -m udp -p udp --dport 121 -j ACCEPT 
    
      
    
    #nfsd 
    
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT 
    
    -A INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT 
    
    #rquotad 
    
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 875 -j ACCEPT  
    
    -A INPUT -m state --state NEW -m udp -p udp --dport 875 -j ACCEPT 
    
    #mountd 
    
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 48620 -j ACCEPT 
    
    -A INPUT -m state --state NEW -m udp -p udp --dport 48620 -j ACCEPT 
    
    -A INPUT -j REJECT --reject-with icmp-host-prohibited 
    
      
    
    客户端挂载: 
    
    创建挂载目录: mkdir /usr/local/test 
    
    查看服务器抛出的共享目录信息: 
    
    showmount -e 192.168.0.100 
    
    Export list for 192.168.0.100: 
    
    /usr/local/test 192.168.0.101 
    
    如果显示:rpc mount export: RPC: Unable to receive; errno = No route to host,则需要在服务端关闭防火墙。 
    
    为了提高NFS的稳定性,使用TCP协议挂载,NFS默认用UDP协议: 
    
    mount -t nfs 192.168.0.100:/usr/local/test  /usr/local/test  -o proto=tcp -o nolock 
    
    挂载成功后即可访问共享的NFS文件系统了。 
    
      
    
    卸载已挂在的NFS 
    
    umount /usr/local/test 
    
      
    
    查看挂载目录的信息: 
    
    fuser -m -v /usr/local/test  
    
    rpcinfo –p  ip  /// 查看主机的rpc服务和端口 
    
    showmount –e  ip /// 查看主机抛出的nfs列表 
    
      
    
    nfs其它功能: 
    
    1. service nfslock start 允许NFS客户端在服务器上对文件加锁.这个进程对应于nfslock服务 
    
      
    
    遇到的问题: 
    
    1. clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host) 
    
    2.rpcinfo: can't contact portmapper: RPC: Remote system error - No route to host 
    
    解决办法:服务器上执行: rpcinfo -p 192.168.0.100 
    
    把列出来的端口添加到 /etc/sysconfig/iptables 文件,然后重启防火墙就可以了 


    来源于:http://blog.chinaunix.net/uid-20551990-id-4278757.html

  • 相关阅读:
    Mysql第八天 分区与分表
    ios—项目开发需求文档
    spark资料下载
    网络爬虫:使用多线程爬取网页链接
    调用微信高级群发接口--视频群发接口出问题(微信官方文档错误纠正)
    享元模式
    在JAVA中怎样跳出当前的多重嵌套循环?
    获取个人借阅信息---图书馆client
    IOS 以随意点为圆心 旋转UIView
    ESP8266学习笔记4:ESP8266的SmartConfig
  • 原文地址:https://www.cnblogs.com/yingsi/p/6221709.html
Copyright © 2011-2022 走看看