zoukankan      html  css  js  c++  java
  • NFS部署和优化

    系统环境:CentOS release 6.5 (Final)

    一、啥是NFS

        NFS是Network File System即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。

    二、安装NFS服务(Server端)

    服务端ip地址:192.168.1.201

    监听端口号:2049/tcp,2049/udp 

    # yum -y install nfs-utils rpcbind

    在CentOS5.x叫portmap

    编辑/etc/exports文件加入如下内容:

    /web 192.168.1.1/24(rw,sync)

    exports文件说明:

    文件系统 客户端1(文件系统导出属性) 客户端2(文件系统导出属性)

    • 客户端指定方式:

        IP:192.168.1.202

        Hostname:*.fansik.com

        Network:192.168.1.0/24

    • 文件系统属性  

        rw:读写 

        async:异步
        sync:同步
        root_squash:压缩root用户,基于imapd,将root通过网络访问时转换为nfsnobody用户
        no_root_squash:不压缩用户
        all_squash:压缩所有用户
        anonuid,anongid:指定

    启动rpcbind服务:

    # /etc/init.d/rpcbind start

    启动nfs服务:

    # /etc/init.d/nfs start

    启动后三个关键进程:

    mountd:挂载守护进程,负责客户端来源认证的进程

    nfsd:文件读写

    idmapd:id映射进程

    使用下面的命令可以查看各进程监听的端口号

    # rpcinfo -p localhost

    由于mountd的监听端口号是随机的可能会占用其他服务的端口号,所以要使nfs的辅助进程mountd监听在固定的端口上,可以通过/etc/sysconfig/nfs文件进行配置。

    三、挂在NFS目录(Client端)

    客户端IP地址:10.10.10.101

    # yum -y install nfs-utils

    查看Server端共享哪个目录,允许那个ip访问

    # showmount -e 192.168.1.201

    -e:在nfs客户端执行,探查某主机所导出的nfs文件系统,使用格式"showmount -e Server_IP";

    -d:在nfs服务器端执行,显示哪个导出的文件系统已经被至少一个客户挂载使用了;

    -a:在nfs服务器端显示所有挂载会话。

    创建挂载目录

    # mkdir /web

    挂载Server端web目录到本地

    # mount -t nfs 192.168.1.201:/web /web

    在挂载目录创建文件时由于操作web目录的是nfsnobody所以要把其他人的写权限打开。

    四、NFS指定被关在目录写入文件的用户

    编辑Server端的/etc/exports文件

    /web 192.168.1.1/24(rw,sync,all_squash,anonuid=502,anongid=502)

    重启nfs的服务或者# exportfs -arv

    不去限制root的写法如下:

    /web 192.168.1.1/24(rw,sync,no_root_squash)

    去Client端重新挂载目录

    如果使用# mount -t nfs 192.168.1.201:/web /web命令在touch文件的时候很慢,我们可以使用下面的命令指定nfs版本重新挂载一次就好啦:

    # mount -t nfs -onolock,nfsvers=3 192.168.1.201:/web /web

    是用此种方法后指定的用户id和组id使用的都是本地的id:例如Server端的组和用户id是fansik那么在Server端显示所属组和所有者就是fansik,但是如果Client的组和用户id是fanjinbao,那么Client端的文件的所属组和所有者就是fanjinbao

    五、exportfs重新导出文件系统

    在不重启nfs服务的情况下导出文件系统属性

    选项:

    -a:操作所有文件系统

    -ra:重新导出所有文件系统

    -ua:取消导出的所有文件系统

    -v:显示详细信息

  • 相关阅读:
    Oracle 异常处理
    Oracle 游标的使用
    jdbc 连接数据库
    从0开始疫情3D地球
    从0开始疫情3D地球
    从0开始疫情3D地球
    从0开始疫情3D地球
    从0开始疫情3D地球
    从0开始疫情3D地球
    简明 ASP.NET Core 手册问题记录
  • 原文地址:https://www.cnblogs.com/fansik/p/5652918.html
Copyright © 2011-2022 走看看