CentOS 7中搭建NFS文件共享存储服务的完整步骤

前言

NFS(Network File System)意为网络文件系统,它最大的功能就是可以通过网络,让不同的机器不同的操作系统可以共享彼此的文件。简单的讲就是可以挂载远程主机的共享目录到本地,就像操作本地磁盘一样,非常方便的操作远程文件。

本文将给大家讲解如何在CentOS7上安装和配置NFS服务器。

下面话不多说了,来一起看看详细的介绍吧

准备

我们需要两台CentOS7机器,我们用虚拟机做测试,分别做NFS服务器和客户端,配置如下:

NFS服务器ip:192.168.11.31。

客户端ip:192.168.11.34。

我们要实现的目标是:在NFS服务器上共享一个目录,在客户端上可以直接操作NFS服务器上的这个共享目录下的文件。

NFS服务器配置

1.安装NFS服务

首先使用yum安装nfs服务:

yum -y install rpcbind nfs-utils

2.创建共享目录

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

mkdir /data/share/
chmod 755 -R /data/share/

3.配置NFS

nfs的配置文件是 /etc/exports ,在配置文件中加入一行:

/data/share/ 192.168.11.34(rw,no_root_squash,no_all_squash,sync)

这行代码的意思是把共享目录/data/share/共享给192.168.11.34这个客户端ip,后面括号里的内容是权限参数,其中:

rw 表示设置目录可读写。

sync 表示数据会同步写入到内存和硬盘中,相反 rsync 表示数据会先暂存于内存中,而非直接写入到硬盘中。

no_root_squash NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。

no_all_squash 不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都不会拥有匿名用户权限。

如果有多个共享目录配置,则使用多行,一行一个配置。保存好配置文件后,需要执行以下命令使配置立即生效:

exportfs -r

4.设置防火墙

如果你的系统没有开启防火墙,那么该步骤可以省略。

NFS的防火墙特别难搞,因为除了固定的port111、2049外,还有其他服务如rpc.mounted等开启的不固定的端口,这样对防火墙来说就比较麻烦了。为了解决这个问题,我们可以设置NFS服务的端口配置文件。

修改/etc/sysconfig/nfs文件,将下列内容的注释去掉,如果没有则添加:

RQUOTAD_PORT=1001
LOCKD_TCPPORT=30001
LOCKD_UDPPORT=30002
MOUNTD_PORT=1002

保存好后,将端口加入到防火墙允许策略中。执行:

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

5.启动服务

按顺序启动rpcbind和nfs服务:

systemctl start rpcbind
systemctl start nfs

加入开机启动:

systemctl enable rpcbind
systemctl enable nfs

nfs服务启动后,可以使用命令 rpcinfo -p 查看端口是否生效。

服务器的后,我们可以使用 showmount 命令来查看服务端(本机)是否可连接:

[root@localhost ~]# showmount -e localhost
Export list for localhost:
/data/share 192.168.11.34

出现上面结果表明NFS服务端配置正常。

客户端配置

1.安装rpcbind服务

客户端只需要安装rpcbind服务即可,无需安装nfs或开启nfs服务。

yum -y install rpcbind

2.挂载远程nfs文件系统

查看服务端已共享的目录:

[root@localhost ~]# showmount -e 192.168.11.31
Export list for 192.168.11.31:
/data/share 192.168.11.34

建立挂载目录,执行挂载命令:

mkdir -p /mnt/share
mount -t nfs 192.168.11.34:/data/share /mnt/share/ -o nolock,nfsvers=3,vers=3

如果不加 -onolock,nfsvers=3 则在挂载目录下的文件属主和组都是nobody,如果指定nfsvers=3则显示root。

如果要解除挂载,可执行命令:

umount /mnt/share

3.开机自动挂载

如果按本文上面的部分配置好,NFS即部署好了,但是如果你重启客户端系统,发现不能随机器一起挂载,需要再次手动操作挂载,这样操作比较麻烦,因此我们需要设置开机自动挂载。我们不要把挂载项写到/etc/fstab文件中,因为开机时先挂载本机磁盘再启动网络,而NFS是需要网络启动后才能挂载的,所以我们把挂载命令写入到/etc/rc.d/rc.local文件中即可。

[root@localhost ~]# vim /etc/rc.d/rc.local
#在文件最后添加一行:
mount -t nfs 192.168.11.34:/data/share /mnt/share/ -o nolock,nfsvers=3,vers=3

保存并重启机器看看。

测试验证

查看挂载结果,在客户端输入 df -h

