NFS简介
NFS(Network File System)中文叫网络文件系统,主要功能是通过网络(一般是局域网)让不同的主机之间可以共享文件或目录。NFS客户端可以通过挂载的方式将NFS服务器共享出来的目录挂载到本地进行使用。NFS网络文件系统很像Windows下的网络共享、网络驱动器映射,也很像samba服务,不过后两者通常用于办公局域网,而中小型网站集群后端常用NFS进行数据共享,如果是大型网站,还会用到更复杂的分布式文件系统,如Moosefs(mfs)、GlusterFS、FastDFS。
NFS工作流程
1.启动RPC服务:NFS支持的功能较多,不同功能由不同程序来完成,这些程序执行时会随机使用一些端口,因而NFS的端口是不固定的,所以NFS使用RPC服务来统一管理这些端口,并负责与客户端通信返回这些端口。RPC服务端口是111。
2.启动NFS服务:NFS服务启动时,开启并向RPC注册各种功能对应的端口。所以RPC要先于NFS启动,如果RPC服务重启,那么注册信息会丢失,NFS也需要重启,重新进行注册。NFS主程序端口2049。
服务端安装
cat /etc/redhat-releaseuname -rmyum install -y nfs-utils rpcbind/etc/init.d/rpcbind start/etc/init.d/nfs startps -ef | egrep 'rpc|nfs'netstat -nutlp | grep rpcbindrpcinfo -p localhost // 查看rpc注册信息chkconfig rpcbind onchkconfig nfs onchkconfig --list | egrep "nfs|rpcbind"
创建用户、目录、配置文件
groupadd -g 888 nfsuseradd -M -u 888 -g nfs -s /sbin/nologin nfsmkdir /datachown -R nfs.nfs /dataecho -e "#share /data by peter at 2017-08-31\n/data 172.16.1.0/24(rw,sync,all_squash,anonuid=888,anongid=888)" > /etc/exports/etc/init.d/rpcbind restart/etc/init.d/nfs restart
客户端安装
yum install -y nfs-utils rpcbind /etc/init.d/rpcbind startps -ef | grep rpcbindnetstat -nutlp | grep rpcbindchkconfig rpcbind onchkconfig --list | grep rpcbind
客户端挂载
showmount -e 172.16.1.31mount -t nfs 172.16.1.31:/data /mntdf -hecho "mount -t nfs 172.16.1.31:/data /mnt" >> /etc/rc.localtail -1 /etc/rc.local