NFS Server的建设和使用

网络 网络管理
下面我们主要讲解了在NFS服务器的建设当中,对于NFS Server的服务器端与客户端的一些建立过程。希望对大家有所帮助。

NFS Server是我们在网络上面管理文件方面的一类协议。那么对于这类协议的使用,我们需要了解在服务器建设和管理当中需要注意的问题。首先让我们看一下NFS Server端的设定吧。

NFS Server端的设定

NFS Server端的设定,首先需要确认Linux主机是否可以支持NFS这项服务,然后再设定使用者的来源IP或主机名称以及共享出去的目录权限.

那么,在Client PC怎么使用这个共享出来的目录呢?首先以showmount检查Linux Server是否有可以使用的 NFS目录.如果有就将它mount在本机上面,这样就可以使用NFS Server主机提供的资源了.

1.系统要求

除了前面已经提到的两个系统守护进程portmap与nfs-utils之外,内核(Kernel)版本***高于2.2.18.此外,如果重新编译过内核,一定要选择支持NFS.

2.etc/exports

编辑 /etc/exports文件:

  1. # vi /etc/exports  
  2. /usr/src/sys -maproot=daemon host2  
  3. /usr/ports -ro -network 192.168.1.0 

从上面这个例子中可以看出exports文件的格式,首先是定义要共享的文件目录,必须使用绝对路径,而不能使用符号连接.后面就是对这个目录进行访问限 制的参数,用于保证安全性.***行设置中,将/usr/sys/src目录共享出去,但限制客户机上的root用户等价于本机上的daemon用户,以避 免客户机上的root用户拥有这个服务器上的root权力进行非法操作;此后的host2参数是主机名,这就限制只有host2才能共享这个 /usr/sys/src目录;第三行设置共享了/usr/ports目录,但限制为只允许读取,并且也只有192.168.1.0网络上的计算机才能访 问这个共享目录.

◆ rw 可擦写的权限.

◆ ro 只读的权限.

◆ no_root_squash 当登入NFS主机使用共享之目录的使用者如果是root时,那么这个使用者的权限将被转换成为匿名使用者,通常它的UID与GID都会变成nobody身份.

◆ root_squash 登入NFS主机使用共享目录的使用者,如果是root,那么对于这个共享的目录来说,它就具有 root的权限.

◆ all_squash 不论登入NFS使用者的身份为何,它的身份都会被转换成为匿名使用者,通常也就是nobody.

◆ anonuid 通常为nobody,当然也可以自行设定这个UID的值,UID必须存在于/etc/passwd当中.

◆ anongid 同anonuid,但是变成group ID就是了.

◆ sync 资料同步写入到内存与硬盘当中.

◆ async 资料会先暂存于内存当中,而非直接写入硬盘.

3.激活服务portmap和nfsd

  1. #/etc/rc.d/init.d/portmap start (or:#service portmap start)  
  2. #/etc/rc.d/init.d/nfs start (or:#service nfs start) 

portmap激活之后,就会出现一个端口号为111的sunrpc的服务.至于nfs则会激活至少两个以上的系统守护进程,然后就开始监听Client PC的需求,用cat/var/log/messages可以看到操作是否成功:

  1. #cat /var/log/messages  
  2. Nov 16 15:04:45 cao portmap: portmap startup succeeded  
  3. Nov 16 15:04:53 cao nfs: Starting NFS services: succeeded  
  4. Nov 16 15:04:54 cao nfs: rpc.rquotad startup succeeded  
  5. Nov 16 15:04:54 cao nfs: rpc.mountd startup succeeded  
  6. Nov 16 15:04:54 cao nfs: rpc.nfsd startup succeeded 

4.exportfs

如果修改了/etc/exports这个文件后,不需要重新激活nfs,只要重新扫瞄一次/etc/exports的文件,并且重新将设定加载即可:

  1. # exportfs [-aruv] 

参数说明:

  1. -a 全部挂载(或卸载) /etc/exports 文件内的设定 .  
  2. -r 重新挂载/etc/exports里的设定,此外,亦同步更新/etc/exports及/var/lib/nfs/xtab的内容.  
  3. -u 卸载某一目录.  
  4. -v 在export的时候,将共享的目录显示到屏幕上. 

5.检验目录/var/lib/nfs/xtab

检验所共享的目录内容,查看/var/lib/nfs/xtab这个文件:

# vi /var/lib/nfs/xtab
/home/cao 192.168.0.1(rw,sync,wdelay,hide,secure,root_squash,
no_all_squash,subtree_check,secure_locks, mapping=identity,anonuid=-2,
anongid=-2)

