系统环境:CentOS release 6.5 (Final)web
NFS是Network File System即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是经过网络让不一样的机器、不一样的操做系统可以彼此分享个别的数据,让应用程序在客户端经过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。服务器
服务端ip地址:192.168.1.201网络
监听端口号:2049/tcp,2049/udp 异步
# yum -y install nfs-utils rpcbindasync
在CentOS5.x叫portmaptcp
编辑/etc/exports文件加入以下内容:ui
/web 192.168.1.1/24(rw,sync)spa
exports文件说明:操作系统
文件系统 客户端1(文件系统导出属性) 客户端2(文件系统导出属性)进程
IP:192.168.1.202
Hostname:*.fansik.com
Network:192.168.1.0/24
rw:读写
async:异步
sync:同步
root_squash:压缩root用户,基于imapd,将root经过网络访问时转换为nfsnobody用户
no_root_squash:不压缩用户
all_squash:压缩全部用户
anonuid,anongid:指定
启动rpcbind服务:
# /etc/init.d/rpcbind start
启动nfs服务:
# /etc/init.d/nfs start
启动后三个关键进程:
mountd:挂载守护进程,负责客户端来源认证的进程
nfsd:文件读写
idmapd:id映射进程
使用下面的命令能够查看各进程监听的端口号
# rpcinfo -p localhost
因为mountd的监听端口号是随机的可能会占用其余服务的端口号,因此要使nfs的辅助进程mountd监听在固定的端口上,能够经过/etc/sysconfig/nfs文件进行配置。
客户端IP地址:10.10.10.101
# yum -y install nfs-utils
查看Server端共享哪一个目录,容许那个ip访问
# showmount -e 192.168.1.201
-e:在nfs客户端执行,探查某主机所导出的nfs文件系统,使用格式"showmount -e Server_IP";
-d:在nfs服务器端执行,显示哪一个导出的文件系统已经被至少一个客户挂载使用了;
-a:在nfs服务器端显示全部挂载会话。
建立挂载目录
# mkdir /web
挂载Server端web目录到本地
# mount -t nfs 192.168.1.201:/web /web
在挂载目录建立文件时因为操做web目录的是nfsnobody因此要把其余人的写权限打开。
编辑Server端的/etc/exports文件
/web 192.168.1.1/24(rw,sync,all_squash,anonuid=502,anongid=502)
重启nfs的服务或者# exportfs -arv
不去限制root的写法以下:
/web 192.168.1.1/24(rw,sync,no_root_squash)
去Client端从新挂载目录
若是使用# mount -t nfs 192.168.1.201:/web /web命令在touch文件的时候很慢,咱们可使用下面的命令指定nfs版本从新挂载一次就好啦:
# mount -t nfs -onolock,nfsvers=3 192.168.1.201:/web /web
是用此种方法后指定的用户id和组id使用的都是本地的id:例如Server端的组和用户id是fansik那么在Server端显示所属组和全部者就是fansik,可是若是Client的组和用户id是fanjinbao,那么Client端的文件的所属组和全部者就是fanjinbao
5、exportfs从新导出文件系统
在不重启nfs服务的状况下导出文件系统属性
选项:
-a:操做全部文件系统
-ra:从新导出全部文件系统
-ua:取消导出的全部文件系统
-v:显示详细信息