zoukankan      html  css  js  c++  java
  • (转)Centos7安装配置NFS服务和挂载

    Centos7安装配置NFS服务和挂载

    原文:https://www.u22e.com/601.html

    NFS简介

    NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

    RPC(NFS服务需要依赖RPC服务,这个比较重要) 要想了解NFS,必然要提到RPC这个服务。 因为NFS支持的功能还是比较多的,并且不同的功能都会使用不同的程序来启动。每启动一个功能就会启用一些端口来传输数据,因此NFS的功能所对应的端口才没有固定,而是采用随机取用一些未被使用的小于1024的端口来作为传输之用。但如此一来又造成客户端要连接服务器时的困扰,因为客户端要知道服务器端的相关端口才能够联机,此时我们需要远程过程调用(RPC)的服务。 RPC最主要的功能就是指定每个NFS功能所对应的端口号,并且回报给客户端,让客户端可以连接到正确的端口上。当服务器在启动NFS时会随机选用数个端口,并主动地向RPC注册。因此RPC可以知道每个端口对应的NFS功能。然后RPC固定使用端口111来监听客户端的请求并回报客户端正确的端口,所以可以让NFS的启动更为容易。 注意,启动NFS之前,要先启动RPC服务;否则NFS无法向RPC注册。另外,重新启动RPC时原本注册的数据会不见,因此RPC重新启动后它管理的所有程序都需要重新启动以重新向RPC注册,比如NFS服务。

    当客户端有NFS文件要存取请求时,它向服务器端访问数据,有如下几个步骤: (1)客户端会向服务器端的RPC(port 111)发出NFS文件存取功能的询问请求。 (2)服务器端找到对应的已注册的NFS daemon端口后会回报给客户端。 (3)客户端了解正确的端口后,就可以直接与NFS守护进程来联机,然后访问数据。

    其实,我们可以简单的理解为:NFS当作RPC服务中的一种,同时将RPC服务当作NFS服务器与NFS客户端的中间接口人,就是说NFS客户端访问NFS服务器,必须经过RPC这个接口人,才可以去访问,否则就直接死翘翘了。
    安装NFS

    方法1:

    检查:rpm -qa nfs-utils rpcbind 最佳
    yum install nfs-utils rpcbind -y
    方法2: LANG = en

    yum grouplist | grep -i nfs
    yum groupinstall “NFS file server ” -y
    启动 rpcbind (centos 6.8)

    /etc/init.d/rpcbind status
    /etc/init.d/rpcbind start
    启动 rpcbind (centos 7)

    systemctl start rpcbind.service
    systemctl status rpcbind.service
    查看rpcbind 端口

    netstat -lntup | grep rpcbind 默认端口 111
    netstat -lntup | grep 111
    rpcinfo -p localhost 查看rpclist
    配置nfs配置文件(/etc/exports ] 默认是空的)

    vim /etc/exports
    示例:

    nfs 共享的目录   nfs客户端地址1(参1,参2,...)客户端地址2(参1,参2,...)

    nfs共享的目录  nfs客户端地址 (参1,参2,...)
    /data 168.1.1.1(rw,sync,all_squash)
    /data 168.1.1.*(rw,sync,all_squash)
    sync:写入磁盘
    使配置生效


    exportfs -r

    注:配置文件说明:

    /opt/test 为共享目录

    192.168.1.0/24 可以为一个网段,一个IP,也可以是域名,域名支持通配符 如: *.qq.com

    rw:read-write,可读写;

    ro:read-only,只读;

    sync:文件同时写入硬盘和内存;

    async:文件暂存于内存,而不是直接写入内存;

    no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。

    root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;

    all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;

    anonuid:匿名用户的UID值,可以在此处自行设定。

    anongid:匿名用户的GID值。
    查看有什么启动命令 /etc/init.d/nfs 会输出命令集合

    showmount命令详解:

    Usage: showmount [-adehv]

           [--all] [--directories] [--exports]

           [--no-headers] [--help] [--version] [host]

    参数说明如下。

    (1)-a或-all:以host:dir这样的格式来显示客户主机名和挂载点目录。

    (2)-d或-directories:仅显示被客户挂载的目录名。

    (3)-e或-exports:显示NFS服务器的输出清单。

    (4)-h或-help:显示帮助信息。

    (5)-v或-version:显示版本信息。

    (6)--no-headers:禁止输出描述头部的信息。

    当要扫描某一主机所提供的NFS共享的目录时,使用showmount -e IP(或主机名称hostname)即可。


    showmount -e 127.0.0.1 查看挂载的目录
    关闭防火墙

    systemctl stop firewalld.service
    systemctl disable firewalld.service
    客户端需要启动 rpc

    客户端也需要安装rpcbind, 建议nfs一起安装,便于使用showmount命令

    centos6.8 /etc/init.d/rpcbind start
    centos7 systemctl start rpcbind.service

    或者将启动命令放入 /etc/rc.local 或者 使用 echo “/etc/init.d/rpcbind start” >> /etc/rc.local

    客户端挂载目录 mount -t nfs 10.0.0.7:/data /mnt
    echo “/bin/mount -t nfs 10.0..0.1:/data /mnt” >> /etc/rc.local
    nfs不能向服务端写数据,是权限的问题

    cat /var/lib/nfs/etab

    /script 192.168.42.*(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)

    /data 192.168.42.*(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)

    [root@nfs-1 data]# grep 65534 /etc/passwd nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

    chown -R nfsnobody /data

  • 相关阅读:
    Android 课程设计
    第十个作业 简易通讯录
    第九个作业 QQ的账号密码保存
    第八个作业 QQ账号的保存
    第七个作业 Activity之间的数据回传
    第六个作业 应用列表
    第五个作业 背景换色
    JSP第一次作业
    安卓课设
    Android第八次作业
  • 原文地址:https://www.cnblogs.com/liujiacai/p/8259292.html
Copyright © 2011-2022 走看看