e-works数字化企业网  »  文章频道  »  基础信息化  »  终端和服务器

RHEL5下NFS服务器的配置与研究

2012/7/21    来源:万方数据    作者:陈欣      
关键字:服务器配置  NFS  RPC  Linux  showmount  
NFS主要是一个基于UNIX/Linux网络系统的文件共享服务器,NFS允许用户连接到一个共享位置,然后对该位置上的文件及文件夹进行操作,类似于Windows系统中的“网上邻居”。本文旨在从初学者的角度出发,研究了NFS服务器的配置与管理方法。

    Samba服务器可以实现Windows/Unix网络系统的文件共享,而在UNIX/Linux网络系统中,我们使用NFS服务器来实现文件系统的共享。NFS客户端可以将服务器共享文件系统挂载到本地系统中,从而可以像使用本地文件一样使用远程系统中的文件。

1 NFS的简介及工作原理

    NFS是sun公司在1984年开发出来的,是分布式计算机系统的一个组成部分,目前已经成为文件服务的一种标准。NFS主要在不同操作系统之间的交互使用,所以其通信技术与主机和操作系统无关,通过NFS可在网络中的Unix和Linux操作系统间共享数据,NFS将远程网络中的主机中的文件挂载到本机中,客户端可以使用复制、移动等命令对文件进行操作。

    NFS本身并不提供数据传输服务的功能,必须借助于RPC协议来实现数据的传输,RPC定义了一种进程间通过网络进行交互通信的机制,RPC允许客户端通过网络向远程服务器发出请求,而不需要了解底层通信协议的细节。当发生数据传输时,NFS服务器将起到RPC服务器的作用,而NFS客户端类似于RPC客户端,这样,NFS服务器和客户端就可以通过RPC协议进行数据传输。

    NFS服务的工作原理如下:

    1)当NFS启动时,会自动选择工作端口1011(小于1024),同时注册于RPC(工作小于111端口),RPC进行记录。

    2)当客户端需要NFS提供服务时,其会向工作小于111端口的RPC查询NFS提供某个具体功能的端口。此时RPC对客户端提出的要求做出相应,告诉此次NFS工作于1011端口,客户端得到响应后,将直接访问NFS服务器的1011端口,以请求服务。

    3)经过权限认证后的NFS服务将允许客户端对其数据进行访问。

2 NFS服务器的安装与启动

    启动NFS服务器:

    #service nfs start

    #service portmap start

    如果系统显示没有安装NFS服务器,需要在RHEL5第二张安装光盘中安装以下文件:

    #rpm -ivh portmap-4.0-65.2.2.1.i386.rpm

    #rpm -ivh nfs-utils-1.0.9-16.el5.i386.rpm

    如果要关闭Samba服务器:

    #service nfs stop

    #service portmap stop

3 NFS服务器的基本配置

    3.1NFS服务的主配置文件

    默认情况下,RHEL5中会在/etc目录下创建一个空白的主配置文件exports,即没有任何的共享目录在配置NFS服务器时需要对其进行手工编辑。

    exprots文件中每一行提供了一个共享目录的设置,其命令格式为:

    <输出目录> [客户端1(选项1,选项2,…)][客户端2(选项1,选项2,…)]

    可以设定的参数主要有以下这些:

    rw:可读写权限。

    ro:只读权限。

    async:资料会先暂时存放在内存中,不会直接写入硬盘。

    sync:资料同步写入存储器中。

    no_root_squash:登录NFS主机的用户如果是ROOT用户,他就拥有ROOT的权限,此参数很不安全,建议不要使用。

    root_squash: 将root用户及所属用户组都映射为匿名用户或用户组(默认设置)。

    all_squash:不管登陆NFS主机的用户是什么都会被重新设定为nobody。

    anonuid:将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中。

    anongid:作用同anonuid,只是用户ID变成了组ID。 

    3.2NFS服务配置实例

    1)/home/public 192.168.1.0/24(rw,async) *(ro)

    在192.168.1.0/24这个网段,Client端挂载了Server端的/home/public后,具有可以读写的权限,而其他网络中的客户机只有读权限。

    2)/home/jack 192.168.1.100(rw,sync)

    对于输出目录/home/jack,只有IP地址为192.168.1.100的客户可以进行读写操作。

    3)/home/root *.wtcjsj.net(ro,no_root_squash)

    对于输出目录/home/root,wtcjsj.net域中的所有客户都可以进行读写操作,并不将root用户映射到匿名用户。

    4)/home/users *.wtcjsj.net(rw,insecure,all_squash,sync,no_wdelay)

    对于输出目录/nfs/users ,wtcjsj.net域中的所有客户都可以进行读写操作,并且将所有用户映射为nfsnobody。

    5)/mnt/cdrom 192.168.1.*(ro)

    对于输出目录/mnt/cdrom,子网192.168.1.0/24中的所有用户都可以进行读写操作。

4客户端访问NFS服务器

    1)列出目标主机共享资源列表 #showmount -e NFS服务器IP地址常用的选项有:

    a:显示指定的NFS服务器的所有客户端主机及其所连接的目录;

    d:显示指定的NFS服务器中已被客户端连接的所有输出目录;

    e:显示指定的NFS服务器上所有输出的共享目录。

    查看IP地址为192.168.1.100的NFS服务器的共享资源。

    showmount -e 192.168.16.100

    2)挂载NFS服务器上的输出目录的命令格式为:

    # mount-tNFS服务器IP地址输出目录 本地挂载目录。

    输出目录:指定nfs服务器的主机名和共享资源路径。

    本地挂载目录:指定共享资源在本地的mount点。

    加载IP地址为192.168.1.100的NFS服务器/home/public共享目录到本机上的/mnt/jsj目录。

    ①创建本地/mnt/jsj目录来加载NFS服务器的输出目录。

    mkdir /mnt/jsj

    ②使用mount命令加载服务器输出目录。

    mount -t nfs 192.168.1.100:/home/public /mnt/jsj

    3)要将NFS服务器(192.168.1.100)上的/home/public共享目录,在计算机启动时自动挂载到该机上的/mnt/jsj目录,可在/etc/fstab文件中加入下面的语句。

    192.168.1.100:/home/public /mnt/jsj nfs defaults 0 0

    4)取消远程主机上的//home/public目录在本地/mnt/jsj上的共享。

    # umount  /mnt/jsj

责任编辑:赵蔓
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