nfs网络系统文件

      NFSNetwork FileSystem,基于RPC(Remote Procedure CallProtocol远程过程调用协)实现。NFSTCP/IP协议集所提供的一种子协议,该协议可以实现LINUX/UNIX主机之间的文件共享,磁盘空间共享。它只用于LinuxUnix内核的操作系统进行共享。使用NFS网络文件系统,可以将服务器的硬盘挂载到本地,就像操作本地计算机的硬盘一样。
     NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。 RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送。

安装服务器端:
  1.安装命令:yum install nfs-utils rpcbind
     nfs-utils 提供了NFS服务器程序和相应的管理工具。
     rpcbind   是一个管理RPC连接的程序,rpcbind服务NFS的动态端口分配守护进程,如果rpcbind服务不启动,NFS就启动不了的。
  2.配置NFS服务端,编辑/etc/exports文件:
         vim   /etc/exports
         设置共享目录,例如:
            /home/nfsdir  *(rw)		#表示共享/home/nfsdir目录,所有用户都有读写权限。
            /home/share  192.168.0.100(rw,no_root_squash)  *(ro)	#

表示共享/home/share目录,192.168.0.100有读写权限并且root用户有完全管理访问权限,其他机器仅有只读权限。
       配置文件的格式为:
       [共享的目录	[主机名或IP(参数,参数)]
       其中参数是可选的,当不指定参数时,nfs将使用默认选项。默认的共享选项是sync,ro,root_squash,no_delay       当主机名或IP地址为空时,则代表共享给任意客户机提供服务。
       当将同一目录共享给多个客户机,但对每个客户机提供的权限不同时,可以这样:
       [共享的目录	[主机名1IP1(参数1,参数2)] 	[主机名2IP2(参数3,参数4)]
       下面是一些NFS共享的常用参数:
            ro  	只读访问
            rw  	读写访问
            sync  	同步写入资料到内存与硬盘中
            async  	资料会先暂存于内存中,而非直接写入硬盘
            secure  	NFS通过1024以下的安全TCP/IP端口发送
            insecure  NFS通过1024以上的端口发送
            wdelay  	如果多个用户要写入NFS目录,则归组写入(默认)
            no_wdelay 	如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
            hide  	NFS共享目录中不共享其子目录
            no_hide  	共享NFS目录的子目录
            subtree_check  	如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
            no_subtree_check  和上面相对,不检查父目录权限
            all_squash  	共享文件的UIDGID映射匿名用户anonymous,适合公用目录。
            no_all_squash  	保留共享文件的UIDGID(默认)
            root_squash  	root用户的所有请求映射成如anonymous用户一样的权限(默认)
            no_root_squash  	root用户具有根目录的完全管理访问权限
            anonuid=xxx  	指定NFS服务器/etc/passwd文件中匿名用户的UID
            anongid=xxx  	指定NFS服务器/etc/passwd文件中匿名用户的GID    
3.exports文件修改后,使用以下命令,不需要重启NFS服务,就可以重新挂载/etc/exports里面的设定:
            exportfs  -arv
4.先启动rpcbind服务:
     	    service  rpcbind  start
5.再启动NFS服务:
            service  nfs  start
  	注:如果之前没有先启动portmap服务,那么当启动NFS服务时会停在Starting NFSdaemon:很长时间
6.设置nfsrcpbind开机自启动:
     	    chkconfig --level 345 nfs on
     	    chkconfig --level 345 rcpbind on
客户端安装:
 1.安装nfs-utilsrpcbind
       yum install nfs-utils  rpcbind
 2.启动rcpbind服务
       service  rpcbind  start
       或者:/etc/init.d/rpcbind start
 3.设置开机启动
       chkconfig --level 345 rcpbind on
 4.NFS服务端启动成功后,客户端可以利用showmount命令测试是否能连上服务端
       命令格式:showmount -e[hostname|IP]showmount命令需要安装了nfs-utils件包才有
       命令:showmount  -e  192.168.1.2
       显示如下:
              /home/nfsdir *
              /home/share (everyone)
5.客户端建立挂载的文件夹
        cd  /mnt
        mkdir  nfs
6.客户端使用mount命令挂载NFS共享文件
       	mount -t nfs 192.168.1.2:/home/nfsdir   /mnt/nfs
       	命令格式:mount – t nfs  nfs服务器地址:目录共享地址 本地挂载目录点
7.客户端可使用df命令,mount命令查看挂载情况:
    	mount
    	192.168.1.2:/home/share on /mnt/nfs2 type nfs(rw,addr=192.168.1.2)
8.客户端卸载NFS文件命令:
        umount /mnt/nfs1
        umount /mnt/nfs2
9.开机默认挂载设置
        a.需要将NFS的共享目录挂载信息写入/etc/fstab/文件,以实现对NFS共享目录的自动挂载。
         编辑/etc/fstab文件,在最后加入:
             192.168.1.2:/home/nfsdir /mnt/nfsdir nfsdefaults 0 0
        b.vi编辑/etc/rc.local文件,因为在系统启动过程中,完成初始化脚本的执行后,会执行这个脚本文件添加命令如下:
        #vi /etc/rc.local
         mount /dev/cdrom /media/cdrom
         后面挂载点可以自己选择
10.查看当前主机RPC状态:
       rpcinfo  -plocalhost

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章