NFS简介与安装
简介:
NFS是Network File System的缩写及网络文件系统。NFS主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录。
NFS系统和Windows网络共享、网络驱动器类似, 只不过windows用于局域网, NFS用于企业集群架构中, 如果是大型网站, 会用到更复杂的分布式文件系统FastDFS,glusterfs,HDFS,ceph
NFS应用:
1.用户访问NFS客户端,将请求转化为函数
2.NFS通过TCP/IP连接服务端
3.NFS服务端接收请求,会先调用portmap进程进行端口映射
4.Rpc.nfsd进程用于判断NFS客户端能否连接服务端;
5.Rpc.mount进程用于判断客户端对服务端的操作权限
6.如果通过权限验证,可以对服务端进行操作,修改或读取
NFS的安装
NFS分服务端和客户端,客户端一般安装在web服务器上面
服务端安装
1、安装NFS和rpcbind
[root@nfs ~]# yum install nfs-utils rpcbind -y
2、创建挂载点
[root@nfs ~]# mkdir -p /image/idea/ims/storage
mkdir -p /home/idea/ims/files/temp/notice
3、配置挂载点
[root@nfs ~]# vim /etc/exports
格式:
[挂载点] [可以访问的IP]([权限])
/image/idea/ims/storage *(rw,sync,no_root_squash)
/home/idea/ims/files/temp/notice *(rw,sync,no_root_squash)
4、关闭selinux和防火墙
[root@nfs ~]# setenforce 0
[root@nfs ~]# service iptabls stop
5、启动Nfs和rpcbind服务
[root@nfs ~]# service rpcbind start
[root@nfs ~]# service nfs start
6、检查服务端是否正常
[root@nfs ~]# showmount -e [服务端的地址,默认是本机地址]
![](https://img2022.cnblogs.com/blog/1436863/202209/1436863-20220907112910262-598744350.png)
[root@nfs ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/web/nfsv1 172.16.1.0/20
[root@nfs ~]# cat /var/lib/nfs/etab
![](https://img2022.cnblogs.com/blog/1436863/202209/1436863-20220907112943800-571241366.png)
7、给挂载点授权
[root@nfs ~]# chown -R nfsnobody.nfsnobody /web
客户端安装:
1、安装NFS
[root@web01 opt]# yum -y install nfs-utils #(客户端上不需要启动nfs服务,只是为了使用showmount工具)
检测rpc是否启动
2、创建目录 [root@web01 opt]# mkdir -p /image/idea/ims/storage
3、挂载NFS [root@web01 opt]# mount -t nfs 192.168.170.133:/image/idea/ims/storage /image/idea/ims/storage
4、测试NFS文件同步功能
NFS配置详解
nfs共享参数 | 参数作用 |
rw | 读写权限 (常用) |
ro | 只读权限 (不常用) |
root_squash | 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户 (不常用) |
no_root_squash | 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员 (不常用) |
all_squash | 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户 (常用) |
no_all_squash | 无论NFS客户端使用什么账户访问,都不进行压缩 (不常用) |
sync | 同时将数据写入到内存与硬盘中,保证不丢失数据 (常用) |
async | 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据 (不常用) |
anonuid | 配置all_squash使用,指定NFS的用户UID,必须存在系统 (常用) |
anongid | 配置all_squash使用,指定NFS的用户GID,必须存在系统 (常用) |