如果有人问你Centos8怎么安装配置NFS,就把这篇文章丢给她!

简介: NFS 是 Network File System 的缩写,即网络文件系统。功能是让客户端通过网络访问不同主机上磁盘里的数据,主要用在类Unix系统上实现文件共享的一种方法。本例演示 CentOS 8 下安装和配置 NFS 的基本步骤。

前言

NFS 是 Network File System 的缩写,即网络文件系统。功能是让客户端通过网络访问不同主机上磁盘里的数据,主要用在类Unix系统上实现文件共享的一种方法。本例演示 CentOS 8 下安装和配置 NFS 的基本步骤。

环境说明

CentOS 8(Minimal Install)
cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

本例演示环境如下

Name IP Addr Descprition
Server 192.168.0.101 服务端 
Client 192.168.0.100 客户端

根据官网说明 Chapter 8. Network File System (NFS) - Red Hat Customer Portal,CentOS 7.4 以后,支持 NFS v4.2 不需要 rpcbind 了,但是如果客户端只支持 NFC v3 则需要 rpcbind 这个服务。

服务端

步骤 1: 服务端安装

使用 yum 安装 NFS 安装包。

sudo yum install nfs-utils

注意 只安装 nfs-utils 即可,rpcbind 属于它的依赖,也会安装上。

步骤 2: 服务端配置

设置 NFS 服务开机启动

sudo systemctl enable rpcbind
systemctl enable --now nfs-server    #centos 8

启动 NFS 服务

sudo systemctl start rpcbind
sudo systemctl start nfs-server

防火墙需要打开 rpc-bind 和 nfs 的服务

sudo firewall-cmd --zone=public --permanent --add-service=rpc-bind
success
sudo firewall-cmd --zone=public --permanent --add-service=mountd
success
sudo firewall-cmd --zone=public --permanent --add-service=nfs
success
sudo firewall-cmd --reload
success

步骤 3: 配置共享目录

服务启动之后,我们在服务端配置一个共享目录

sudo mkdir /data
sudo chmod 755 /data

根据这个目录,相应配置导出目录

sudo vi /etc/exports

添加如下配置

/data/www/ROOT/data/ *(insecure,rw,sync,no_root_squash,no_all_squash)
/data: 共享目录位置。
192.168.0.0/24: 客户端 IP 范围,* 代表所有,即没有限制。
rw: 权限设置,可读可写。
sync: 同步共享目录。
no_root_squash: 可以使用 root 授权。
no_all_squash: 可以使用普通用户授权。
insecure:

:wq 保存设置之后,刷新配置

exportfs -r

重启 NFS 服务。

systemctl restart nfs

检查一下本地的共享目录

showmount -e localhost
Export list for localhost:
/data 192.168.0.0/24

这样,服务端就配置好了,接下来配置客户端,连接服务端,使用共享目录。

客户端

步骤 1: 客户端安装

与服务端类似

sudo yum install nfs-utils

步骤 2: 客户端配置

设置 rpcbind 服务的开机启动

sudo systemctl enable rpcbind

启动 NFS 服务

sudo systemctl start rpcbind

注意

客户端不需要打开防火墙,因为客户端是发出请求方,网络能连接到服务端即可。客户端也不需要开启 NFS 服务,因为不共享目录。

步骤 3: 客户端连接 NFS

先查服务端的共享目录

showmount -e 192.168.0.101
Export list for 192.168.0.101:
/data 192.168.0.0/24

在客户端创建目录

sudo mkdir /data

挂载

sudo mount -t nfs 192.168.0.101:/data/www/ROOT/data /data/www/ROOT/data

挂载之后,可以使用 mount 命令查看一下

mount
192.168.0.101:/data/www/ROOT/data on /data/www/ROOT/data type nfs4
(rw,relatime,vers=4.1,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,
retrans=2,sec=sys,clientaddr=192.168.0.100,local_lock=none,addr=192.168.0.101)

这说明已经挂载成功了。

步骤 5: 测试 NFS

测试一下,在客户端向共享目录创建一个文件

cd /data/www/ROOT/data
sudo mkdir aaa

之后去 NFS 服务端 192.168.0.101 查看一下

cd /data/www/ROOT/data
 ll
