heshufeng的个人空间 https://blog.eetop.cn/76632 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

Linux下NFS服务器的配置

已有 5199 次阅读| 2012-3-17 11:34 |个人分类:linux

Linux下NFS服务器的配置

类型:System V-launched Service
软件包:nfs-utils
进程:nfsd,lockd,rpciod,rpc.{mounted,rquotad,statd}
脚本:nfs,nfslock
端口:由portmap服务指派端口(111) 
配置文件:/etc/exports 
辅助工具:portmap(必须)
相关命令:rpcinfo -p [IPADD]:查看服务器提供的rpc服务
          showmount -e:查看服务共享的目录
Server端:
1./etc/exports格式:
            目录                     选项             
例:共享/share目录给192.168.0.x的用户
           /share                192.168.0.0/24 (rw)  
2.启动portmap服务:                                    
    service portmap start[restart]                     
3.启动NFS服务:
    service nfs start[restart]                         
Client端
1.启动portmap服务:                                    
    service portmap start[restart]                     
2.挂载服务器端的共享目录(假设服务器端192.168.0.1):    
    mount -t nfs 192.168.0.1:/share  /mnt/localshare   
nfs配置 
发表:2004-6-10 13:09:22 出处:
你的博客网(yourblog.org)

1. 查看系統有沒有nfs功能 
cat /proc/filesystes 
2. ntsysv 命令選中nfs 
service nfs restart,看能否啟動,如不能正常,可以查看相應的出錯信息 
tali /var/log/messages 
3. 配置/etc/exports 
eg: /home/mis    *(rw) 
此文件是配置相關的文件和一些權限,上面的設置表示,所有的用戶對/home/mis都有讀寫的權限 
4. 執行exportfs -a 表示將所有的更新. 
5. service nfs restart 
6. 執行mount命令 
eg: mount 10.0.1.153:/home/mis  /mnt/mis 
7. 常用的命令 
showmount 
repcinfo 
8. 如果在開機時就加載,可在/etc/fstab中加入 
ip:/home.mis   /mnt/mis nfs intr 

Linux下NFS网络文件系统设定及管理 
      05/08/02 08:52 PM 

Edit   

Reply   

Quote   
http://www.linuxcenter.com.tw/ 作者:Juili Chiu (2001-06-07 11:00:01) 
简介: 
NFS 最初是由 Sun Microsytem 公司於 1984 年所开发出来的,最主要的功能就是让网路上的 UNIX 电脑可以共享目录及档案。我们可以将远端所分享出来的档案系统,挂载 (mount) 在本地端的系统上,然後就可以很方便的使用远端的档案,而操作起来就像在本地操作一样,不会感到有甚麽不同。而使用 NFS 也有相当多的好处,例如档案可以集中管理,节省磁碟空间......等等。 
安装 NFS: 
大部份的 Linux Distribution 安装时都会将 NFS 安装上去,在 OpenLinux 上,NFS 由两个 RPM 套件所组成,分别为 nfs 及 nfs-server,nfs 主要包括一些 client 端所需要的程式,而 nfs-server 主要是 NFS Server 的一些 daemon 程式。 
设定 NFS: 
设定档:/etc/exports 
设定档格式:档案系统 [主机][选项] 
例: 
/ charlie(ro) john(rw,no_root_squash) 
/tmp pc*.col.com.tw(rw) 172.29.0.0/255.255.0.0(ro) 
/pub (ro) 
/pub/private (noaccess) 
选项说明: 
ro read only 
rw read write 
no_root_squash 信任客户端,对应 UID 
noaccess 客户端不能使用 
启动及结束 NFS 的服务: 
设定档更改後,一定要记得重新启动 NFS 的服务,启动及停止的方式如下: 
# /etc/rc.d/init.d/nfs [ start | stop | restart | reload ] 
start 启动 NFS 服务 
stop 停止 NFS 服务 
restart 停止并重新启动 NFS 服务 
reload 重新载入 NFS 设定值 
客户端使用 NFS: 
1.查看 NFS 的服务: 
client 要查看 Server 有提供哪些 NFS 服务,可以使用 showmount 这个指令。 
# showmount -e 可看有分享哪些目录 
# showmount -a 可看出所有的 mount 
2.连接 NFS Server: 
要使用 NFS server 上的资源,使用 mount 指令就可以了。 
# mount -t nfs hostname:/shared_dir 
例: 
# mount -t nfs 192.168.1.100:/tmp /mnt/nfs 
3.开机时自动连上 NFS: 
如果希望开机的时候,系统就自动挂载 NSF,则需要编辑 /etc/fstab 档。 
例: 
192.168.1.100:/tmp /mnt/nfs nfs defaults 0 0 


