NFS网络文件系统(Network File System),由Sun公司开发,从名字上就能够知道这个服务是通过网络的方式来共享文件系统,目前RHEL 6上使用的版本为NFSv4,提供有状态的连接,追踪连接状态可以增强安全性,监听端口为TCP2049端口-nfs
rpcbind服务(监听端口为111),rpcbind是RPC协议的服务,被称为远程调用协议英文名为Remove Procedure Call,RPC为远程通信程序管理互相通信即Call的所需基本信息,IP地址、服务端口号等,也就是说,当server和client双方通信时,这些基本的信息都是需要提供的,但是如果成千上万台client访问server就需要有一个专门的程序来管理这些信息,此时RPC协议就登台亮相了,有了RPC的代理,NFS就可以执掌共享大权了而不用分心其他的琐事,由此可见,NFS离不开NFS协议的助力,所以在RHEL6.5上需要同时启用两个服务才能正常使用,即nfs和rpcbind服务,尽管这个版本已经不再需要直接交互rpcbind。
01、安装
yum install -y nfs-utils rpcbind ###默认自动安装了rpcbind,一般不需要安装!
/etc/exports ###nfs配置文件
/share 172.24.0.0/16(rw,sync,all_squash) ###参数详解
ro rw ###可读 读写
sync async ###同步 异步
wdelay no_wdelay ###延时写操作 不延时写操作
root_squash no_root_squash ###root权限压制为nobody root权限不压制
all_squash ###所有权限都压制为nobody
no_all_squash ###用户权限保留,前提UID、GID一致
计算机对数据的修改,先写到内存再次写到硬盘。中间是存在时间差!
/etc/exports
###如果允许可写W,需要给共享文件夹加上W权限 chmod -R a+w /share
[root@24 ~]# exportfs -v
/share <world>(rw,wdelay,root_squash,no_subtree_check) ###默认选线
/var/web 192.168.15.33(rw,async,no_root_squash) ###指定IP挂载访问,root权限不压制
/var/data *(ro,sync,all_squash) ###所有的IP都可以挂载访问,切压制为nobody
/var/www/html/ 192.168.15.3(rw,sync,all_squash)
/share/iso *(ro) --把/share/iso 共享给*(代表所有IP) ro (代表只读,切压制为nobody)
/share/iso *(rw) --rw代表可读可写
/share/iso 10.10.10.0/24(ro) --只共享给10.10.10的网段的计算机访问
/share/iso 10.10.10.0/255.255.255.0(ro)
/share/iso 10.10.10.10/255.255.255.255(ro) --定义只10.10.10.10这台计算机可以访问
/share/iso 10.10.10.10/32(ro)10.10.10.254/32(rw) --定义只有10和254这两台可以访问
showmount -e #本机提供nfs的路径
02、测试
客户端挂载:
mount -t nfs 172.24.0.24:/share /mnt ###172.24.0.24是nfs-server的IP /mnt本地的挂载点
vim /etc/fstab ###开机自动挂载
172.24.0.24:/share /mnt nfs defaults 0 0
exportfs参数说明
(1)-a:全部挂载(或卸载)/etc/exports文件内的设定。
(2)-r:重新挂载/etc/exports中的设置,此外同步更新/etc/exports及/var/lib/nfs/xtab中的内容。 ###更新挂载信息
(3)-u:卸载某一目录。
(4)-v:在export时将共享的目录显示在屏幕上。 ###不错的
###错误截图分析
03、总结
- 安装nfs
- 配置exports
- 重启nfs,rpcbind先启动,再启动nfs ###在rpcbind启动状态下,可以直接启动nfs