total 0
-rw-r--r--. 1 root root 0 Aug 8 18:46 aaa

可以看到,共享目录已经写入了。

步骤 6: 客户端自动挂载

自动挂载很常用,客户端设置一下即可。

sudo vi /etc/fstab

在结尾添加类似如下配置

#
# /etc/fstab
# Created by anaconda on Thu May 25 13:11:52 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID=414ee961-c1cb-4715-b321-241dbe2e9a32 /boot xfs defaults 0 0
/dev/mapper/cl-home /home xfs defaults 0 0
/dev/mapper/cl-swap swap swap defaults 0 0
192.168.0.101:/data/www/ROOT/data /data/www/ROOT/data nfs defaults 0 0

由于修改了 /etc/fstab,需要重新加载 systemctl。

sudo systemctl daemon-reload

之后查看一下

mount
...
...
192.168.0.101:/data/www/ROOT/data on /data/www/ROOT/data type nfs4 (rw,relatime,vers=4.1,rsize=131072,
wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,
clientaddr=192.168.0.100,local_lock=none,addr=192.168.0.101)

此时已经启动好了。如果实在不放心,可以重启一下客户端的操作系统,之后再查看一下。

结论

本文演示了 CentOS 8 下安装和配置 NFS,以及服务端和客户端的配置。

PS:

如果客户端mount时报如下错误

mount.nfs: access denied by server while mounting
1.服务器上的192.168.0.0/24 换成*
2.在exports里面添加 insecure参数

参考资料

  1. Setting Up NFS Server And Client On CentOS 8
  2. Chapter 8. Network File System (NFS) - Red Hat Customer Portal
目录
相关文章
|
30天前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
186 1
|
3月前
|
消息中间件 Linux API
centos7 安装rabbitmq自定义版本及配置
centos7 安装rabbitmq自定义版本及配置
|
5天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
34 2
|
9天前
|
监控 安全 Linux
CentOS7下安装配置ntp服务的方法教程
通过以上步骤,您不仅能在CentOS 7系统中成功部署NTP服务,还能确保其配置合理、运行稳定,为系统时间的精确性提供保障。欲了解更多高级配置或遇到特定问题,提供了丰富的服务器管理和优化资源,可作为进一步学习和求助的平台。
18 1
|
19天前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
64 1
|
21天前
|
存储 监控 Linux
在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践
本文详细介绍了在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践,包括使用 `fdisk` 创建分区、`mkfs` 格式化分区、创建挂载点、编辑 `/etc/fstab` 实现永久挂载等步骤,旨在有效管理服务器磁盘空间,提高系统稳定性和可维护性。
24 1
|
30天前
|
Linux PHP Apache
CentOS 7.2配置Apache服务httpd(下)
CentOS 7.2配置Apache服务httpd(下)
46 1
|
3月前
|
弹性计算 关系型数据库 MySQL
centos7 mysql安装及配置
本文详细介绍了在阿里云服务器ECS上通过yum源安装MySQL 8.0.12的过程,包括更新yum源、下载并安装MySQL源、解决安装过程中可能遇到的问题等步骤。此外,还介绍了如何启动MySQL服务、设置开机自启、配置登录密码、添加远程登录用户以及处理远程连接异常等问题。适合初学者参考,帮助快速搭建MySQL环境。
344 8
centos7 mysql安装及配置
|
22天前
|
安全 Linux 数据库连接
CentOS 7环境下DM8数据库的安装与配置
【10月更文挑战第16天】本文介绍了在 CentOS 7 环境下安装与配置达梦数据库(DM8)的详细步骤,包括安装前准备、创建安装用户、上传安装文件、解压并运行安装程序、初始化数据库实例、配置环境变量、启动数据库服务、配置数据库连接和参数、备份与恢复、以及安装后的安全设置、性能优化和定期维护等内容。通过这些步骤,可以顺利完成 DM8 的安装与配置。
145 0
|
2月前
|
Linux
CentOS 7.x时间同步服务chrony配置详解
文章详细介绍了在CentOS 7.x系统中如何安装和配置chrony服务,以及它与ntpd服务的对比,强调了chrony在时间同步方面的高效性和准确性。
145 1
CentOS 7.x时间同步服务chrony配置详解