8.启动服务portmap,nfs
#/etc/rc.d/init.d/portmap start  (or:#service portmap start)
#/etc/rc.d/init.d/nfs start   (or:#service nfs start)
可以到/var/log/messages里面查看是否正确激活
9.exportfs的用法
如果我们修改了/etc/exports后,并不需要重启nfs服务,只要用exportfs重新扫描一次/etc/exports,并且重新加载即可
语法: exportfs [-aruv]
-a: 全部挂载(或卸载) /etc/exports档案内的设定
-r: 重新挂载/etc/exports里面的设定,也同步的更新/etc/exports和/var/lib/nfs/xtab里面的内容
-u:卸载某一目录
-v:在export的时候,将分享的目录显示到荧屏上.
例子
#exportfs -rv //重新export一次
#exportfs -au //全部卸载
10./var/lib/nfs/xtab里面可以查看每个目录的分享权限(但是我怎么也没有找到,靠,找到了,原来要有人mount上nfs后才会出现内容),如:
/tmp    node3(ro,sync,wdelay,hide,secure,root_squash,no_all_squash,subtree_check,secure_locks,mapping=identity,anonuid=-2,anongid=-2)
为什么anonuid=-2呢?呵呵!其实它说的是将 65536 - 2 的值,也就是 65534 的那个 UID 啦!对照一下 /etc/passwd ,你就会发现,哇!原来那就是 nobody 的啦
11.showmount命令
语法: showmount [-ae] hostname
-a: 显示目前主机与client所连上来的使用目录的状态
-e: 显示hostname的/etc/exports里面共享的目录
12.查看激活的portnumber
#netstat -utln
nfs 自己所开启的 port ,就是那个 2049 的 port 啦!就是 NFS 主要产生的 port NFS server 在前面我们就提过了,他是 RPC server 的一种,而 NFS 由于提供了多个 program ( 例如 rpc.mountd, rpc.rquotad, rpc.nfsd... ) ,因此就需要激活多个 port 了!而且这些 port 是『随机产生的』,也就是那个 port number 不会是固定的啦!每次 restart nfs 都会得到不一样的 port number 呢!那么 Client 端怎么知道要连接上那个 port 来呼叫需要的 program 呢?呵呵!那就是 sunrpc ( port 111 ) 那个 portmap 服务所产生的 port number 的功用啦!Client 会先连接到 sunrpc 那个 port 去知道应该到那个 port 去呼叫所需要的程序!所以啰, rpc.xxxx 等之类的 daemon 自然就不需要有固定的 port number 啰!
***********************************************
NFS客户端的设定
#mount -t nfs hostname(orIP):/directory /mountpoint   搞定,就这么简单
为了担心会不小心将 NFS 端挂进来的具有 SUID 权限档案的程序执行,root可以将NFS 所分享的目录以较为安全的情况挂载进来,可以
#mount -t nfs -o nosuid,ro hostname:/directory /mountponit
可能出问题的地方:
1.权限的设定不符合
2.忘记了激活portmap,此时会报错:
mount: RPC: Port mapper failure - RPC: Unable to receive 或者
mount: RPC: Program not registered
那么,启动portmap,并且重新启动nfs
#service portmap start
#service nfs restart
3.被防火墙搞掉
重新设置防火墙,包括iptables与TCP_Wrappers,因为激活了portmap,所以port 111必须提供出去.因此在iptables rules中,要增加:
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
如果我们的NFS针对内部网络开发,对于外部网络只对学术网络开发(140.0.0.0/8),可以:
  iptables -A INPUT -i eth0 -p TCP -s 192.168.0.0/24 --dport 111 -j ACCEPT
  iptables -A INPUT -i eth0 -p UDP -s 192.168.0.0/24 --dport 111 -j ACCEPT
  iptables -A INPUT -i eth0 -p TCP -s 140.0.0.0/8 --dport 111 -j ACCEPT
  iptables -A INPUT -i eth0 -p UDP -s 140.0.0.0/8 --dport 111 -j ACCEPT
还可以使用TCP_Wrappers,在/etc/hosts.allow里面规定连上 NFS 主机的主机 IP 与名称,例如
#vi /.etc/hosts.allow
portmap: 192.168.0.0/255.255.255.0 :allow
portmap: 140.113.23.23    :allow
portmap: .sdu.edu.cn    :allow

RPC Server的相关命令
rpcinfo
#rpcinfo -p hostname(orIP)

