作用:
网络文件共享,主要实现linux与linux之间的文件共享
原理:
nfs在启动的时候会先去找rpc注册,把自己监听的端口信息等进行注册,因此nfs在启动或安装前要先安装并启动rpc,rpc监听111端口号;客户端首先会去连接rpc,然后rpc把nfs的相关信息告诉客户端,客户端通过这些信息去连接nfs,然后与nfs进行文件共享
参考:
(rw,no_root_squash,sync)
ro 该主机对该共享目录有只读权限rw 该主机对该共享目录有读写权限root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户no_root_squash 客户机用root访问该共享文件夹时,将依然是root用户all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户anonuid 将客户机上的用户映射成指定的本地用户ID的用户anongid 将客户机上的用户映射成属于指定的本地用户组IDsync 资料同步写入到内存与硬盘中async 资料会先暂存于内存中,而非直接写入硬盘insecure 允许从这台机器过来的非授权访问
nfslock:多个客户端同时写入时锁定:
参考:
nfs相关服务:
* rpc.mountd - 这个进程接受来自NFS客户端的加载请求和验证请求的文件系统正在被输出.这个进程由NFS服务自动启动,不需要用户的配置.
* rpc.nfsd - 这个进程是NFS服务器.它和Linux核心一起工作来满足NFS客户端的动态需求,例如提供为每个NFS客户端的每次请求服务器线程.这个进程对应于nfs服务.
* rpc.lockd - 一个可选的进程,它允许NFS客户端在服务器上对文件加锁.这个进程对应于nfslock服务.
* rpc.statd - 这个进程实现了网络状态监控(NSM)RPC协议,通知NFS客户端什么时候一个NFS服务器非正常重启动.这个进程被nfslock服务自动启动,不需要用户的配置.
* rpc.rquotad - 这个进程对于远程用户提供用户配额信息. 这个进程被nfs服务自动启动,不需要用户的配置.
注意:
nfs服务端down机重启后要确定 nfs 服务是否起来,并到客户端机器确定挂载的目录是否mount成功以免影响生产使用。
NFS的安装配置:
centos 5 :yum -y install nfs-utils portmapcentos 6 :yum -y install nfs-utils rpcbind本节是使用centos 6的配置过程:首先,让两台机器都安装NFS的 软件包,如下显示的是服务器端:[root@roothomes /home]$ yum -y install nfs-utils rpcbind服务器端: ###(建立挂载的目录,并且挂载目录。)[root@roothomes /etc]$ mkdir /opt/centos6[root@roothomes /etc]$ cd /opt/centos6/[root@roothomes /opt/centos6]$ mkdir thisISnfsFile[root@roothomes /opt/centos6]$ lsthisISnfsFile[root@roothomes /etc]$ vim /etc/exports[root@roothomes /opt/centos6]$ cat /etc/exports/opt/centos6 192.168.1.0/24(rw,no_root_squash,sync)### 备注:/opt/centos6表示nfs共享的目录 192.168.1.0-192.168.1.254区间的IP可以访问,访问权限是可读可写,root 用户###(启动对应的服务)[root@roothomes /opt/centos6]$ chkconfig nfs on[root@roothomes /opt/centos6]$ /etc/init.d/rpcbind start[root@roothomes /opt/centos6]$ /etc/init.d/nfs startStarting NFS services: [ OK ]Starting NFS quotas: [ OK ]Starting NFS daemon: [ OK ]Starting NFS mountd: [ OK ][root@roothomes /opt/centos6]$ service iptables stopiptables: Flushing firewall rules: [ OK ]iptables: Setting chains to policy ACCEPT: filter [ OK ]iptables: Unloading modules: [ OK ]客户端:[root@roothomes /home]$ yum -y install nfs-utils安装完毕!
[root@vmBS00 ~]# service iptables stopiptables: Flushing firewall rules: [ OK ]iptables: Setting chains to policy ACCEPT: filter [ OK ]iptables: Unloading modules: [ OK ]###查看是否能访问nfs服务[root@vmBS00 ~]# showmount -e 192.168.1.75Export list for 192.168.1.75:/opt/centos6 192.168.1.0/24[root@vmBS00 ~]# mkdir /opt/centos6[root@vmBS00 ~]# mount -t nfs 192.168.1.75:/opt/centos6/ /opt/centos6/[root@vmBS00 ~]# ls /opt/centos6/thisISnfsFile###配置开机自动挂载[root@vmBS00 ~]# vim /etc/fstab### 添加 #192.168.1.75:/opt/centos6/ /opt/centos6/ nfs nodev,ro,rsize=32768,wsize=32768 0 0[root@vmBS00 ~]# mount -a >>