本教程为原教程的翻新,旧教程使用的nfs版本较旧,指令已不适用新的环境
前言
今天在给文件库搭建NFS的时候发现某台机子出现了各种代码故障,然后经过排查后发现,正常的机子使用的是旧的yum库,nfs版本为0.12,而出问题的机子使用的是最新的nfs版本,也就是2.3.3版本,部分指令有些出入,故新开一篇文章专门再写一次。
本次用到的服务器
一台NFS服务器
一台使用NFS进行存储的服务器
每台服务器环境
Centos 7/8
宝塔7.x
开始
[infobox title=”centos7安装EPEL源”]
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
[/infobox]
将centos7的源更新至最新,以下载2.3.3版本的nfs
[infobox title=”centos7安装NFS”]yum -y install nfs-utils rpcbind[/infobox]
centos8则使用dnf软件管理器安装
[infobox title=”centos8安装NFS”]yum -y install nfs-utils rpcbind[/infobox]
[infobox title=”设置开机自动启动服务”]
systemctl enable nfs-server.service
systemctl enable rpcbind.service
[/infobox]
[infobox title=”启动服务”]
systemctl start nfs-server
systemctl start rpcbind
[/infobox]
接下来是开放端口,如果你是内网环境进行测试,可以直接关闭centos的防火墙。
但由于我这边搭建是时属于公网环境,并且公网环境更贴近实际情况,所以本处介绍的是固定其端口并让防火墙放行。
注;我的文本编辑器是vim,如果没有vim可以安装下,当然,习惯用nano的话,把vim改成nano就好
[infobox title=”vim编辑器安装”]
yum install -y vim
[/infobox]
[infobox title=”vim编辑器常用指令”]
非指令模式下:
按a进入编辑模式
输入”:”进入指令模式
指令模式下:
q 退出
q! 强制退出
w 保存
wq 保存并退出
esc 返回非指令模式
编辑模式下:
esc返回非指令模式
[/infobox]
以上为你可能需要用到的vim操作方式
固定端口
[infobox title=”nfs配置文件”]
vim /etc/sysconfig/nfs
[/infobox]
进入后将下面指定的端口粘贴进去
[infobox title=”固定端口”]
RQUOTAD_PORT=23331
LOCKD_TCPPORT=23332
LOCKD_UDPPORT=23333
MOUNTD_PORT=23333
STATD_PORT=23334
[/infobox]
[infobox title=”修改内核参数,指定端口”]
vim /etc/sysctl.conf
[/infobox]
[infobox title=”固定端口”]
fs.nfs.nlm_tcpport=23332
fs.nfs.nlm_udpport=23332[/infobox]
[infobox title=”重启服务”]
systemctl restart rpcbind
systemctl restart nfs-server
[/infobox]
如果出现:
Invalid unit name "xxx " was escaped as "xxx\xc2\xa0" (maybe you should use systemd-escape?)
Failed to restart xxx\xc2\xa0.service: Unit xxx\xc2\xa0.service not found.
则运行
systemd-escape xxx
另外,/etc/modprobe.d/lockd.conf下也需要配置端口以锁定(不然你的端口号会反复横跳)
[infobox title=”端口配置文件”]
vim /etc/modprobe.d/lockd.conf
[/infobox]
粘贴以下配置
[infobox title=”锁定端口”]
options lockd nlm_tcpport=23332
options lockd nlm_udpport=23332
[/infobox]
完毕后退出重载
[infobox title=”重启服务”]
systemctl restart nfs-config
systemctl restart nfs-idmap
systemctl restart nfs-lock
systemctl restart nfs-server
这样端口就配置完毕了,前往宝塔控制面板把23331-23334给放行就好,可以在宝塔那边直接写23331:23334 快捷添加全部端口
另外还要放行下111端口和2049端口
分享目录
目前NFS的通信已经是正常的了,接下来就是新建文件夹,将NFS指定分享。
新建一个文件夹,本处叫bt,也就是/bt
然后开始配置NFS分享
[infobox title=”配置授权文件”]
vim /etc/exports
[/infobox]
[infobox title=”分享目录并给予授权”]/bt 需要使用NFS进行存储的服务器(rw,sync,no_root_squash)
[/infobox]
保存,然后切换到需要进行存储的那台服务器
[infobox title=”挂载硬盘”]
mount NFS服务器IP地址:/bt /bt
[/infobox]
开机自动挂载
[infobox title=”配置文件”]
vim /etc/fstab
[/infobox]
[infobox title=”永久挂载”]
NFS服务器IP地址:/bt /bt nfs rw,tcp,intr 0 1
[/infobox]
保存,退出,重启即可看到效果。