• Centos 7 最小化部署NFS


    NFS工作原理

    NFS是Network File System的缩写,即网络文件系统。客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下。
    1
    、由程序在NFS客户端发起存取文件的请求,客户端本地的RPC(rpcbind)服务会通过网络向NFS服务端的RPC的111端口发出文件存取功能的请求。 2、NFS服务端的RPC找到对应已注册的NFS端口,通知客户端RPC服务。 3、客户端获取正确的端口,并与NFS daemon联机存取数据。 4、存取数据成功后,返回前端访问程序,完成一次存取操作。 所以无论客户端,服务端,需要使用NFS,必须安装RPC服务。 NFS的RPC服务,在Centos5下名为portmap,Centos6/7下名称为rpcbind。

    部署环境

    Server端:192.168.21.35
    Client端 :192.168.21.230
    
    Server端软件:nfs-utils、rpcbind
    Client端软件 :安装NFS文件系统模块

    部署操作

    服务端操作

    1、关闭selinux

    sh-4.2# sed -i 's/enforcing/disabled/' /etc/selinux/config
    sh-4.2# reboot

    2、卸载防火墙

    sh-4.2# rpm -qa | grep "firewall" | xargs rpm -e --nodeps
    sh-4.2# rpm -qa | grep "iptables" | xargs rpm -e --nodeps

      

    3、配置本地源

    sh-4.2# cat GuGe.repo 
    [GuGe]
    name=GuGe
    baseurl=file:///mnt
    gpgcheck=0
    enable=1

     4、安装部署NFS

    sh-4.2# yum install nfs-utils rpcbind
    sh-4.2# systemctl restart rpcbind.service               # 启动rpcbind
    sh-4.2# systemctl status rpcbind.service
    sh-4.2# systemctl enable rpcbind
    sh-4.2# ss -anpt | grep "111"
    LISTEN     0      128          *:111                      *:*                   users:(("rpcbind",pid=18264,fd=4),("systemd",pid=1,fd=39))
    LISTEN     0      128         :::111                     :::*                   users:(("rpcbind",pid=18264,fd=6),("systemd",pid=1,fd=41))
    
    sh-4.2# rpcinfo -p localhost                            # 向rpc注册nfs信息
    sh-4.2# systemctl start nfs.service                     # 启动nfs服务
    sh-4.2# rpcinfo -p localhost                            # 查看启动nfs服务之后的rpc状态

     5、进程详解

    sh-4.2# ps -ef|egrep "rpc|nfs"
    rpc       18264      1  0 22:46 ?        00:00:00 /sbin/rpcbind -w
    rpcuser   18319      1  0 22:51 ?        00:00:00 /usr/sbin/rpc.statd
    root      18320      2  0 22:51 ?        00:00:00 [rpciod]
    root      18332      1  0 22:51 ?        00:00:00 /usr/sbin/rpc.idmapd
    root      18366      1  0 22:51 ?        00:00:00 /usr/sbin/rpc.mountd
    root      18371      2  0 22:51 ?        00:00:00 [nfsd4_callbacks]
    root      18377      2  0 22:51 ?        00:00:00 [nfsd]
    root      18378      2  0 22:51 ?        00:00:00 [nfsd]
    root      18379      2  0 22:51 ?        00:00:00 [nfsd]
    root      18380      2  0 22:51 ?        00:00:00 [nfsd]
    root      18381      2  0 22:51 ?        00:00:00 [nfsd]
    root      18382      2  0 22:51 ?        00:00:00 [nfsd]
    root      18383      2  0 22:51 ?        00:00:00 [nfsd]
    root      18384      2  0 22:51 ?        00:00:00 [nfsd]
    root      18402  18050  0 22:52 pts/0    00:00:00 grep -E rpc|nfs
    
    nfsd(rpc.nfsd)主进程,主要是管理客户端能否登入服务端,登入者ID判别。
    mountd(rpc.mountd)管理NFS文件系统,登入者的权限管理
    rpc.lockd(非必要)用来锁定文件,用于客户端同时写入
    rpc.statd(非必要)检查文件一致性
    rpc.idmapd 名字映射后台进程

    6、配置共享目录

    sh-4.2# vi /etc/exports                                    # NFS服务端配置
    /test    192.168.21.0/24(rw,sync)
    
    sh-4.2# exportfs -rv                                    # 重新加载nfs配置
    exporting 192.168.21.0/24:/test
    
    sh-4.2# showmount -e localhost                            # 查看nfs服务器挂载情况
    Export list for localhost:
    /test 192.168.21.0/24
    
    sh-4.2# chown -R nfsnobody.nfsnobody /test/                # 设置目录权限
    
    exports文件配置格式:
    FS共享的目录 NFS客户端地址1(参数1,参数2,...) 客户端地址2(参数1,参数2,...)
    
    NFS客户端地址:
    指定IP: 192.168.0.1
    指定子网所有主机: 192.168.0.0/24
    指定域名的主机: test.com
    指定域名所有主机: *.test.com
    所有主机: *
    
    参数:
    ro:目录只读
    rw:目录读写
    sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
    async:将数据先保存在内存缓冲区中,必要时才写入磁盘
    all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)
    no_all_squash:与all_squash取反(默认设置)
    root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置)
    no_root_squash:与rootsquash取反
    anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)
    anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户

    客户端操作

    sh-4.2# yum -y install nfs-*
    sh-4.2# mount -t nfs 192.168.21.35:/test /test
    # 这里已经关闭了防火墙及selinux
    sh-4.2# vi /etc/fstab
    192.168.21.35:/test /test nfs defaults 0 0

    windows也可以挂在NFS文件

    参考地址:https://www.cnblogs.com/jkko123/p/6361476.html?utm_source=itdadao&utm_medium=referral

    心若向阳,无谓悲伤!
  • 相关阅读:
    问题账户需求分析
    2017年秋季个人阅读计划
    读“我们应当怎样做需求分析”有感
    开发体会
    第二阶段个人总结10
    第二阶段个人总结09
    第二阶段个人总结08
    个人进度(13)
    个人进度(12)
    个人进度(11)
  • 原文地址:https://www.cnblogs.com/guge-94/p/10736143.html
Copyright © 2020-2023  润新知