Chinaunix首页 | 论坛 | 博客
  • 博客访问: 110409
  • 博文数量: 13
  • 博客积分: 530
  • 博客等级: 下士
  • 技术积分: 151
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-13 18:54
个人简介

坚持也是一种胜利!

文章分类

全部博文(13)

文章存档

2012年(1)

2011年(5)

2008年(2)

2007年(5)

分类: LINUX

2012-10-24 16:57:22

1.       关于NFS

NFS就是Network File System的缩写,即网络文件系统。

功能:就是可以通过网络,让不同的机器,不同的操作系统可以彼此共享文档。

NFS的优点:

a)  客户端使用更少的磁盘空间,通用的数据可以通过网络存放到NFS服务端。

b)  类似home目录的形式,可以使用NFS

c)  诸如软驱,CDROM之类的存储设备可以再网络上面被别的机器使用,从而减少整个网络上的可移动介质设备的数量。

网络拓扑:

1. 网络拓扑

2.       关于RPC

RPCRemote Procedure Call的缩写。

RPC的功能:指定每个NFS功能所对应的端口号,并且回报给客户端。

注意点:

         启动NFS前必须先启动RPC,否则NFS无法向RPC注册。

         如果RPC重启,那么它管理的所有服务都需要重启,以便重新向RPC注册。

NFSRPC服务系统操作的相关性

2. NFS RPC 服务及文件系统操作的相关性

a)  客户端会向服务器端的RPC发出NFS档案存取功能的询问要求;

b)  服务器端找到对应的已注册的NFS端口,并转发给客户端;

c)  客户端得到正确端口后,就可以直接与NFS联机了。

RPC启动的守护进程

l  rpc.nfsd:管理客户端是否能够使用服务器文件系统挂载信息等。

l  rpc.mountd:管理NFS的文件系统。

l  rpc.lockd(非必要):NFS的文件锁,必须在客户端和服务端同时启动,并常与rpc.statd同时使用。

l  rpc.statd(非必要):检查文件的一致性,

更多守护进程参考帮助文档。

NFS的文件访问权限

2. NFS 的服务器端与客户端的使用者身份确认机制

         由于NFS本身没有登录身份识别,所有客户端和服务端的用户会存在如下三种情况:

1)  客户端和服务端同时有相同账号和组;

2)  客户端服务端同时具有UID501的账号,则以UID为准。(以UID=501为例)

3)  客户端没有改UID的账号,则客户端身份会被强制变为匿名用户(UID65534

4)  特殊的用户root,默认情况下root会被强制为匿名用户。

注意点:

         NFS服务器有开发可写入的权限(在/etc/exports中设定),

         实际的文件权限具有可写入的权限。

3.       NFS Server端装配

需要的软件:

           CentOS 5.x      

NFS主程序:nfs-utils

RPC主程序:portmap

         CentOS 6.x

                   NFS主程序:ufs-utils

                   RPC主程序:rpcbind

NFS的软件结构:

         主配置文件:/etc/exports

         NFS文件系统维护命令:/usr/sbin/exportfs

         分享资源的登录文档:/var/lib/nfs/*tab,该目录下有两个比价重要的文档:

l  一个是etab:主要记录NFS所分享出来的目录的完整权限设定值;

l  一个是xtab:记录曾经链接到此NFS服务器的相关客户端数据。

客户端查询服务端分享资料的命令:/usr/sbin/showmount

Exports配置文件的语法以及参数:

[root@www ~]# vim /etc/exports/tmp         192.168.100.0/24(ro)   localhost(rw)   *.ev.ncku.edu.tw(ro,sync)[分享目录]   [准许访问的客户端(权限)]  [可用主机名]    [可用通配符]

         关于主机名的使用方式:

1)  IP 192.168.0.10

2)  网段 192.168.1.0/24 192.168.1.0/255.255.255.0

3)  主机名,在/etc/hosts内、或者使用DNS解析,可以支持通配符。

权限方面(更多参数参考man  exports):

         rw              读写,最终能否读写还要与文件系统的rwx以及用户有关;

         ro               只读,最终能否读写还要与文件系统的rwx以及用户有关;

         sync          数据同步写入到内存与硬盘中;

         async        数据先暂存内存中,而非直接写入硬盘;

         no_root_squash       客户端不强制root用户变为匿名用户;

         root_squash              客户端强制root为匿名用户;

         all_squash                 任何用户使用nfs都会强制变为匿名用户;

         anonuid                      自定义UID

         anongid                      自定义GID

         启动NFS

                   CentOS 5.x

                            /etc/init.d/portmap start

                            /etc/init.d/nfs start

                   CentOS 6.x

                            /etc/init.d/rpcbind start

                            /etc/init.d/nfs start

                   启动日志:tail /var/log/messages

                   查看NFS监听端口:

netstat –tulnp|grep –E ‘(rpc|nfs)’

                            rpcinfo –p localhost

                   显示共享目录:showmount –e localhost

                   查看NFS详细权限:tail /var/lib/nfs/etab

                   固定NFS端口

[root@www ~]# vim /etc/sysconfig/nfs

RQUOTAD_PORT=1001   <==约在 13 行左右

LOCKD_TCPPORT=30001 <==约在 21 行左右

LOCKD_UDPPORT=30001 <==约在 23 行左右

MOUNTD_PORT=1002    <==约在 41 行左右

# 删除左边的注释,端口号可以自己设置。

4.       NFS Client装配

手动挂载:

           启动必须的服务:

                    /etc/init.d/rpcbind startCentOS 5.x /etc/init.d/portmap start

                    /etc/init.d/nfslock start(服务端启动该服务则客户端启动,否则不需要启动)

           查看服务端的共享:showmount –e 192.168.1.10(为服务端IP或者主机名)

           挂载:mkdir /home/nfs  mount –t nfs 192.168.1.10:/home /home/nfs

           测试命令:df

           卸载:umount /home/nfs

         客户端挂载参数:

                   SUID  NOSUID:对应系统文件的SUID

                   rw(默认值)  ro:读写权限

                   dev(默认值) nodev:是否保留挂载文档的特殊功能

                   exec(默认值) noexec:是否具有执行文件的执行权限。

                   user nouser(默认值):是否准许使用者进行文档的挂载和卸载功能

                   auto(默认值) noautoauto指的是mount -a

         NFS特殊的挂载参数:

                   fg(默认值) bg:设置挂载为前台执行还是后天执行,

           soft hard(默认值):hard状态,任何一端脱机,则RPC会持续呼叫,直到恢复。soft状态RPC会在time out后重复呼叫。

           intr:使用hard挂载,在加上intr参数,则当RPC持续呼叫中,该次的呼叫是可以被中断的。

           rsize wsize:读出与写入的区块大小,默认 rsize=1024 wsize=1024

无法挂载的可能原因:

1)  客户端测主机名或IP网段是否被准许

2)  服务端或客户端的某些服务未启动

3)  被防火墙挡住了


阅读(2538) | 评论(0) | 转发(0) |
0

上一篇:MYSQL 主从配置详解

下一篇:没有了

给主人留下些什么吧!~~