要注意的问题:
需要注意的是,由于 NFS 使用的这个 RPC 在 client 端连上主机时,那么你的主机想要关机,那可就会成为『不可能的任务』!我还不知道正确的原因是什么,但是,如果你的 Server 上面还有 Client 在联机,那么你要关机,可能得要等到数个钟头才能够正常的关机成功!嗄!真的假的!不相信吗?不然您自个儿试试看! ^_^!所以啰,建议您的 NFS Server 想要关机之前,能更先『关掉 portmap 与 nfs 』这两个东西!如果无法正确的将这两个 daemons 关掉,那么先以 netstat -utlp 找出 PID ,然后以 kill 将他关掉先!这样才有办法正常的关机成功喔!这个请特别特别的注意呢!

在TurboLinux8.0 for AMD64 (kernel 2.4.21-4smp),mount NFS时候报错为:
  portmap: server localhost not responding, timed out 
解决办法:
  mount -t nfs -o nolock node1:/public /public
即增加-o nolock参数,原因:
Unfsd doesn't support NLM locking, and it's causing the lockd daemon to be started (which again requires the portmapper to be installed etc.)



构建Linux上的NFS服务器(1)
文章来源: 开放系统世界 
2003-11-29 11:01:29

  NFS是网络文件系统(Netwo
种网络上共享和装配远程文件系
RFC1813)。其最大的功能就是
做是一个文件服务器(见图1所
方法。
rk File System)的简称,是分布式
统。NFS由Sun公司开发,目前已经成
可以通过网络,让不同操作系统的计
示)。NFS提供了除Samba之外,Wind
计算系统的一个组成部分,可实现在异
为文件服务的一种标准(RFC1904,
算机可以共享数据,所以也可以将它看
ows与Linux及Unix与Linux之间通信的
   

  图1 NFS Server和Client PC示意图                                      
  Client端PC可以挂载NFS Se
,可以使用cp、cd、mv、rm、df
传送或者其它相关讯息传递的时
Call, RPC)的协议来协助NFS Se
rver所提供的目录,并且挂载之后这
等磁盘相关的指令。NFS有属于自己
候,NFS Server使用的则是一个称为
rver本身的运作。
个目录看起来就像本地的磁盘分区一样
的协议与使用的端口号码,但是在资料
远程过程调用(Remote Procedure 
  NFS本身的服务并没有提供
它相关的传输协议,而这些传输
一个RPC Server。需要说明的是
样Server端和Client端才能根据
资料传递的协议,但是它却能进行文
的协议就是远程过程调用(Remote Pr
,要挂载NFS Server的Client PC主
远程过程调用协议进行数据共享。
件的共享。原因就是NFS使用到一些其
ocedure Call, RPC)。NFS也可以视为
机,也需要同步启动远程过程调用。这
  使用NFS Server需要启动至少两个daemons(
的问题,另一个管理登入主机后的Client PC能够
系统守护进程),一个用来管理Client PC是否可以登入
使用的文件权限。说明如下:
  ◆ rpc.nfsd 它的主要的功能就是管理Client
端PC登入主机的权限,其中包含这个登入者的ID的判别。
  ◆ rpc.mountd 它的主要功
,在使用NFS Server提供的文件
Client端PC的权限。
能是管理NFS的文件系统。当Client 
前,还必须取得使用权限的认证。程
PC顺利地通过rpc.nfsd而登入主机之后
序会读NFS的/etc/exports来比对
  要激活NFS必须要有两个系统服务才行,它们
RPC Server,要激活任何一个RPC Server之前,需
portmap这个服务所负责的。nfs-utils就是提供rp
文件等的系统服务。
分别是portmap和nfs-utils。NFS其实可以被视为一个
要做好端口的对应 (Mapping)工作才行。这个工作就是
c.nfsd及rpc.mountd这两个NFS daemons与其它相关说明
  NFS Server端的设定
  NFS Server端的设定,首先
或主机名称以及共享出去的目录
需要确认Linux主机是否可以支持NFS
权限。
这项服务,然后再设定使用者的来源IP
  那么,在Client PC怎么使
使用的 NFS目录。如果有就将它
用这个共享出来的目录呢?首先以sh
mount在本机上面,这样就可以使用N
owmount检查Linux Server是否有可以
FS Server主机提供的资源了。
  1.系统要求
  除了前面已经提到的两个系
此外,如果重新编译过内核,一
统守护进程portmap与nfs-utils之外
定要选择支持NFS。
,内核(Kernel)版本最好高于2.2.18。
  2.etc/exports
  编辑 /etc/exports文件:                                                      
  # vi /etc/exports                                                        
  /usr/src/sys -maproot=daemon host2             

点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 2

    粉丝
  • 1

    好友
  • 2

    获赞
  • 2

    评论
  • 1294

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-27 14:12 , Processed in 0.029740 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部