在CentOS 7下部署NFS的详细教程

news/2025/2/25 8:34:02

在CentOS 7下部署NFS的详细教程

NFS(Network File System)是一种分布式文件系统协议,允许用户在网络中的不同主机之间共享文件和目录。NFS广泛应用于Linux和Unix系统中,特别适合在集群环境中共享存储资源。本文将详细介绍如何在CentOS 7上部署NFS服务。

1. 环境准备

在开始之前,请确保你有两台CentOS 7的机器:

  • NFS Server:用于提供共享目录的服务器。
  • NFS Client:用于挂载和使用共享目录的客户端。

假设:

  • NFS Server的IP地址为:192.168.1.100
  • NFS Client的IP地址为:192.168.1.101

2. 在NFS Server上安装和配置NFS

2.1 安装NFS服务

首先,在NFS Server上安装NFS相关的软件包:

sudo yum install -y nfs-utils

2.2 创建共享目录

接下来,创建一个用于共享的目录。例如,我们创建一个名为/shared的目录:

sudo mkdir /shared

为了测试,我们可以在该目录下创建一个文件:

sudo touch /shared/testfile.txt

2.3 配置NFS导出目录

编辑NFS的配置文件/etc/exports,指定要共享的目录和允许访问的客户端:

sudo vi /etc/exports

在文件中添加以下内容:

/shared 192.168.1.101(rw,sync,no_root_squash)

解释:

  • /shared:要共享的目录。
  • 192.168.1.101:允许访问的客户端IP地址。
  • rw:允许读写权限。
  • sync:同步写入,确保数据一致性。
  • no_root_squash:允许客户端以root用户身份访问共享目录。

2.4 启动NFS服务

配置完成后,启动NFS服务并设置开机自启:

sudo systemctl start nfs-server
sudo systemctl enable nfs-server

2.5 检查NFS共享

使用以下命令检查NFS共享是否配置成功:

sudo exportfs -v

你应该会看到类似以下的输出:

/shared       192.168.1.101(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,no_root_squash,no_all_squash)

3. 在NFS Client上挂载共享目录

3.1 安装NFS客户端工具

在NFS Client上安装NFS客户端工具:

sudo yum install -y nfs-utils

3.2 创建挂载点

在客户端上创建一个目录,用于挂载NFS共享目录。例如,我们创建一个名为/mnt/nfs的目录:

sudo mkdir -p /mnt/nfs

3.3 挂载NFS共享目录

使用以下命令挂载NFS共享目录:

sudo mount -t nfs 192.168.1.100:/shared /mnt/nfs

3.4 验证挂载

使用df -h命令查看挂载情况:

df -h

你应该会看到类似以下的输出:

192.168.1.100:/shared  50G  1.2G   49G   3% /mnt/nfs

你也可以通过ls命令查看共享目录中的文件:

ls /mnt/nfs

你应该能看到之前在NFS Server上创建的testfile.txt文件。

3.5 设置开机自动挂载

为了在系统重启后自动挂载NFS共享目录,编辑/etc/fstab文件:

sudo vi /etc/fstab

在文件末尾添加以下内容:

192.168.1.100:/shared  /mnt/nfs  nfs  defaults  0  0

保存并退出。这样,每次系统启动时都会自动挂载NFS共享目录。

4. 测试NFS共享

为了确保NFS共享正常工作,你可以在客户端上创建一个文件,然后在服务器上查看:

在客户端上:

sudo touch /mnt/nfs/clientfile.txt

在服务器上:

ls /shared

你应该能看到clientfile.txt文件。

5. 安全注意事项

  • 防火墙配置:确保NFS Server的防火墙允许NFS相关的端口通过。你可以使用以下命令开放NFS服务:

    sudo firewall-cmd --permanent --add-service=nfs
    sudo firewall-cmd --permanent --add-service=mountd
    sudo firewall-cmd --permanent --add-service=rpc-bind
    sudo firewall-cmd --reload
    
  • 权限管理:在/etc/exports中,确保只允许可信的客户端访问共享目录,并根据需要设置适当的权限。

6. 总结

通过以上步骤,你已经成功在CentOS 7上部署了NFS服务,并在客户端上挂载了共享目录。NFS是一个强大的工具,适用于需要在多台机器之间共享文件的场景。


http://www.niftyadmin.cn/n/5865262.html

相关文章

Apache Flink CDC (Change Data Capture) mysql Kafka

比如使用 Flink CDC , 监听mysql bin-log日志实现数据的实时同步, 发送到kafka springboot整合flink cdc监听数据库数据 阿里开源的神仙工具,完美实现数据同步!#程序员阿里开源的这个神器很好很强大。阿里开源的这个神器全面超越Canal,果然在…

Flutter_学习记录_iOS 模拟器用Charles抓包

参考文章: Flutter 使用Charles软件抓包 1. 前言 Flutter应用网络请求调试一直是业内难题,原因在于Dart语言标准库的网络请求不会走Wi-Fi代理,常规通过配置Wi-Fi代理来抓包的方式行不通。这给我们日常开发测试造成了很大的阻碍,…

爱迪斯通虚拟针灸教学系统入选ARinChina2024 XR行业年度荣誉榜医疗榜单

爱迪斯通推出的“XR虚拟针灸教学项目”成功入选 ARinChina 2024 XR行业年度荣誉榜-XR行业创新应用榜单(医疗领域)。 入选榜单:XR行业创新应用榜单(医疗) 入选产品:虚拟针灸教学系统 XR虚拟针灸教学系统&am…

云计算及其他计算

云计算知识思维导图:https://kdocs.cn/l/cpl2Kizx7IyC 云计算的核心判断标准通常基于美国国家标准与技术研究院(NIST)的定义,并结合实际应用场景。以下是判断一个服务是否为云计算的关键标准,以及对应的服务类型&#…

python实现基于深度学习实现遮挡人脸识别系统的详细方案

以下是一个基于深度学习实现遮挡人脸识别系统的详细方案,使用 Python 语言完成。 方案概述 该遮挡人脸识别系统主要包含数据准备、模型构建、模型训练、模型评估和系统部署几个主要步骤。我们将使用深度学习框架 TensorFlow 和 Keras 来构建和训练卷积神经网络&am…

【Vscode 使用】集合1

一、使用make工具管理工程 windows下,下载mingw64,配置好mingw64\bin 为 Win10系统全局变量后。 在mingw64/bin目录下找到mingw32-make.exe工具。复制一份改名为:make.exe,没错,就是那么简单,mingw64自带m…

2020年蓝桥杯Java B组第二场题目+部分个人解析

#A&#xff1a;门牌制作 624 解一&#xff1a; public static void main(String[] args) {int count0;for(int i1;i<2020;i) {int ni;while(n>0) {if(n%102) {count;}n/10;}}System.out.println(count);} 解二&#xff1a; public static void main(String[] args) {…

前端Sass面试题及参考答案

目录 什么是 Sass? Sass 和 CSS 的主要区别是什么? Sass 中如何处理列表? Sass 中如何处理映射(map)? Sass 中如何使用函数? Sass 中如何使用内置函数? Sass 中如何设置默认值? Sass 中的 @function 和 @mixin 有什么区别? Sass 中如何实现模块化? Sass 中…