Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1207543
  • 博文数量: 322
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3276
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-17 09:21
文章分类

全部博文(322)

文章存档

2010年(155)

2009年(167)

我的朋友

分类: LINUX

2010-01-17 11:54:24

??NFS文件共享
??平台:
??介绍:
??NFS是网络文件系统(Network File System)的简称,是分布式计算系统的一个组成部分,可实现在异种网络上共享和装配远程文件系统。NFS由Sun公司开发,目前已经成为文件服务的一种标准(RFC1904,RFC1813)。其最大的功能就是可以通过网络,让不同操作系统的计算机可以共享数据,所以也可以将它看做是一个文件服务器。
??
??原理:
??在nfs服务器上启动nfsd和rpc两个daemon, 一个是用来管理client端等入主机的权限。另一个是管理nfs文件系统。在激活rpc服务时,必须要打开相应的端口,所以要启动portmap。
??Nfs服务的配置:
??1 服务器端配置:(设ip:192.168.66.141)
??先确认nfs服务是否安装(一般系统默认安装):#rpm –qa nfs*
??若已经安装,就是要配置输出目录,这些内容决定了nfs服务器共享的目录和那些ip能访问。路径是在/etc/exports文件里边:
??# vi /etc/exports
??/home/share 192.168.66.0/24(rw,async,root_squash) *(ro) #共享/home/share目录下的文件给192.168.66网段的主机,后面的为文件的操作。如果有多个共享文件,就逐一加入exports文件中。修改了/etc/exports后,并不需要重启nfs服务,只要用exportfs重新扫描一次/etc/exports,并且重新加载即可。
??用命令 # showmount –a 可以查看那些ip可以访问nfs的共享文件。
??在客户端mount上共享文件后,/var/lib/nfs/etab里面可以查看每个目录的分享权限.
??如:
??/home/share 192.168.66.0/24(rw,async,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,subtree_check,secure_locks,mapping=identity,anonuid=-2,anongid=-2)
??
??2 启动nfs服务:
??# /etc/rc.d/init.d/portmap start
??# /etc/rc.d/init.d/nfs start
??启动nfs的系统服务后,与其有关的进程有8个,用命令:
??# ps –aux |grep nfsd
??加上grep操作,关于nfsd的进程就有9个了,nfs服务启动成功。
??也可以设置成开机自动启动:# ntsysv 在对应的nfs服务前加上*号。服务器在重起后自动启动。
??
??3 客户端配置(设ip:192.168.66.142)
??确认客户端已安装nfs服务,做如下操作查看共享目录
??# showmount –e (这个参数e只能在客户端使用,a在服务器端使用)
??新建挂载目录:mkdir /home/mysql nfs服务器上的共享文件将被挂载到该目录下
??
??4 客户端挂载\卸载
??mount -t nfs 192.168.66.141:/home/share/ /home/mysql/
??umount /home/mysql
??
??PS:
??1 服务器端/etc/exports设置格式和参数说明:
??格式:
??共享的目录 主机名称1或IP1(参数1,参数2) 主机名称2或IP2(参数3,参数4)
??参数:
??rw: 可擦写的权限
??ro: 只读的权限
??no_root_squash: 登入 NFS 主机使用分享目录的使用者,如果是 root的话,那么对于这个分享的目录来说,他就具有 root 的权限!不建议使用!
??root_squash: 在登入 NFS 主机使用分享之目录的使用者如果是 root时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个身份;
??all_squash: 不论登入 NFS 的使用者身份为何,他的身份都会被压缩成为匿名使用者,即nobody
??sync: 资料同步写入到内存与硬盘当中
??async: 资料会先暂存于内存当中,而非直接写入硬盘
??例如:
??/tmp *(rw,no_root_squash) //*号表示所有的IP都可以访问
??/home/test 192.168.0.100(rw) //只对某部机器设置权限
??
??2 可能出现的问题
??A 权限的设定不适当导致客户端操作报错。
??B 没有激活portmap,此时会报错: mount to nfs server '192.168.66.141' failed: server is down
??或者:ount: RPC: Port mapper failure - RPC: Unable to receive
??或者:mount: RPC: Program not registered
??重起portmap和nfsd。#service portmap start
??C 防火墙问题:包括iptables与TCP_Wrappers
??激活了portmap,111端口必须开放,在iptable增加:
??iptables -A INPUT -p TCP --dport 111 -j ACCEPT
??iptables -A INPUT -p UDP --dport 111 -j ACCEPT
??如果还不行,那就是TCP_Wrappers的问题,检查/etc/hosts.deny,如果有一行是:
?? ALL: ALL: deny
??那就必须在/etc/hosts.allow中增加:
??portmap: ALL: allow或者
??portmap: 192.168.0.0/255.255.255.0 :allow
??portmap: 192.168.66.142 :allow
阅读(1382) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-03-23 12:45:29

如果您有一技之长,请到淘师宝发帖子收徒弟; 如果您想学习一门技能,请到淘师宝发帖子拜师傅; 拜师傅,收徒弟,到淘师宝,网址:www.taoshibao.com