系统默认已经安装了NFS软件包,如果手工安装NFS,需要5个RPM包。
setup-*: 共享NFS目录在/etc/exports中定义 initscripts-*: 包括引导过程中装载网络目录的基本脚本 nfs-utils-*: 包括基本的NFS命令与监控程序 portmap-*: 支持安全NFS RPC服务的连接 quota-*: 网络上共享的目录配额,包括rpc.rquotad (这个包不是必须的)
可以使用下面命令查看系统是否已经安装了某个软件包。
#rpm –qa |grep setup
2、配置NFS
编辑/etc/exports,在文件中列出,要共享的目录。书写规则是:(每个共享规则一行)
共享目录 主机(参数)
例如:
/mnt/disk1 192.168.70.51(ro,sync, no_root_squash)
上面的规则代表将/mnt/disk1目录以读写同步方式共享给主机192.168.70.51。如果登陆到NFS主机的用户是root,那么该用户就具有NFS主机的root用户的权限。
下面是一些NFS共享的常用参数:
rw: 可读写的权限; ro: 只读的权限; no_root_squash: 登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT的权限root_squash: 在登入 NFS 主机使用目录的使用者如果是 root 时,那么这个使用者的权限 将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个身份; all_squash: 不管登陆NFS主机的用户是什么都会被重新设定为nobody。 anonuid: 将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中。 anongid: 同 anonuid ,但是变成 group ID 就是了! sync: 资料同步写入存储器中。 async: 资料会先暂时存放在内存中,不会直接写入硬盘。 insecure 允许从这台机器过来的非授权访问。
exportfs命令:
如果我们在启动了NFS之后又修改了/etc/exports,是不是还要重新启动nfs呢?这个时候我们就可以用exportfs命令来使改动立刻生效,该命令格式如下:
exportfs [-aruv]
参数的意义如下:
-a :全部mount或者unmount /etc/exports中的内容 -r :重新mount /etc/exports中分享出来的目录 -u :umount 目录 -v :在 export 的时候,将详细的信息输出到屏幕上。
具体例子:
[root @test root]# exportfs –rv <==全部重新 export 一次!
3、启动NFS
# service portmap start
# service nfs start
检查NFS的运行级别:
# chkconfig --list portmap
# chkconfig --list nfs
根据需要设置在相应的运行级别自动启动NFS:
# chkconfig --level 235 portmap on
# chkconfig --level 235 nfs on
另外,还需要查看系统的iptables、/etc/hosts.allow、/etc/hosts.deny是否设置了正确的NFS访问规则。
4、客户端配置
客户端运行以下命令MOUNT NFS文件系统
#mount -t nfs -o nolock 192.168.70.50:/opt /mnt/disk1