zoukankan      html  css  js  c++  java
  • NFS网络文件系统搭建

    1. 简介
    NFS, 就是network file system的简称。
    可以通过NFS, 来共享不同主机的文件、目录。
     
    2010年,NFS已经发展到v4.1版本。
     
    2. 应用场景
    在中小型企业中,NFS使用很广泛。
    用来存储共享视频、图片等资源。
     
    大型企业常常使用MFS, CTFS, TFS等等分布式文件系统。
     
    在中小企业的应用场景:
    在集群中的使用。
     
    3. NFS基本架构
      NFS服务器,任意多个客户端
     
    4. 企业集群中,为什么要使用“数据共享"
       如果不使用数据共享,数据就存储在不同的服务器中。
        
       NFS在中小企业中,可以很方便的实现数据共享。
        
    5. NFS和RPC
       NFS服务中,包含多个子功能。
       每个子功能,就是一个进程。
       而每个进程,就要使用1个“端口号”
       补充:为什么要使用端口号?
              端口号“相当与”总机的分机号
     
      
       NFS服务,要使用多个端口号
       而且,这些端口号是动态分配的。
       而客户端连接服务器,必须知道对应的端口号!
     
       如何解决这个问题?
       使用RPC服务
     
       RPC服务
         RPC, 是1个“中介”
      
    补充:
        查看当前主机名
        # hostname
     
    搭建NFS服务
    1. 安装NFS服务
       1) nfs服务需要安装什么软件?
          (1)nfs-utils
               NFS服务主程序
           (2) 对于CentOS5.x版本(或Redhat5.x版本),就需要安装 portmap
               对于centOS6.x版本 (后Redhat6.x版本),就需要安装 rpcbind
          
               补充:查看CentOS的版本号,
               cat  /etc/redhat-release
     
           补充:在NFS服务器中,安装NFS服务,以及RPC服务
                 在客户端,只需要安装RPC服务
     
       2) 查看是否已经安装了这些软件
          # rpm  -aq  nfs-utils  portmap   rpcbind
            检查当前系统是否已经安装所指定的软件
          如果已经安装,就会显示已经安装的包,比如:
          nfs-utils-1.2.3-39.el6.x86_64
          rpcbind-0.2.0-11.el6.x86_64
     
       3)如果没有安装,就安装
          方法1:
          #  yum  install  nfs-utils  rpcbind  -y
          补充: -y表示在安装过程中,就不许要在输入确认。
     
          方法2:
          使用"组包“安装
          yum   groupinstall  "NFS file server" -y
     
          安装后,检查是否已经安装成功。
          rpm  -aq  nfs-utils  portmap   rpcbind
     
    2. 启动RPC服务
       可以先检查RPC服务是否已经启动。
       /etc/init.d/rpcbind status
       补充:建议把终端设置为英文。
             # LANG=en
        
       没有没有启动,就启动:
       /etc/init.d/rpcbind start
     
       启动后,检查是否已经启动成功
       /etc/init.d/rpcbind status
        
      补充:需要在服务器和客户端都启动RPC服务。
     
      补充:RPC服务启动后,就可以查看已经注册了哪些端口
           #  rpcinfo -p localhost
           注意,111端口是rpc服务自己使用的端口
     
    3. 启动NFS服务
      1)检查NFS服务是否已经启动
        # /etc/init.d/nfs  status
      2) 启动NFS服务
        # /etc/init.d/nfs  start
      3)再检查NFS服务是否已经启动
        /etc/init.d/nfs  start
     
      补充:可以检查nfs的端口号是否已经注册
      # rpcinfo -p localhost | grep nfs
     
    4. 设置NFS和RPC服务为“开机自动启动”
       # chkconfig nfs on
       # chkconfig rpcbind on
     
    5. 配置NFS服务
       就是配置服务器的哪个目录可以共享
       以及谁可以共享
       共享的权限
      
       修改/etc/exports  (NFS的主配置文件)
       例如:
       /data 192.168.0.0/24(rw,sync)
       
       第1列,是服务器共享的目录
       第2列 表示哪些客户端可以使用这个NFS服务,以及权限。
             IP地址的最后1位为0,就表示指定的网段都可以使用该NFS服务
             /24表示子网掩码是最前面的24位(即255.255.255.0)
          
             rw, 表示可读可写
             sync,同步,服务器把数据写入磁盘完成之后,客户端的操作才结束。
             async,异步,服务器把数据写入缓存之后,客户端的操作就结束。
     
    6. 重启NFS服务(以使配置生效)
       /etc/init.d/nfs  reload
       注意:使用reload,“平滑重启”
        
       重启服务后,检查配置是否生效
       1)先在服务器端检查
       # showmount  -e  localhost
         该命令就是检查nfs服务的输出清单。
         如果检查失败,那就说明服务器端的配置失败了,需要检查配置文件。
     
     
       2)在客户端检查服务器端的配置
       # showmount -e 192.168.0.
         如果检查失败,就
        1)首先用ping检查网络是否连通
        2) 然后检查防火墙
     
    7. 挂载
       在客户端,使用mount命令。
     
       例如:
       mount -t nfs 192.168.0.143:/data   /mnt
       说明:
       192.168.0.143表示服务器的ip地址
       /data表示服务器的nfs配置的共享目录
       /mnt表示把指定的服务器的共享目录”挂”到/mnt目录下!
     
    8. 开机自动挂载
       /etc/rc.local 该文件在系统启动后将自动运行。
        
      #  echo "mount -t nfs 192.168.0.143:/root/Desktop/note /note" >> /etc/rc.local  
      
    9. 卸载
       umount 挂载点
       比如: umount /note
     
    10. NFS服务的功能组件
    NFS服务,包含很多子功能,
    每个子功能,由1个进程实现。
     
    可如下方式查看:
     # ps -ef | grep -E "rpc|nfs"
     ps -ef表示查看当前系统运行的所有进程。
     | 是管道,表示把前面一条命令的输出作为后面命令的输入。
     grep -E 按照“正则表达式”来查找。
     "rpc|nfs"表示查找 rpc或者nfs
      
     rpcbind  就是rpc服务
     rpc.rquotad : 用于磁盘配额
     nfsd          nfs服务的主进程。
     rpc.mountd    权限管理进程。
                   1) 先检查客服端对该共享目录的权限(由/etc/exports指定)
                   2)再检查服务器的这个共享目录在本地的权限。
     rpc.statd    用来检查文件的一致性
      
    11. NFS的配置文件、常用命令
    1) /etc/exports
     
    2)  /usr/sbin/exportfs
        NFS服务的管理命令
       
         exportfs   -rv  等效于:
        /etc/init.d/nfs   reload
     
    3) showmount
       该命令就是检查nfs服务的输出清单。
     
    4) NFS的默认配置
       /var/lib/nfs/etab
     
    5)  NFS配置文件中的参数
        rw  可读写
        ro  只读
        sync 同步
        async 异步
     
        客户端访问 NFS共享目录时的权限:
        
        1. root_squash, 把root用户映射为匿名用户(anonymous)
        2. no_root_squash , root用户连接进来时,仍具有root权限
           一般用在无盘工作站
     
        3. all_squash
           把所有用户都映射为匿名用户
           一般用于共用目录。
     
        4. anonuid=xxx
           anongid=xxx
          指定NFS服务器的/etc/passwd晚间中匿名用户的uid
        
        5. no_all_squash
           不映射,保留共享目录的uid和gid
    

      

  • 相关阅读:
    现代软件工程第一次结对编程(黄金点游戏)总结
    现代软件工程第一周博客作业
    最后一周总结
    阅读和提问作业3 (期中作业)
    软件工程作业 案例分析
    第二次结对编程
    现代软件工程 结对编程总结
    现代软件工程 第一周 博客作业
    阅读作业
    Judy Beta 第三天
  • 原文地址:https://www.cnblogs.com/The-day-of-the-wind/p/12063831.html
Copyright © 2011-2022 走看看