zoukankan      html  css  js  c++  java
  • NFS服务器搭建

    NFS文件共享服务器介绍:

    NFS可以实现通过网络让不同的操作系统,不同的主机,实现文件共享,且可以将NFS服务器的共享目录挂载至本地的文件系统中。

    环境部署:

    NFS-server  192.168.182.143

    NFS-client    192.168.182.145

    一、服务器部署

    1、在服务端安装NFS服务组件

    执行以下命令:yum install nfs-utils -y

    2、编辑NFS配置文件,路径为/etc/exports文件,文件中定义了要发布的目录以及客户端的访问权限等

     上图的意思为:将/data/nfs目录发布到nfs共享中,*代表允许所有主机访问,(rw,sync)挂载的参数,rw表示允许挂载后可读可写,sync表示同步的方式为sync

    访问控制:

    允许某个网段的主机可以访问:将*改为192.168.182.0/24

    允许某个IP的主机可以访问:将*改为192.168.182.145

    挂载常用参数:

    rw  #可读可写的权限

    ro  #只读权限

    no_root-squash  #客户端使用该共享目录时,以目录所有者的身份运行,如果客户端以root身份使用这个共享目录时,则对该目录行使root权限

    root_squash  #客户端使用该目录时,以该目录的拥有者身份运行,如果客户端以root身份使用这个共享目录时,则使用者的权限会被压缩为nobody

    all_squash  #不论客户端使用该目录的身份为何,都会被压缩为nobody

    sync  #资料同步写入内存与磁盘中

    async  #资料会先暂存于内存当中,而非直接写入到硬盘

    insecure  #允许从这台机器过来的非授权访问

    3、导出广播发文件,并重启nfs和rpcbind服务,并关闭firewalld和selinux

    执行命令:exportfs -r  #导出广播文件

            systemctl restart nfs  #重启nfs服务

         systemctl restart rpcbind  #重启rpcbind服务

         systemctl stop firewalld  #关闭防火墙

            setenforce 0  #临时关闭selinux

    二、客户端部署

    1、客户端同样也需要安装nfs组件

    执行命令:yum install nfs-utils -y  #安装nfs组件

    2、启动nfs服务以及关闭防火墙和selinux

    执行命令:systemctl start nfs      #启动nfs

            systemctl start rpcbind    #启动rpcbind

            systemctl stop firewalld     #关闭防火墙

            setenforce 0         #关闭selinux

    3、查看服务器的发布目录,并执行挂载命令

    执行命令:showmount -e 192.168.182.143   #查看NFS发布的共享目录

         mount -t nfs 192.168.182.143:/data/nfs/ /mnt  #将NFS发布的目录挂载至本地的/mnt目录下

    4、在服务器上创建一个文件,然后在客户端的挂载目录进行验证

    服务器上发布目录下执行:echo "this is nfs" > test

    三、NFS相关优化

    1、防火墙配置放过nfs相关服务

    执行命令:/usr/bin/firewall-cmd --permanent --zone public --add-service mountd

         /usr/bin/firewall-cmd --permanent --zone public --add-service rpc-bind

         /usr/bin/firewall-cmd --permanent --zone public --add-service nfs

           /usr/bin/firewall-cmd --reload

    2、将rpc端口设置成指定端口,编辑配置文件/etc/sysconfig/nfs,在最后添加以下内容

    RQUOTAD_PORT=10001
    LOCKD_TCPPORT=10002
    LOCKD_UDPPORT=10002
    MOUNTD_PORT=10003
    STATD_port=10004

    执行命令:rpcinfo -p

    3、客户端挂载优化

    noatime  #取消更新文件系统上的inode访问时间,提升I/O性能,优化I/O目的。

    nodiratime  #取消更新文件系统上的directory inode访问时间。

    noexec  #挂载的这个文件系统要不要执行程序(安全选项)

    nosuid  #挂载的这个文件系统上面可以可以设置UID(安全选项)

    rsize/wsize  #读取/写入的区块 大小,这个值可以影响客户端和服务端传输数据的缓冲存储量。

    上面的挂载可以设置为:

    执行命令:mount -t nfs -o noatime,noatime,noexec,nosuid,soft,timeo=1 192.168.182.143:/data/nfs /mnt  #设置挂载参数

         nfsstat -m  #查询挂载参数

  • 相关阅读:
    StringRedisTemplate和RedisTemplate的区别及使用方法
    https jwt.io 测试
    java.sql.SQLException Parameter index out of range (0 1 ).
    yml 错误: 层级、缩进不对引起的问题
    xml文件中存在自定义控件导致无法预览的解决方法
    凸优化从入门到放弃(目录)
    PyTorch从入门到放弃(目录)
    小样本学习以及元学习基础学习路线
    08-ADMM算法
    07-内点法(不等式约束优化算法)
  • 原文地址:https://www.cnblogs.com/awanderer/p/12154246.html
Copyright © 2011-2022 走看看