【NAS数据存储之NFS搭建和使用】NFS是主流异构平台的共享文件系统之一,能够支持在不同类型的系统之间通过网络进行文件共享,允许一个系统在网络上与他人共享目录和文件 。NFS传输协议用于服务器和客户机之间的文件访问和共享通信,从而使客户机进程访问保存在存储设备上的数据,挂载成功的情况下,在客户机挂载的目录中操作,如增删改文件或目录,服务器也同样生效 。以下就是NFS的搭建方式和遇到的问题分享 。
一,环境准备VMware创建两台虚拟机,我选择的是centos7,如果需要新创建虚拟机,按照网上的教程,编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件,设置虚拟机的ip固定 。我主备的环境是服务器端:192.168.229.129,客户机端:192.168.229.130 。尽量让两个版本一致,不一致的,比如服务器端是centos8,就出现了奇奇怪怪的问题,后面再详细说一下 。
文章插图
二,分别在两台机器安装rpcbind、nfs-utils因为centos7也算是比较老的版本了,而且我选择的镜像也比较简单,这两个服务都没有安装,通过yum命令来做,即 yum -y install rpcbind nfs-utils 。如果新环境yum有问题,ping www.baidu.com 等不行,也许是dns的解析文件没有配置,我做了如下配置,修改/etc/resolv.conf,两个地址是windows命令行使用ipconfig -all查询的本地电脑的dns解析地址 。
文章插图
文章插图
三,服务器端创建要共享的目录,并设置权限为777mkdir /data/share/chmod 755 -R /data/share/
四,配置NFS配置nfs的配置文件是 /etc/exports ,vi /etc/exports后,在配置文件中加入一行:/data/share/ *(rw,no_root_squash,no_all_squash,sync)配置可以以ip/端口或者通配为*,ip和端口是客户端的,意思是允许共享的客户端,我为了避免更多的坑,就通配了*,()中的几个参数分别是:rw 表示设置目录可读写 。no_root_squash NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限 。no_all_squash 不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都不会拥有匿名用户权限 。sync 表示数据会同步写入到内存和硬盘中,相反 rsync 表示数据会先暂存于内存中,而非直接写入到硬盘中 。如果有多个共享目录配置,则使用多行,一行一个配置 。保存好配置文件后,需要执行 exportfs -r 使配置立即生效.
文章插图
五,防火墙相关配置配置文件是 /etc/sysconfig/nfs,编辑的话把以下几个插入,实际使用时,不用配置这几个,防火墙等等的关闭了或者放开的比较宽,也能正常互访 。RQUOTAD_PORT=1001LOCKD_TCPPORT=30001LOCKD_UDPPORT=30002MOUNTD_PORT=1002配置防火墙使用以下几个命令添加nfs相关端口:firewall-cmd --zone=public --add-port=111/tcp --add-port=111/udp --add-port=2049/tcp --add-port=2049/udp --add-port=1001/tcp --add-port=1001/udp --add-port=1002/tcp --add-port=1002/udp --add-port=30001/tcp --add-port=30002/udp --permanent重新加载防火墙配置:firewall-cmd --reload
六,启动服务按顺序启动rpcbind和nfs服务,(此顺序不能颠倒,否则后续可能会报错):systemctl start rpcbindsystemctl start nfs(centos7)systemctl start nfs-server(centos8)加入开机启动:systemctl enable rpcbindsystemctl enable nfs(centos7)systemctl enable nfs-server(centos8)nfs服务启动后,可以使用命令 rpcinfo -p 查看端口是否生效 。服务器启动后,我们可以使用 showmount 命令来查看服务端(本机)是否可连接:服务器端执行 showmount -e localhost
经验总结扩展阅读
- 二、python基本数据类型
- 苹果备忘录莫名其妙出现不是本人的内容 备忘录数据怎么恢复
- FTP文本传输协议
- Go | 基本数据类型的相互转换
- 一 Redis数据结构-Redis的数据存储及String类型的实现
- Oracle数据库的两种授权收费方式介绍!
- python3使用mutagen进行音频元数据处理
- 利用inotify和rsync服务实现数据实时同步
- 2023梅雨季节多少天结束
- 为什么说千万不要学大数据与会计 有哪些原因