Linux文件挂载其实和Windows文件共享原理差不多,由主机配置一个共享目录,客户端机器可以通过网络访问该共享目录。
下面以 SUSE 为例子,简要描述下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 192.168.0.*(rw,no_root_squash)
这里可以配置单个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
二、客户端
1、启动rpcbind服务
- service rpcbind start
2、创建共享目录
- mkdir /opt/getShare
3、挂载共享目录
- mount -t nfs 192.168.0.100:/opt/share /opt/getShare