一、 NFS介绍
二、NFS服务端安装配置
三、NFS配置选项
四、exportfs命令
五、NFS客户端问题
六、FTP介绍
七、使用vsftpd搭建ftp
八、xshell使用xftp传输文件
九、使用pure-ftpd搭建ftp服务
十、扩展
一、 NFS介绍
NFS是Network File System的缩写,中文意思是网络文件系统。
NFS的主要功能是通过网络(一般是局域网)让不同的主机系统之间共享文件或目录。
NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本
NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写。
NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致。
NFS虽然开启了服务,但是它是不监听端口的,最终监听端口实现TCP/IP通信过程的是由RPCbind服务产生的rpc协议实现的,监听111端口。
NFS工作原理流程
当访问程序通过NFS客户端向NFS服务器端存取文件时,其请求数据流程大致如下:
1)首先用户访问网站程序,由程序在NFS客户端上发出存取NFS文件的请求,这时NFS客户端的RPC服务就会通过网络向NFS服务器端的RPC服务端的111端口发起NFS文件存取功能的请求。
2)NFS服务器端的RPC服务找到对应的已注册的NFS端口后,通知NFS客户端的RPC服务。
3) NFS客户端获取到正确的端口,并与NFS服务器联机读取数据
4)NFS客户端数据存取成功后,返回给前端访问程序,告知用户存取结果,作为网站用户,就完成了一次存取操作。
二、NFS服务端安装配置
实验环境基本配置:
两台主机:
192.168.239.128(服务端)
192.168.239.135(客户端)
1. NFS服务器的安装
[root@Linux01 ~]# yum -y install nfs-utils rpcbind(rpcbind可以不加,安装nfs-utils时会自动安装)
[root@Linux01 ~]# rpm -qa nfs-utils rpcbind //验证是否安装
2. 修改配置文件vim /etc/exports ,加入以下内容
/home/nfstestdir 192.168.239.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
3. 创建共享目录,设置权限
[root@Linux01 ~]# mkdir /home/nfstestdir
[root@Linux01 ~]# chmod 777 /home/nfstestdir //为了方便实验,先将共享目录设置为777的权限
4. 启动nfs和rpcbind服务并设置开机自启动
[root@Linux01 ~]# systemctl start rpcbind(必须先于nfs主程序启动)
[root@Linux01 ~]# systemctl start nfs
[root@Linux01 ~]# systemctl enable rpcbind
[root@Linux01 ~]# systemctl enable nfs
5. 查看一下nfs和rpc进程
[root@Linux01 ~]# ps aux |grep rpcbind
[root@Linux01 ~]# ps aux |grep nfs
rpc相关进程。一般启动nfs服务的时候会自动启动rpc相关的服务
6. 查看一下系统监听的端口
[root@Linux01 ~]# netstat -lntp
注:一般显示为rpcbind,这里显示的是systemd,centos7特性问题,不影响。
三、NFS配置选项
1. NFS选项:
rw 读写
ro 只读
sync 同步模式,内存数据实时写入磁盘
async 非同步模式
no_root_squash 客户端挂载NFS共享目录后,root用户不受约束&