、NFS包

NFS需要5个RPM,分别是:

setup-*:    共享NFS目录在/etc/exports中定义

initscripts-*: 包括引导过程中装载网络目录的基本脚本

nfs-utils-*:  包括基本的NFS命令与监控程序

portmap-*:   支持安全NFS RPC服务的连接

quota-*:    网络上共享的目录配额,包括rpc.rquotad (这个包不是必须的)


2、基本监控程序

要顺利运行NFS,至少需要五个Linux服务,它们各有不同的功能,有的负责装载服务,有的保证远程命令指向正确的位置。这些服务通过/etc/rc.d/init.d目录中的nfs,nfslock和portmap脚本启动。下面简单介绍每个监控程序:

(1) 基本NFS

rpc.nfsd是NFS服务器监控程序,它通过/etc/rc.d/init.d目录中的nfs脚本启动。NFS监控程序还启动rpc.mountd装载监控程序,并导出共享目录。

(2) RPC装载

可以用mount命令连接本地目录或网络目录,但还需要一个装载NFS目录的特殊监控程序rpc.mountd

(3) 端口映射器

portmap监控程序只是定向RPC通信数据流,但它对于NFS服务很重要。如果不运行portmap,则NFS客户机无法找到从NFS服务器共享的目录。

(4) 重新启动与statd

当NFS服务需要中断或者重新启动时,rpc.statd监控程序和rpc.lockd在服务器重新启动之后使客户机恢复NFS连接。

(5) 锁定

通过共享NFS目录打开文件时,锁定可以使用户不能覆盖同一个文件。锁定通过nfslock脚本并使用rpc.lockd监控程序启动运行。

3、配置NFS

共享的NFS目录在/etc/exports中列出,这个文件控制对目录的共享。书写规则是:(每个共享规则一行)

共享目录 主机(参数)

例如:/mnt/cdrom *.abc.com(ro,sync) master.abc.com(rw,sync)

上面的规则代表将/mnt/cdrom目录以只读同步方式共享给*.abc.com域,并且以读写同步方式共享给master.abc.com主机。任何共享目录都要指定sync或async,也就是指定文件写入磁盘之前共享NFS目录是否响应命令。


1、nfs的配置文件 /etc/exports,也就是权限配置文件

/mnt    192.168.1.20(rw,sync)  192.168.1.11(rw,sync,fsid=0)

允许1.*网段ip对mnt目录进行读写

其实要允许用户读写,必须要有2层写的权限,一为/etc/exports中的写,二为mnt目录本身写的权限

这跟samba中的写权限一样


如果配置文件没有对mnt目录进行授权的话,将无法挂载成功


2、

下面是一些NFS共享的常用参数:

ro:只读访问

rw:读写访问

sync:所有数据在请求时写入共享

async:NFS在写入数据前可以相应请求

secure:NFS通过1024以下的安全TCP/IP端口发送

insecure:NFS通过1024以上的端口发送

wdelay:如果多个用户要写入NFS目录,则归组写入(默认)

no_wdelay:如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

hide:在NFS共享目录中不共享其子目录

no_hide:共享NFS目录的子目录

subtree_check:如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)

no_subtree_check:和上面相对,不检查父目录权限

all_squash:共享文件的UID和GID映射匿名用户anonymous,适合公用目录。

no_all_squash:保留共享文件的UID和GID(默认)

root_squash:root用户的所有请求映射成如anonymous用户一样的权限(默认)

no_root_squas:root用户具有根目录的完全管理访问权限

anonuid=xxx:指定NFS服务器/etc/passwd文件中匿名用户的UID

anongid=xxx:指定NFS服务器/etc/passwd文件中匿名用户的GID


启动服务

/etc/init.d/portmap start

# /etc/init.d/nfs start



【客户端】

/etc/init.d/portmap start

开启该服务能开机自动挂载nfs


mount -t nfs 服务端ip:/目录  /本机目录


修改/etc/fstab

192.168.1.9:/mnt        /mnt                    nfs     defaults        0 0



服务器端的防火墙需要关闭,客户端则不必。