centos7 下nfs的配置

作者: sprainkle | 来源:发表于2018-12-07 14:43 被阅读19次

    补充知识:

    • RPC 主程序:rpcbind
      我们的 NFS 其实可以被视为一个 RPC 服务,而要启动任何一个 RPC 服务之前,我们都需要做好 port 的对应 (mapping) 的工作才行,这个工作其实就是『 rpcbind 』这个服务所负责的!也就是说, 在启动任何一个 RPC 服务之前,我们都需要启动 rpcbind 才行! (在 CentOS 5.x 以前这个软件称为 portmap,在 CentOS 6.x 之后才称为 rpcbind 的!)
    • NFS 主程序:nfs-utils
      就是提供 rpc.nfsd 及 rpc.mountd 这两个 NFS daemons 与其他相关 documents 与说明文件、执行文件等的软件!这个就是 NFS 服务所需要的主要软件啦!一定要有喔!

    查看是否已安装软件

    『rpm -qa | grep nfs 』与『 rpm -qa | grep rpcbind 』

    如果没有安装的话, 在 CentOS 内可以使用『 yum install nfs-utils 』来安装!

    配置NFS

    编辑配置文件/etc/exports

    $ sudo vim /etc/exports
    
    /home/  192.168.0.0/24(rw,sync,all_squash,anonuid=1001,anongid=1001)
    

    这个配置文件就这样简单一行。共分为三部分,第一部分就是本地要共享出去的目录,第二部分为允许访问的主机(可以是一个IP也可以是一个IP段)第三部分就是小括号里面的,为一些权限选项。关于第三部分,简单介绍一下:

    • rw :读写;

    • ro :只读;

    • sync :同步模式,内存中数据时时写入磁盘;

    • async :不同步,把内存中数据定期写入磁盘中;

    • no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;

    • root_squash :和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;

    • all_squash :不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;

    • anonuid/anongid :要和root_squash 以及 all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。

    注:

    假设存在用户 devuser, uidgid 均为1001。那么上面的配置,代表使用NFS的用户在操作本地挂载到远程的目录时,相当于devuser在操作。

    使用NFS

    当编辑完配置文件/etc/exports后,就该启动NFS服务了。启动方法为:

    $ systemctl start rpcbind
    $ systemctl start nfs
    

    NFS是依托rpcbind的,所以首先要启动rpcbind,然后启动NFS才能是刚才的配置生效。启动完NFS后,就该使用NFS服务了。

    常用命令

    注:假设远程服务器的内网地址为:192.168.0.51

    mount

    $ mount -t nfs 192.168.0.51:/data/images /data/images
    

    mount命令来挂载nfs,首先是用-t nfs 来指定挂载的类型为nfs。
    另外在使用nfs时,常用一个选项就是nolock了,即在挂载nfs服务时,不加锁。

    showmount

    $ showmount -e 192.168.0.51 # 用在client端
    Exports list on 192.168.0.51:
    /data/images                        192.168.0.0/24
    

    用showmount -e 加IP就可以查看NFS的共享情况,上例中,就可以看到127.0.0.1的共享目录为/home,信任主机为10.0.2.0/24这个网段。

    这个showmount 命令还有一个常用的选项就是-a了,它的意思是,把连接本机的NFS的client全部列出。

    $ showmount -a   # nfs服务器上
    All mount points on localhost.localdomain:
    192.168.0.128:/data/images
    192.168.0.136:/data/images
    

    exportfs

    NFS服务中还有一个常用的命令那就是exportfs,它的常用选项为[-aruv]。

    • -a :全部挂载或者卸载;

    • -r :重新挂载;

    • -u :卸载某一个目录;

    • -v :显示共享的目录;

    使用exportfs命令,当改变/etc/exports配置文件后,不用重启nfs服务直接用这个exportfs即可。如:

    $ exportfs -arv
    

    另外我们还可以把要挂载的nfs目录写到client上的/etc/fstab文件中,挂载时只需要mount -a即可。

    192.168.0.51:/data/images          /data/images         nfs     nolock          0 0
    

    写完/etc/fstab文件后,只需要 mount -a 即可挂载nfs服务的共享目录。

    umount

    $ umount /data/images
    
    $ mount -a
    

    相关文章

      网友评论

        本文标题:centos7 下nfs的配置

        本文链接:https://www.haomeiwen.com/subject/icpthqtx.html