Chinaunix首页 | 论坛 | 博客
  • 博客访问: 117970
  • 博文数量: 31
  • 博客积分: 781
  • 博客等级: 军士长
  • 技术积分: 350
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-30 16:52
文章分类

全部博文(31)

文章存档

2014年(1)

2012年(9)

2011年(21)

分类: LINUX

2011-05-20 15:20:47

NFS是一个流行的基于TCP/IP网络的文件共享协议,最早由Sun公司所开发,让不同计算机的不同操作系统之间彼此共享文件。并被Linux系统完美继承

NFS服务简介
使用NFS可以让磁盘空间得到较高的使用率,让本地工作站使用更少的磁盘空间。另外,使用NFS,用户不必每个机器都设置home

目录,可以放在NFS服务器上。
当Linux计算机每次启动时就自动挂载Server1上的/export/nfs分区,该分区为共享分区,可以当作本地磁盘使用
#mount Server1:/export/nfs /home/Jim/nfs

NFS服务的组件
NFS服务主要有rpc.nfsd进程、rpc.mounted进程两个必需进程和三个可选进程组成
rpc.nfsd进程,用于对客户端登录主机的权限进行验证,同时负责处理NFS请求
rpc.mounted进程,当客户端成功登录主机后,该进程会根据/etc/exports文件检查客户端是否有访问NFS服务器上的资源权限。
rpc.quotad进程:提供了NFS和配额管理程序之间的接口。
rpc.locked进程:处理崩溃系统的锁定恢复问题,避免多个用户同时操作一个文件时发生的问题
rpc.statd进程,处理客户端与服务器间的文件锁定问题以确保文件的一致性

RPC简介
NFS不同于其他服务,没有固定的端口,因为组件多,需要的端口过多,随意取用小于1024端口来提供服务
客户端不确定访问哪个端口能获得NFS服务,所以RPC服务解决该问题。RPC服务最主要的功能是记录NFS功能所对应的端口,NFS服务器启动时,会告诉RPC服务,把自己各个功能使用的端口提供给RPC。RPC工作于111端口。
注:RPC服务优先与NFS服务器启用。

安装并配置NFS服务
1、安装NFS服务
要启动NFS服务,必须具有portmap(负责端口映射工作)和nfs-utils(提供rpc.nfsd和rpc.mounted)两个套件。
为了避免使用过程中出现错误,建议查询一下NFS的各个程序是否运行:
#rpdinfo -p   ;检查是否有nfsd和mounted进程
2、配置NFS服务
创建配置文件(/etc/exports,/etc/hosts.allow和/etc/hosts.deny)
(1)创建/etc/exports文件的文件格式
在Linux OS中没有主动提供/etc/exports文件,此时需要用户自己手动创建,每个基本条目格式
<目录>             <主机     (选项1,选项2)>
共享的目录全路径     允许访问的客户端主机  限制参数
限制参数:rw   ro   sync(数据同步写到内存与硬盘)
#vi /etc/exports
/tmp     192.168.0.8/24(ro)   localhost(rw)     *(ro,sync)
注:如果仅改变了/etc/exports文件的内容,则无需重启服务,执行如下指令即可生效:
#exportfs -arv
-a  输出在/etc/exports中设置的所有目录
-r  重新读取
-u  停止某一共享目录
-v  回显所设置的共享目录
(2)当服务请求到达服务器时,TCP wrapper按照如下顺查询这两个文件,进行匹配
先在/etc/hosts.allow里面进行匹配,后在/etc/hosts.deny里
如果相应的配置文件不存在,则清除所有访问控制配置功能
配置文件的基本格式:
程序名列表:主机名/IP地址列表
另外,在所有的配置完成后,执行tcpdchk命令检查TCP_WRAPPERS配置的程序
#tcpdchk
3、NFS文件的存取权限
(1)root账号会改为匿名用户,只能访问匿名资源
(2)NFS服务器上有客户端的账号,客户端根据UID和GID访问NFS服务器资源
(3)无账号,访问匿名资源

启动与停止NFS服务器
#service portmap start
#service nfs start
检查portmap和nfs服务的运行状态
#service portmap status
#service nfs status

在客户端挂载NFS文件系统
1、查看NFS服务器信息
#showmount -e 192.168.0.16
-a  查看服务器上的输出目录和所有连接客户端信息,
-d  只显示被客户端使用的输出目录信息
-e  显示服务器上所有的输出目录(共享资源)
注:默认情况下,SELinux会造成客户端访问服务器问题,执行以下命令,避免问题
#setsebool -P portmap_disable_trans=1
#setsebool -P nfs_export_all_pro=1
2、加载NFS服务器共享目录
#mount -t NFS

#mkdir /mnt/nfs
#mount -t nfs 192.168.0.16:/exports/rhel /mnt/nfs
#umount /mnt/nfs
3、自动挂接
#vi /etc/fstab
192.168.0.16:/exports/rhel /mnt/nfs nfs defaults 0 0
重新加载/etc/fstab中定义的文件系统
#mount -a
4、使用时自动挂接
autofs  让用户使用共享资源时自动挂接,能挂接的文件系统类型有smbfs、c等
autofs预先定义一些挂接资源,当客户端访问时才自动挂接,超过默认时间不使用,就会自动卸载
注:autofs的主配置文件是/etc/auto.master,格式如下
Mountpoint map-name



阅读(1685) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~