• Linux搭建NFS网络共享文件服务器


    参考文档:https://blog.csdn.net/qq_32368213/article/details/80448305

    NFS共享文件服务器
    主程序:rpcbind nfs-utils
    主要配置文件:/etc/exports
    NFS 文件系统维护指令:/usr/sbin/exportfs
    分享资源的登录档:/var/lib/nfs/*tab
    客户端查询服务器分享资源的指令:/usr/sbin/showmount

    一、安装部署
    server端
    #查看是否已安装
    ~>rpm -qa | grep nfs
    ~>rpm -qa | grep rpcbind

    #安装
    ~>yum install rpcbind nfs-utils -y
    #自定义共享文件夹
    ~>chmod 666 /data/lys
    #配置共享文件夹访问控制
    ~>vim /etc/exports
    #添加
    /data/lys client_IP(rw,sync,no_root_squash,no_all_squash)
    #共享的目录 允许访问IP:可擦写,同步写入到硬盘,开放客户端使用root身份来操作服务器的文件系统,不隐藏子目录,不开放匿名用户

    1 )访问权限选项
            设置输出目录只读:ro
            设置输出目录读写:rw
    2 )用户映射选项
            all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
            no_all_squash:与all_squash取反(默认设置);
            root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
            no_root_squash:与rootsquash取反;
            anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
            anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
    3 )其它选项
            secure:限制客户端只能从小于 1024 的tcp/ip端口连接nfs服务器(默认设置);
            insecure:允许客户端从大于 1024 的tcp/ip端口连接服务器;
            sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
            async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
            wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
            no_wdelay:若有写操作则立即执行,应与sync配合使用;
            subtree_check:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
            no_subtree_check:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

    ~>exportfs -r #配置文件变更后生效
    ~>service nfs restart #重启nfs
    ~>rpcinfo -p localhost #检查nfs服务生效,mountd nlockmgr端口随机
    #配置固定端口:解决随机端口导致的防火墙策略问题
    ~>vim /etc/sysconfig/nfs
    #添加
    RQUOTAD_PORT=30001
    LOCKD_TCPPORT=30002
    LOCKD_UDPPORT=30002
    MOUNTD_PORT=30003
    STATD_PORT=30004
    ~>service nfs restart
    #检查共享文件
    ~>showmount -e
    #检查访问权限
    ~>exportfs

    client端:
    ~>yum install rpcbind nfs-utils -y #安装
    ~>mount -t nfs server_IP:/data/lys /mnt #挂载
    ~>df -h #查看是否挂载成功

    二、设置开机启动和自动挂载
    1)安装完成之后在/etc/init.d/文件夹下 会生成相应的nfs和rpcbind文件
    ~>chkconfig rpcbind on
    ~>chkconfig nfs on
    ~>vim /etc/fstab
    #添加
    server_IP:/data/lys /mnt nfs defaults 0 0 #实现永久挂载
    2)问题:在/etc/init.d/没有相关文件,使用chkconfig不能直接启动服务开机启动
    问题:编辑fstab文件,会使主机开机时,自动检测挂载nfs文件,拖慢开机速度
    问题:nfs服务端主机未开启,fstab中默认挂载硬盘后,系统无法启动
    解决方法:编写脚本实现开机启动和自动挂载
    server端
    ~>vim auto_Configuration.sh
    #!/bin/bash
    #chkconfig:2345 80 90
    service rpcbinds start
    service nfs start
    ~>chmod +x /etc/init.d/auto_Configuration.sh
    ~>chkconfig --add auto_Configuration.sh #添加该脚本到启动项中

    client端
    ~>vim auto_Configuration.sh
    #!/bin/sh
    #chkconfig:2345 80 90
    service rpcbinds start
    service nfs start
    mount -t nfs server_IP:/data/lys /mnt
    ~>chmod +x /etc/init.d/auto_Configuration.sh #添加该脚本到启动项中
    ~>chkconfig --add auto_Configuration.sh #添加该脚本到启动项中

    #执行chkconfig可查看脚本是否添加到启动项
    #chkconfig有几个等级:0:表示关机,
    #1:表示单用户模式
    #2:表示无网络链接多用户命令行模式
    #3:表示有网络链接多用户命令行模式
    #4:表示不可用情况
    #5:表示带图形界面的多用户模式
    #6:表示重新启动
    #chkconfig:2345就代表在2345的等级下启动这个服务
    #后面的80 90分别是启动优先级和关闭优先级

  • 相关阅读:
    希尔排序
    基数排序
    spring8——AOP之Bean的自动代理生成器
    spring7——AOP之通知和顾问
    spring6——AOP的编程术语
    spring5——Aop的实现原理(动态代理)
    spring4——IOC之基于注解的依赖注入(DI )
    spring3——IOC之基于XML的依赖注入(DI )
    spring2——IOC之Bean的装配
    spring1——IOC之原理
  • 原文地址:https://www.cnblogs.com/gcixx/p/13711512.html
Copyright © 2020-2023  润新知