文件系统    容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root   18G 5.0G 13G 29% /
devtmpfs      904M  0 904M 0% /dev
tmpfs       916M  0 916M 0% /dev/shm
tmpfs       916M 9.3M 906M 2% /run
tmpfs       916M  0 916M 0% /sys/fs/cgroup
/dev/sda1      497M 164M 334M 33% /boot
tmpfs       184M  0 184M 0% /run/user/0
192.168.11.31:/data/share  18G 1.7G 16G 10% /mnt/share

看到最后一行了没,说明已经挂载成功了。接下来就可以在客户端上进入目录/mnt/share下,新建/删除文件,然后在服务端的目录/data/share查看是不是有效果了,同样反过来在服务端操作在客户端对应的目录下看效果。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • centos7下NFS使用与配置的步骤

    NFS是Network File System的缩写,即网络文件系统.客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下. nfs为什么需要RPC? 因为NFS支持的功能很多,不同功能会使用不同程序来启动,因此,NFS对应的功能所对应的端口无法固定. 端口不固定造成客户端与服务端之间的通信障碍,所以需要RPC来从中帮忙. NFS启动时会随机取用若干端口,然后主动向RPC服务注册取用相关端口和功能信息,RPC使用固定端口111来监听来自NFS客户端的请求, 并将正确的NFS服务端口

  • Centos7安装配置NFS服务和挂载教程(推荐)

    现在有3台服务器 s1(主),s2(从), s3(从)需要实现文件实时同步,我们可以安装Nfs服务端和客户端来实现! 一.安装 NFS 服务器所需的软件包: yum install -y nfs-utils 二.编辑exports文件,添加从机 vim /etc/exports /home/nfs/ 192.168.248.0/24(rw,sync,fsid=0) 同192.168.248.0/24一个网络号的主机可以挂载NFS服务器上的/home/nfs/目录到自己的文件系统中 rw表示可读写

  • Centos6.5全自动安装 vsftpd+dhcp+nfs+tftp

    步骤 1.mount /dev/sr0 /media/ 2.安装所需要的软件 安装并配置tftp服务 yum install tftp tftp-server vsftpd dhcp syslinux nfs-utils vim /etc/xinetd.d/tftp service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd se

  • CentOS 6.8 NFS 文件共享设置的方法

    NFS 文件共享能解决在集群环境下图片.附件等文件共享的问题. 现在假设有两台机器192.168.1.10和192.168.1.11 我们将192.168.1.10做为服务端,192.168.1.11作为客户端. 一.服务端操作 1. 检查安装nfs服务 rpm -qa|grep nfs rpm -qa|grep rpcbind 若没有这安装nfs-utils和rpcbind yum install nfs-utils rpcbind 如上图就是安装成功了. 2.设置开机自动启动服务 chkco

  • CentOS6.9下NFS服务安装配置教程

    服务器环境:CentOS6.9  Linux 2.6.32-696.el6.x86_64 安装NFS服务 nfs客户端和服务端都只需要安装nfs-utils包即可,并且yum安装时会连带安装rpcbind服务 # yum -y install nfs-utils 开机启动 # chkconfig rpcbind on # chkconfig nfs on 出于运维管理的需要,能够快速查找相关启动的服务,配置chkconfig的同时,追加开机启动脚本 # tail -2 /etc/rc.local

  • CentOS 7中搭建NFS文件共享存储服务的完整步骤

    前言 NFS(Network File System)意为网络文件系统,它最大的功能就是可以通过网络,让不同的机器不同的操作系统可以共享彼此的文件.简单的讲就是可以挂载远程主机的共享目录到本地,就像操作本地磁盘一样,非常方便的操作远程文件. 本文将给大家讲解如何在CentOS7上安装和配置NFS服务器. 下面话不多说了,来一起看看详细的介绍吧 准备 我们需要两台CentOS7机器,我们用虚拟机做测试,分别做NFS服务器和客户端,配置如下: NFS服务器ip:192.168.11.31. 客户端i

  • linux搭建NFS文件共享服务器的步骤详解

    linux搭建NFS服务器 为了实现不同操作系统中的数据共享,我们一般会搭建一些用于文件共享的服务器,nfs服务器就是其中一种,它实现的是linux与linux之间的共享.今天我将把如何在linux系统搭建nfs服务器的步骤分享出来,供大家参考. 搭建步骤 1.安装nfs所需软件包 yum install rpcbind nfs-utils 2.创建测试文件并赋权限 mkdir /home/test chmod -R 777 /home/test/ cd /home/test/ vim aaa/

  • CentOS 7中搭建KVM虚拟化平台的方法步骤

    什么是虚拟化 虚拟化就是把硬件资源从物理方式转变为逻辑方式,打破原有物理结构,使用户可以灵活管理这些资源,并且允许1台物理机上同时运行多个操作系统,以实现资源利用率最大化和灵活管理的一项技术. 虚拟化的优势 减少服务器数量,降低硬件采购成本. 资源利用率最大化 降低机房空间.散热.用电消耗的成本. 硬件资源可动态调整,提高企业IT业务灵活性. 高可用性. 在不中断服务的情况下进行物理硬件调整. 降低管理成本. 具备更高效的备灾能力. KVM虚拟化 KVM自linux2.6.20版本后就直接整合到

  • 阿里云windows server2019配置FTP服务的完整步骤

    1.在windowsserver菜单中打开服务器管理器 2. 在快速启动仪表盘中选择配置角色服务 3. 直接下一步 4. 选择基于角色或基于功能的安装,下一步 5. 选择要配置ftp服务的服务器,下一步 6. 选择Web服务器下面的选项 7. 功能选项里网上有些帖子说需要选,但是我看没有ftp相关的功能,所以我就没选,直接安装 安装完成后打开windowsserver菜单,选择windows管理工具 打开iis服务 鼠标右键服务器名称,选择添加ftp站点 填写ftp站点名称和服务路径 ip选择未

  • CentOS 7.2搭建VNC远程桌面服务的方法

    一.图形界面安装(MATE DESKTOP) CentOS 7 系统下,本文以 MATE 桌面环境安装进行安装配置说明: 登录服务器,执行如下指令安装桌面环境: # 先安装 MATE Desktop yum groups install "MATE Desktop" 命令输入之后,会列出一大堆文字的,然后显示这个y/d/n,输入y,按回车下载安装: 安装完成,显示下面图片complete #安装好 MATE Desktop 后,再安装 X Window System. yum grou

  • Ubuntu16.04搭建NFS 文件共享服务器的方法

    NFS 即 网络文件系统 (Network File System),是一种 分布式 文件系统协议,该协议允许客户端主机可以像访问本地文件系统一样通过网络访问服务器端文件,即可以将远程服务器文件直接 mount ( 挂载 )到本地的文件目录结构中进行访问. 一.软件安装 服务器端需要安装 nfs-kernel-server 软件包: $ sudo apt-get update $ sudo apt-get install nfs-kernel-server 二.服务器配置 默认情况下,NFS 服

  • 在Linux系统中搭建Node.js开发环境的简单步骤讲解

    1. Linux安装node.js ubuntu: sudo apt-get install nodejs npm centos: yum install nodejs npm 更详细的安装参见:https://github.com/joyent/node/wiki/Installation npm为类似PHP中Pear的包管理器 2. 开始使用node.js 用文本编辑器新建hello.js写入以下内容 console.log('hello world'); 打开命令行输入 $ node he

  • 在Mac中搭建go语言开发环境的操作步骤

    前言 Go语言是Google内部主推的语言,它作为一门全新的静态类型开发语言,与当前的开发语言相比具有许多令人兴奋不已的新特性.专门针对多处理器系统的应用程序编程进行了优化,使用go语言完全可以媲美c.c++的速度,而且更加安全.简洁,支持并行进程. 以下是go语言的主要特性: 1.自动垃圾回收 2.更丰富的内置类型 3.函数多反回值 4.错误处理 5.匿名函数和闭包 6.类型和接口 7.并发编程 8.反射 9.语言交互性 Mac开发环境搭建 以上基本都属废话,搭建开发环境尽快开启编程之旅才是王

  • Spring boot搭建邮件服务的完整步骤

    前言: 发送邮件,肯定是每个公司都会有的基本业务.很多公司都会选择把发送邮件作为一个基础服务,对外提供接口.直接调用就可发邮件了.但是我们都知道发送邮件耗时都比较长.那么今天就介绍下使用Spring boot+eventbus来打造一个简单邮件服务 规划接口列表 发送邮件的类型准备的有三种 发送普通邮件 发送html邮件 发送图文邮件 还有一个细节,如果我们同步的取发送邮件会有两个问题. 接口响应时间比较长 遇到并发的情况,容易导致服务器压力过大或者邮箱服务封ip 所以我们准备使用队列来执行发送

  • centos 7中添加一个新用户并授权的步骤详解

    前言 最近在笔记本装了一个centos,想要让别人也可以登录访问,用自己的账号确实不太好,于是准备新建一个用户给他.发现网站这方便的资料比较少,所以将自己实现的步骤总结分享出来,话不多说了,来一起看看详细的介绍: 创建新用户 创建一个用户名为:zhangbiao [root@localhost ~]# adduser zhangbiao 为这个用户初始化密码,linux会判断密码复杂度,不过可以强行忽略: [root@localhost ~]# passwd zhangbiao 更改用户 zha

随机推荐