linux文件挂载其实和windows文件共享原理差不多,由主机配置一个共享目录,客户端机器可以通过网络访问该共享目录。

下面以SUSE11为例子,简要描述下NFS文件挂载过程:

一、主机端(主机IP192.168.0.100)

1、准备工作,主机需要完成NFS环境搭建

安装:portmap-6.0+git20070716-31.16.x86_64.rpm (用作端口映射,把RPC程序号转化为Internet的端口号)



安装:nfs-kernel-server-1.2.1-2.6.6.x86_64.rpm   (NFS服务)



2 设置共享目录
    mkdir /opt/share

3、编辑exports文件 vi /etc/exports
后面追加

/opt/share

注:如果是多个IP,请用空格隔开,多个网段也是


这里可以配置单个IP,也可设置整个网段都可以访问(192.168.0.*),还可以设置多个网段(192.168.0.0/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 

4、启动服务
service rpcbind start
service nfsserver start

如果已经启动了服务,修改配置后需要重启

service rpcbind restart
service nfsserver restart

注:如果服务端有开启防火墙,还需要在防火墙中放开相关端口才行

首先查看涉及的端口有哪些

# rpcinfo -p
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100005    1   udp  24188  mountd
    100005    1   tcp  52105  mountd
    100005    2   udp  24188  mountd
    100005    2   tcp  52105  mountd
    100005    3   udp  24188  mountd
    100005    3   tcp  52105  mountd
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs

这里的nfs、portmapper端口是固定的2049和111,但是mountd端口是不固定的,先固定mountd端口

就拿查询出来的 udp  24188  mountd   tcp  52105  mountd,将其加入到/etc/services尾部

mountd          52105/tcp
mountd          24188/udp

然后重启nfs

二、客户端
1、启动rpcbind服务
service rpcbind start

2、创建共享目录
mkdir /opt/getShare

3、挂载共享目录
mount -t nfs 192.168.0.100:/opt/share /opt/getShare