• linux nfs开启


    nfs设置:

    NFS的配置过程很简单。在服务器端中编辑/etc/exports文件,添加如下内容:

        /home/cotton/data/cotton/zghy 192.168.2.*(rw,sync,no_root_squash)
    建立相应的目录
     
    客户端:
    建立相应的目录,
    挂载:mount -t nfs 192.168.99.55:/home/cotton/data/cotton/zghy  /home/cotton/data/cotton/zghy
    测试:
       如何知道远程主机上的共享目录情况呢?使用showmount命令,这个命令需要root权限。它有三个选项(记住这三个选项代表的含义:
        showmount –a IP    显示指定NFS服务器的客户端以及服务器端在客户端的挂载点
        showmount –d IP    显示指定NFS服务器在客户端的挂载点
        showmount –e IP    显示指定NFS服务器上的共享目录列表(或者叫输出列表)
     
     
     
     

    现象:NFS安装之后,客户端访问服务器报No route to host错误,关闭服务端防火墙后成功。
    分析:防火墙限制了客户端的访问
    解决:由于NFS会开启mountd,nfs,nlockmgr,portmapper,rquotad五个服务,其中nfs 和 portmapper为固定端口,所以要在防火墙设置,首先要固定其余三个服务的端口。

    1- 修改vi /etc/sysconfig/nfs,寻找如下关键字并修改解注:

    RQUOTAD_PORT=30001
    LOCKD_TCPPORT=30002
    LOCKD_UDPPORT=30002
    MOUNTD_PORT=30003
    STATD_PORT=30004

    2- 设置防火墙,增加如下命令:

    -A INPUT -p tcp --dport 111 -j ACCEPT
    -A INPUT -p udp --dport 111 -j ACCEPT
    -A INPUT -p tcp --dport 2049 -j ACCEPT
    -A INPUT -p udp --dport 2049 -j ACCEPT
    -A INPUT -p tcp --dport 30001:30004 -j ACCEPT
    -A INPUT -p udp --dport 30001:30004 -j ACCEPT

    注意放置于原有同样命令之下

    3- 设置SELINIX,编辑/etc/selinux/config

    SELINUX=enforcing
    替换为
    SELINUX=permissive

    保存上述文件之后,运行以下命令:
    setenforce 0

    这步可能会报错:setenforce: SELinux is disabled

    重启一下服务器再执行

    3-重启nfs和iptables服务

    service nfs restart
    service rpcbind restart
    service iptables restart

    从客户端访问服务器报错,提示:clnt_create: RPC: Program not registered

    解决办法:在服务器上先停止rpcbind,

               /etc/init.d/rpcbind stop

              然后在停止nfs

              /etc/init.d/nfs stop

              最后在重启rpcbind和nfs,一定要按顺序启动和停止

              /etc/init.d/rpcbind start

              /etc/init.d/nfs start

    做完这个动作之后,访问成功

    4.nfs客户端开机自动挂载

    第一种方法:

    1. /etc/fstab里添加  
    2. server_IP:/remote_dir   /local_dir   nfs  defaults  1  1 

    第1个1表示备份文件系统,第2个1表示从/分区的顺序开始fsck磁盘检测,0表示不检测。
    第二种方法:
    将手动挂载命令加入到/etc/rc.local中.

    注意事项:生产环境中一般不将其挂载信息写入fstab中,因为开机启动时,网络连接不上nfs server的话,可能会导致客户端主机无法启动过不了fstab这项,可以将其放到/etc/rc.local中来实现开机自动挂载,但也有可能重启nfs客户端后挂载不成功.

    5.nfs卸载

    umount /data  退出挂载目录再卸载,否则可能会出现device is busy
    umount -lf /data  强制卸载 或fuse -k /data
    补充:
    /etc/fstab就是利用mount进行挂载时,将所有的选项与参数写入到这个文件中。

    1. /dev/xvda1     /      ext3   defaults      1 1  
    2. /dev/xvda3     /var   ext3   defaults      1 2  
    3. /dev/xvda2     swap   swap   defaults      0 0  
    第一栏:磁盘设备文件名或该设备的label
    第二栏:挂载点mount point
    第三栏:文件系统
    第四栏:文件系统参数
    部分参数说明:
      1. async/sync      异步/同步      设定磁盘是否以异步方式运作!预定为 async(效能较佳)  
      2. auto/noauto     自动/非自动   当下达mount -a时,此文件系统是否会被主动测试挂载,预设为auto  
      3. rw/ro            读写/只读权限  
      4. exec/noexec      可执行/不可执行权限  
      5. user/nouser      是否允许一般身份的用户使用mount来挂载,默认nouser。因为不安全。  
      6. 允不允许使用者挂载  
      7. suid/nosuid       具有/不具有suid权限    该文件是否允许SUID的存在?一般挂载的数据无此需求,可以取消  
      8. usrquota     在启动 filesystem 支持磁盘配额模式,  
      9. grpquota     启动 filesystem 对群组磁盘配额模式的支持  
      10. defaults     同时具有 rw, suid, dev, exec, auto, nouser, async 等参数。 基本上,预设情况使用 defaults 设定即可! 
  • 相关阅读:
    C++ Primer 笔记——标准库类型string
    Windows文件系统
    c++数组
    B+树
    简单搭建FastDFS分布式文件系统(简单易懂)
    什么是分布式系统(通俗易懂)
    对List中每个对象元素按时间顺序排序
    java23种设计模式之一: 策略模式
    微信app支付java后台流程、原理分析及nei网穿透
    quartz多任务调度+spring 实现
  • 原文地址:https://www.cnblogs.com/aishangyizhihu/p/4834217.html
Copyright © 2020-2023  润新知