前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS 7.x安装部署NFS文件共享服务器

CentOS 7.x安装部署NFS文件共享服务器

作者头像
jwangkun
发布2021-12-23 16:37:18
3290
发布2021-12-23 16:37:18
举报
文章被收录于专栏:John Wong's BlogJohn Wong's Blog

一、防火墙配置

CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙。

1、关闭firewall:

代码语言:javascript
复制
systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

systemctl mask firewalld

systemctl stop firewalld

yum remove firewalld

2、安装iptables防火墙

代码语言:javascript
复制
yum install iptables-services #安装
代码语言:javascript
复制
vi /etc/sysconfig/iptables #编辑防火墙配置文件

# sample configuration for iptables service

# you can edit this manually or use system-config-firewall

# please do not ask us to add additional ports/services to this default configuration

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT

-A INPUT -p udp -m state --state NEW -m udp --dport 111 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT

-A INPUT -p udp -m state --state NEW -m udp --dport 2049 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 892 -j ACCEPT

-A INPUT -p udp -m state --state NEW -m udp --dport 892 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 1001:2001 -j ACCEPT

-A INPUT -p udp -m state --state NEW -m udp --dport 1001:2001 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 32803 -j ACCEPT

-A INPUT -p udp -m state --state NEW -m udp --dport 32769 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

:wq! #保存退出
代码语言:javascript
复制
systemctl restart iptables.service #最后重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

/usr/libexec/iptables/iptables.init restart #重启防火墙

防火墙端口说明

rpcbind使用:tcp/udp 111

nfs使用:tcp/udp 2049

mountd使用: TCP/UDP 892

status使用: TCP/UDP 1001-2001

nlockmgr使用:TCP/32803端口 UDP/32769端口

二、关闭SELINUX

代码语言:javascript
复制
vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

三、安装NFS服务器

#如果是debian/ubuntu系统,使用命令安装

代码语言:javascript
复制
apt-get install nfs-common nfs-kernel-server

rpcbind默认已安装

代码语言:javascript
复制
yum -y install nfs-utils rpcbind #安装

vi /etc/sysconfig/nfs #编辑修改配置文件

LOCKD_TCPPORT=32803 #取消前面的注释

LOCKD_UDPPORT=32769 #取消前面的注释

MOUNTD_PORT=892 #取消前面的注释

STATD_PORT=1001 #取消前面的注释,端口修改为1001

STATD_OUTGOING_PORT=2001 #取消前面的注释,端口修改为2001

:wq! #保存退出

创建共享目录,在服务器上创建共享目录,并设置权限。

代码语言:javascript
复制
mkdir -p /nfs

chmod 755 -R /nfs

vi /etc/exports #编辑共享目录,添加以下内容

/nfs 192.168.21.0/24(insecure,rw,sync,no_subtree_check,no_root_squash)

:wq! #保存退出

使配置生效

代码语言:javascript
复制
exportfs -rv

如果有多个网段或主机用空格分开

  • rw 表示设置目录可读写
  • sync 表示数据会同步写入到内存和硬盘中,相反rsync表示数据会先暂存于内存中,而非直接写入到硬盘中
  • no_subtree_check 不检查目录权限,提高数据读取效率
  • no_root_squash 登入NFS主机使用分享目录的使用者
  • insecure 表示客户端请求源端口可以大于1024

启动服务(注意顺序不能错)

代码语言:javascript
复制
systemctl start rpcbind

systemctl start nfs

#设置开机启动

代码语言:javascript
复制
systemctl enable rpcbind

systemctl enable nfs

#关闭

代码语言:javascript
复制
systemctl stop nfs

systemctl stop rpcbind

#查看nfs信息

代码语言:javascript
复制
rpcinfo -p 192.168.21.8
代码语言:javascript
复制
[root@master01 ~]# rpcinfo -p 192.168.21.8

program vers proto port service

100000 4 tcp 111 portmapper

100000 3 tcp 111 portmapper

100000 2 tcp 111 portmapper

100000 4 udp 111 portmapper

100000 3 udp 111 portmapper

100000 2 udp 111 portmapper

100024 1 udp 1001 status

100024 1 tcp 1001 status

100005 1 udp 892 mountd

100005 1 tcp 892 mountd

100005 2 udp 892 mountd

100005 2 tcp 892 mountd

100005 3 udp 892 mountd

100005 3 tcp 892 mountd

100003 3 tcp 2049 nfs

100003 4 tcp 2049 nfs

100227 3 tcp 2049 nfs_acl

100003 3 udp 2049 nfs

100227 3 udp 2049 nfs_acl

100021 1 udp 32769 nlockmgr

100021 3 udp 32769 nlockmgr

100021 4 udp 32769 nlockmgr

100021 1 tcp 32803 nlockmgr

100021 3 tcp 32803 nlockmgr

100021 4 tcp 32803 nlockmgr

显示共享目录

代码语言:javascript
复制
showmount -e 192.168.21.8

[root@master01 ~]# showmount -e 192.168.21.8

Export list for 192.168.21.8:

/nfs 192.168.21.0/24

cat /var/lib/nfs/etab

四、客户端配置

客户端挂载目录不需要开放nfs服务器上的端口

1.安装nfs

客户端只需要安装即可,无需启动

代码语言:javascript
复制
yum -y install nfs-utils rpcbind #安装

显示共享目录

代码语言:javascript
复制
showmount -e 192.168.21.8

#创建挂载目录

代码语言:javascript
复制
mkdir -p /nfs

#执行挂载命令

代码语言:javascript
复制
mount -t nfs -o nolock,nfsvers=3,vers=3,soft,intr,bg,rw,rsize=32768,wsize=32768 192.168.21.8:/nfs /nfs

#客户端挂载NFS服务器共享目录,第一个目录是nfs服务器共享目录,第二个目录是客户端本地目录

如果要卸载目录,执行下面命令

代码语言:javascript
复制
umount /data/nfs #卸载目录

2、设置开机自动挂载目录

说明:

请勿将挂载目录写到/etc/fstab文件中,因为开机时先挂载本机磁盘再启动网络,而NFS是需要网络启动后才能挂载的

把挂载命令写入到/etc/rc.d/rc.local文件中即可。

代码语言:javascript
复制
vi /etc/rc.d/rc.local #添加

mount -t nfs -o nolock,nfsvers=3,vers=3,soft,intr,bg,rw,rsize=32768,wsize=32768 192.168.21.8:/nfs /nfs

:wq! #保存退出
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档