windows和Linux用SAMBA服务器,但是Linux和Linux主机如何共享资源呢?答案是NFS(network file system)NFS是SUN公司与1984年开发的,它是一种分布式文件系统。它的原理是在客户端上,通过网络将远程主机共享的文件系统利用安装mount的方式加入本机的文件系统,此后操作就像本地操作一样。这样的好处就是除了提成资源的使用效率,还可以大大节省硬盘的空间,因为每台主机不需要将所有的文件都复杂到本地上,同时也可以做到资源集中管理。
 
    目前nfs有两个版本NFSV2,NFSV3,NFS用RPC来传递客户端和服务端间的信息,因此在双方进行NFS时,必须启动portmap服务,并且适当的RUN level。而且portmap服务在运行时,也需要以下协作rpc.mountd  rpc.nfsd,如果确定portmap服务已经启动,可以运行rpc.info指令,假设已经使用portmap服务的nfs服务器为ns1.zh888.com
#rpcinfo -p ns1.zh888.com
 
下面介绍一下NFS服务器的安装和启动。
[root@ns1 ~]# rpm -qa|grep nfs //查看一下软件是否安装了,因为自己已经开始安装系统的时候已近安装了。所以用rpm -qa|grep nfs查询了一下下面是3个软件包名字。
system-config-nfs-1.3.23-1.el5
nfs-utils-lib-1.0.8-7.2.z2
nfs-utils-1.0.9-24.el5
[root@ns1 ~]# service nfs start启动nfs服务停止stop 重新启动restart。
看进程是否正常.
Linux  NFS网络文件系统详解_详解
 
可以用ps ax|grep nfsd来检查
[root@ns1 ~]# ps ax|grep nfsd
 3577 ?        S<     0:00 [nfsd4]
 3578 ?        S      0:00 [nfsd]
 3579 ?        S      0:00 [nfsd]
 3580 ?        S      0:00 [nfsd]
 3581 ?        S      0:00 [nfsd]
 3582 ?        S      0:00 [nfsd]
 3583 ?        S      0:00 [nfsd]
 3584 ?        S      0:00 [nfsd]
 3585 ?        S      0:00 [nfsd]
 3632 pts/0    S+     0:00 grep nfsd
查看目前NFS的服务器状态。
[root@ns1 ~]#/etc/rc.d/init.d/nfs status
 
Linux  NFS网络文件系统详解_详解_02
如果正在运行说明没问题了。
开机启动NFS服务器
方法一:ntsysv设置启动nfs服务自动启动。
方法二:GUI图形化界面system-config-services如图
Linux  NFS网络文件系统详解_网络_03
 
方法三:chkconfig设置nfs服务器的自动启动
[root@ns1 ~]chkconfig --level 5 nfs on
[root@ns1 ~]chkconfig --list|grep nfs
如图所示
Linux  NFS网络文件系统详解_详解_04
 
以上命令表示runlevel 5的时候启动nfs服务器,可以用--list参数来显示runlevel是否自动启动nfs服务器。
接下来是配置nfs
在/etc/exports文件中的每一条记录都代表一个共享资源以及访问权限设置,它的格式如下:
共享目录 【客户端 (访问权限,选项,用户ID对应】
但注意共享目录是绝对路径如果是相对路径客户端并无法得知本地的相对路径。
客户端:单一主机(ip,别名,主机名)指定超过一个主机,则必须空格加分隔
群组:可以使用“@群组名称”的格式来指定允许nfs服务器群组。如@WORKGROUP
万用字符:可以用*,?来指定允许连接的 NFS服务端的客户端,例如:*.NS1.COM表示允许来自ns1.com网域所有连接主机。
网络节点:如果要指定ip网络节点客户端,那么可以使用符合cidr格式的表示法,如192.168.0.0/24或192.168.0.0/255.255.255.0
访问权限:nfs客户端权限分为两种rw,ro
选项/etc/exports文件中允许使用的选项有很多。
用户id对应 root_squash,no_root_squash,all_squash,no_all_squash

在设置/etc/exports文件需要注意空格的使用
/home cli1 cli2 (rw)
/home cli1 cli2 (ro)
在/etc/exports中输入共享目录以后一定要用
exportfs命令
[root@ns1 ~]#exportfs -rv
查看nfs服务器上的共享资源
[root@ns1 ~]#showmount -e ns1.com
e代表export
 
安装nfs服务器共享资源
mount nfs服务器:共享目录 本地安装目录
举例:一下是nfs服务器ns1上的share_3安装到cli1上的/nfs_1
[root@cli1 ~]#mkdir /nfs_1
[root@cli1 ~]mount ns1: /share_3/nfs_1
卸载umount即可
[root@cli1 ~]umount /nfs_1
GUI下也可以用system-config-nfs来管理资源。