记录:355
场景:在CentOS 7.9操作系统上,安装nfs-utils实现NFS文件共享存储服务端,安装rpcbind实现RPC调用,在客户端挂载NFS文件系统。
版本:
操作系统:CentOS 7.9
名词:
NFS: Network File System的简称。
NFS: 网络文件系统,基于TCP/IP传输的网络文件系统协议,使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
RPC:Remote Procedure Call的简称。
RPC:远程过程调用,通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
1.主机规划
1.1主机基础配置
主机app200;内存:4GB;硬盘(SCSI):50GB。
主机app201;内存:4GB;硬盘(SCSI):50GB。
1.2主机规划
主机app200,NFS服务端。
主机app201,NFS客户端,挂载服务端。
1.3主机安装软件
在两个主机均安装rpcbind和nfs-utils。
(1)rpcbind
rpcbind: The rpcbind utility is a server that converts RPC program numbers into universal addresses.It must be running on the host to be able to make RPC calls on a server on that machine.
(2)nfs-utils
The nfs-utils package provides a daemon for the kernel NFS server and related tools, which provides a much higher level of performance than the traditional Linux NFS server used by most users.
This package also contains the showmount program. Showmount queries the mount daemon on a remote host for information about the NFS (Network File System) server on the remote host.For example, showmount can display the clients which are mounted on that host.
This package also contains the mount.nfs and umount.nfs program.
2.NFS服务端安装与配置
2.1安装rpcbind
(1)安装rpcbind
命令:yum install -y rpcbind
(2)启动rpcbind
命令:systemctl start rpcbind
(3)配置开机启动rpcbind
修改命令:vi /etc/rc.d/rc.local
添加内容:systemctl start rpcbind
添加可执行权限:chmod +x /etc/rc.d/rc.local
(4)查看rpcbind服务端口
命令:netstat -atulnp | grep rpcbind
默认监听端口:111
2.2安装nfs-utils
(1)安装nfs-utils
命令:yum install -y nfs-utils
2.3创建服务端共享目录
命令:mkdir -p /hz_nfs
解析:把服务端/hz_nfs目录共享给远程的客户端。
2.4修改配置
修改命令:vi /etc/exports
修改内容:/hz_nfs 192.168.19.0/24(rw,no_root_squash)
解析:把19网段ip都可以共享此目录。
2.5配置生效
命令:exportfs -arv
打印信息:exporting 192.168.19.0/24:/hz_nfs
2.6启动nfs服务
启动命令:systemctl start nfs
重启命令:systemctl restart nfs
2.7查看nfs的共享目录信息
命令:showmount -e localhost
解析:使用showmount查看本机共享的目录。
打印日志信息:Export list for localhost:/hz_nfs 192.168.19.0/24
3.NFS客户端安装与配置
3.1安装nfs-utils
命令:yum install -y nfs-utils
解析:安装nfs-utils后,客户端挂载服务端时,会用到nfs-client.target服务。
3.2创建挂载目录
命令:mkdir -p /hz_data
解析:把服务端/hz_nfs目录共享给远程的客户端。
3.3挂载NFS到本地目录
(1)挂载
命令:mount -t nfs 192.168.19.200:/hz_nfs /hz_data
解析:把服务端的192.168.19.200:/hz_nfs挂载到本地/hz_data目录。
(2)查看挂载结果
命令:df -h
解析:挂载成功,会打印相应ip和目录等信息。
3.4配置开机自动挂载
修改命令:vi /etc/rc.d/rc.local
修改内容:mount -t nfs 192.168.19.200:/hz_nfs /hz_data
添加可执行权限:chmod +x /etc/rc.d/rc.local
4.在客户端的使用
(1)客户端
命令:cd /hz_data/
解析:拷贝数据到此目录,会上传到服务端的/hz_nfs。
5.报错解决
(1)报错一
报错信息:mount.nfs: No route to host
解决:关闭服务端防火墙,命令:systemctl stop firewalld
(2)报错二
报销信息:mount.nfs: access denied by server while mounting 192.168.19.200:/hz_nfs
解析:使用主机192.168.19.201去挂载192.168.19.200:/hz_nfs的共享目录,是在服务端配置文件/etc/exports中没有把主机192.168.19.201的ip包括在内。
解决:使用192.168.19.0/24设置/etc/exports中配置,那么192.168.19整个网段的ip都可以挂载到主机192.168.19.201。
以上,感谢。
2022年12月6日