分类:
2005-06-14 09:50:55
基本内容:
NFS的好处
NFS分布式文件系统的基础知识
管理一个NFS服务器
管理一个NFS客户程序
NFS服务器的日值
用solaris控制台管理NFS
检修NFS错误
使用NFS服务的好处在于:
1,允许多台计算机使用相同的文件,因为网络上的所有用户都可以访问相同的数据
2,通过共享应用程序的方式来降低存储成本
3,保证了数据的一致性和可靠性
4,支持不同的使用环境
5,减少了系统管理费用
NFS由SUN公司开发,internet上的计算机使用RPC协议来交流
NFS环境包含NFS服务器和NFS客户程序两个组成部分,通过使用NFS服务器文件,NFS服务器程序和NFS 服务器命令来配置及管理NFS服务器
和NFS服务器相关联的一些重要文件:
/etc/dfs/dfstab:列出了每次系统启动的时候共享的本地资源,如果nfs.server脚本在这个文件里面没有发现任何共享命令,那么就不运行NFS程序.在三种情况下读取/etc/dfs/dfstab文件里面的内容:
1,系统运行级别是3
2,超级用户运行shareall命令
3,超级用户运行# /etc/init.d/nfs.server start
/etc/dfs/sharetab:列出了NFS服务器当前正在被共享的本地资源,注意不要编辑这个文件
# cat /etc/dfs/sharetab
/etc/dfs/fstypes:列出了被远程文件系统使用的默认文件系统类型
/etc/rmtab:列出了挂载在NFS服务器上的远程客户机程序
/etc/nfs/nfslog.conf:列出了使用NFS服务器的一些日志文件
/etc/default/nfslogd:列出了描述nfslogd程序使用情况的一些信息
通过使用/etc/rc3.d/S15nfs.server脚本来运行NFS程序,如果系统运行级别是3并且/etc/dfs/dfstab里面有内容,那么要运行下面这些程序:
mountd,nfsd,statd,lockd,nfslogd
手动开启NFS服务:
# /etc/init.d/nfs.server start
当在运行级别2运行/etc/rc2.d/K28nfs.server脚本或者在运行级别1运行/etc/rc1.d/K28nfs.server脚本或者在运行级别S运行/etc/rcS.d/K28nfs.server脚本或者在运行级别0运行/etc/rc0.d/K28nfs.server脚本,NFS服务程序都会被关闭
或者手动运行命令# /etc/init.d/nfs.server stop来关闭NFS服务程序
有关NFS服务的一些命令:
share:使一个本地目录作为NFS服务器挂载,同时也列出了文件/etc/dfs/sharetab里面的内容
unshare:使之前用于客户程序的挂载的目录不可用
shareall:在/etc/dfs/dfstab文件里面进行读和执行共享文件
dfsshares:共享一个远程或者本地NFS服务器上的资源
dfmounts:列出当前已经挂载上去的NFS服务器目录
当mountd和nfsd程序在运行的时候,可以用share命令来使文件资源可用,通常的格式是:
share [-F nfs] [-o options] [-d description] [pathname]
-F指明文件系统类型,-o是控制客户程序对NFS共享资源的访问,-d是对共享资源做一个描述,pathname是指出共享资源的绝对路径
一些实例:
# share -F nfs -o ro directory
# share -F nfs -o ro,rw=client1 directory(对于client1 用户来说对所共享的资源有读写权限,而对于其他用户来说只有读权限)
# share -F nfs -o root=client2 directory(将root用户对共享资源的所有权限同样赋给client2用户)
# share -F nfs -o anon=0 directory(anon=n的用法:对于不可知的用户来说n就是他们的有效id:EUID,在默认的情况下,不可知的用户被赋予60001这样的EUID,如果n被设置成-1,那么对共享资源的访问就被拒绝)
使用share命令将/etc/dfs/sharetab文件中所有共享资源都罗列出来,例如:
# share
- /export/sys44_data ro " "
dfshares命令使用NFS程序,mountd和nfsd来展示当前共享的NFS资源,常用的格式是:
dfshares [-F nfs] [ host ]
# share -F nfs -o ro /export/sys44_data
# dfshares
RESOURCE SERVER ACCESS TRANSPORT
sys44:/export/sys44_data sys44 - -
用dfshares跟主机名sys42的方式可以得到与上面类似的结果
NFS客户程序文件包括:/etc/vfstab,/etc/mnttab(对当前用户提供只读信息),/etc/dfs/fstypes
NFS客户程序由脚本/etc/rc2.d/S73nfs.client开始,包括:
statd:和lockd程序共同工作来为锁定的manager提供crash恢复机制
lockd:在NFS文件上支持锁定读写操作
当系统进入到运行级别2之后,这两个程序同时自动运行在NFS服务器和NFS客户端上,脚本/etc/rc2.d/S73nfs.client也自动运行,要手动运行这个程序,执行命令:
# /etc/init.d/nfs.client start
当进入到运行级别0的时候,执行脚本/etc/rc0.d/K41nfs.client关闭NFS客户程序,也可手动关闭:
# /etc/init.d/nfs.client stop
NFS客户端命令有:dfshares,mount,umount,mountall,umountall,dfmounts
挂载的一些选项:
rw|ro:默认是rw
bg|fg:如果挂载失败,那么在前台或者后台重试,默认在前台重试
soft|hard:默认是hard.当超时重连次数达到retrans设置的最大数目,那么如果是soft选项,就发出一个错误报告,并停止重试;如果是hard选项,那么给出一个警告之后继续尝试连接
intr|nointr:允许或者禁止键盘在等待的时候执行杀死进程的操作
suid|nosuid:允许或者禁止执行setuid,默认是setuid.
timeo=n:设置超时次数,默认是11,对于TCP和UDP都不尽相同
retry=n:重新执行挂载操作的次数,默认是10000次
retrans=n:重连次数设置,对UDP来说是5,对TCP无效
使用NFS服务器日志的作用是:
1,跟踪远程文件访问过程
2,帮助分析NFS 日常错误
当启用一个NFS服务器日志的时候,NFS 内核模块就将所有有关NFS的操作记录到文件系统的一个缓冲器文件里面.记录的数据包括时间,客户程序的IP地址,客户请求的UID号,正在被访问的文件以及与之相应的文件系统的文件类型
有关NFS日志记录的一些参数:
IDLE_TIME:空闲时间.根据设置的时间来决定每间隔多长时间来检查缓冲器文件,默认的是300秒.提高这个时间可以降低检查的次数
MIN_PROCESSING_SIZE:默认的是524288bytes.设置缓冲器文件在处理和写入日志文件这个过程所需要的最小比特数.
UMASK:默认的是0137
CYCLE_FREQUENCY:设置清除缓冲器文件里面数据的间隔时间,默认的是24小时.使用这个参数的目的是为了防止日志文件变得太大.
MAX_LOGS_PRESERVE:默认是10