NFS工作原理
NFS服务器
*NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。*
NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;
NFS挂载原理
NFS服务器的挂载结构图:
当我们在NFS服务器设置好一个共享目录/home/public后,其他的有权访问NFS服务器的NFS客户端就可以将这个目录挂载到自己文件系统的某个挂载点,这个挂载点可以自己定义,如上图客户端A与客户端B挂载的目录就不相同。并且挂载好后我们在本地能够看到服务端/home/public的所有数据。如果服务器端配置的客户端只读,那么客户端就只能够只读。如果配置读写,客户端就能够进行读写。挂载后,NFS客户端查看磁盘信息命令:#df –h。
NFS客户端和NFS服务端通讯过程
1)首先服务器端启动RPC服务,并开启111端口
2)服务器端启动NFS服务,并向RPC注册端口信息
3)客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
4)服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
5)客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。
NFS部署
服务器端
**nas(存储端)**
[root@nas ~]# yum -y install nfs-utils
[root@nas ~]# mkdir /webdata //存储网站代码
[root@nas ~]# echo "nfs test..." > /webdata/index.html
[root@nas ~]# vim /etc/exports
/webdata 192.168.122.0/24(rw)
[root@nas ~]# systemctl start nfs-server
[root@nas ~]# systemctl enable nfs-server
[root@nas ~]# exportfs -v
/webdata 192.168.122.0/24(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
客户端
[root@web1 ~]# yum -y install nfs-utils httpd
[root@web1 ~]# systemctl start httpd
[root@web1 ~]# systemctl enable httpd
1. 查看存储端共享 [可选]
[root@web1 ~]# showmount -e 192.168.122.241 // 查询NFS服务器可用目录
Export list for 192.168.122.241:
/webdata 192.168.122.0/24
2. 手动挂载 [可选]
[root@web1 ~]# mount -t nfs 192.168.122.241:/webdata /var/www/html/
[root@web1 ~]# umount /var/www/html/
3. 自动挂载到网站主目录
[root@web1 ~]# vim /etc/fstab
192.168.122.241:/webdata /var/www/html nfs defaults 0 0
[root@web1 ~]# mount -a
4. 查看挂载
[root@web1 ~]# df
192.168.122.152:/webdata 7923136 692416 6821568 10% /var/www/html
[root@web1 ~]# ls /var/www/html/
index.html