这就是/home/cao这个共享出去的目录预设NFS里面的属性.

6.showmount

  1. # showmount [-ae] hostname 

参数说明:

-a 在屏幕上显示目前主机与Client所连上来的使用目录状态 .

-e 显示hostname这部机器的/etc/exports里面的共享目录.

当要扫瞄某一主机所提供的NFS共享的目录时,就使用showmount -e IP(或主机名称hostname)即可.

7.观察激活的端口号

  1. # netstat -utln  
  2. Active Internet connections (only SERVERs)  
  3. Proto Recv-Q Send-Q Local Address Foreign Address State  
  4. tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN <== portmap  
  5. tcp 0 0 0.0.0.0:817 0.0.0.0:* LISTEN <== rpc.xxxx  
  6. tcp 0 0 0.0.0.0:1266 0.0.0.0:* LISTEN <== rpc.xxxx  
  7. udp 0 0 0.0.0.0:2049 0.0.0.0:*           <== nfs 的 port  
  8. udp 0 0 0.0.0.0:814 0.0.0.0:*           <== rpc.xxxx  
  9. udp 0 0 0.0.0.0:1327 0.0.0.0:*           <== rpc.xxxx  
  10. udp 0 0 0.0.0.0:111 0.0.0.0:*           <== portmap 

nfs所开启的端口是2049,其它的端口是RPC Server其它程序(例如rpc.mountd、rpc.rquotad、rpc.nfsd... )随机产生的,也就是端口号不会是固定的,每次restart nfs都会得到不一样的端口号.

8. 停止NFS服务

  1. # /etc/rc.d/init.d/portmap stop 

#p#Client端PC的设定

1.扫瞄可以使用的NFS Server目录

在Client本地端建立mount point,使用mount将远程主机共享的目录挂载进来.假设主机名称是www.cao.net,使用showmount查看NFS Server可以共享的目录.然后将/home/public挂载在 /home/nfs/public下:

  1. # showmount -e www.cao.net  
  2. Export list for localhost:  
  3. /tmp *  
  4. /home/linux *.cao.net  
  5. /home/public (everyone)  
  6. /home/cao 192.168.0.1 

2.挂载/home/public目录

首先建立这个目录,然后再利用mount指令来挂载/home/public目录:

  1. # mkdir -p /home/nfs/public  
  2. # mount -t nfs CAO.linux.org:/home/public /home/nfs/public 

挂载的格式:

  1. # mount -t nfs hostname(orIP):/directory/mount/point  
  2. # df  
  3. Filesystem 1K-blocks Used Available Use% Mounted on  
  4. /dev/hda1 1904920 1235380 572776 68% /  
  5. /dev/hdb1 976344 115212 810736 13% /backup  
  6. www.cao.net:/home/public 1904920 1235376 572776 69% /home/nfs/public 

将资料挂载进来后,只要进入/home/nfs/public目录,就等于到了www.cao.net那部NFS Server的/home/public 目录中.

3.卸载使用umount

  1. # umount /home/nfs/public 

关机时如果NFS Server上面还有Client联机,建议NFS Server关机之前,要先关掉portmap与nfs这两个系统服务.如果无法正确地将这两个系统服务关掉,那么先以netstat -utlp找出PID,然后使用kill杀掉进程,这样才能正常关机.

责任编辑:佟健 来源: IT专家网
相关推荐

2010-07-27 10:38:02

NFS ServerNFS Client

2010-08-03 11:17:31

AIX 5LNFS Server

2010-07-27 16:08:16

NFS Server

2010-07-27 13:07:23

NFS Server

2010-08-06 13:28:01

NFS Server

2010-07-27 16:25:50

2010-08-03 16:22:51

NFS SERVER

2010-08-03 15:37:43

Linux NFS服务

2010-08-03 17:07:55

NFS服务器

2010-08-05 09:36:03

NFS服务

2010-07-27 13:53:23

NFS服务器

2010-08-06 12:34:15

NFS ServerClient

2010-07-27 10:28:44

2009-09-17 13:16:57

NISNFS管理Unix网络

2009-09-16 08:55:07

2009-09-01 10:14:16

samba

2010-07-27 16:22:14

NFS Server

2010-08-05 13:23:05

NFS协议

2010-08-04 13:02:30

NFS服务

2010-07-27 13:32:24

Linux NFS
点赞
收藏

51CTO技术栈公众号