Linux【实战篇】—— NFS服务搭建与配置

目录

一、介绍

1.1什么是NFS?

1.2客户端与服务端之间的NFS如何进行数据传输?

1.3RPC和NFS的启动顺序

1.4NFS服务 系统守护进程

二、安装NFS服务端

2.1安装NFS服务

2.2 创建共享目录

2.3创建共享目录首页文件

2.4关闭防火墙

2.5启动NFS服务

2.6配置文件的编写格式

2.7配置NFS服务

2.8服务端管理NFS相关命令

三、安装NFS客户端

3.1安装NFS客户端和httpd服务

3.2关闭防火墙

3.3启动服务

3.4查看NFS服务器共享的目录

3.5 将共享目录挂载到客户端目录

3.6浏览器访问客户端IP


一、介绍

1.1什么是NFS?

        NFS(Network File System)网络文件系统,是通过网络来进行服务端与客户端之间的数据传输,仅Linux/Unix系统之间共享文件的一种协议。NFS服务一般用来存储静态数据,例如:脚本、视频、图片等这些不会有太大变化的文件。

特性:

  • NFS的客户端为Linux;
  • 支持多节点同时挂载,以及并发写入;

1.2客户端与服务端之间的NFS如何进行数据传输?

RPC服务:Remove Procedure call 远程过程调用服务/协议

  1. 首先服务端会先启动RPC服务,并开放111端口,等待客户端的RPC服务进行连接;
  2. 其次服务端的NFS再启动,然后向RPC服务注册与客户端NFS连接使用的端口(大于1024),RPC服务会记录这些端口信息;
  3. 当客户端需要读取服务端NFS的共享目录时,客户端的RPC会连接服务端RPC服务开放的111端口,并向服务端RPC服务发送请求;
  4. 服务端的RPC会将记录的服务端NFS端口信息反回给客户端的RPC服务;
  5. 客户端的RPC再将接收到的端口信息给客户端NFS;
  6. 客户端NFS再通过这些端口信息与服务端NFS进行数据传输;

通信原理图:

查看RPC服务管理的端口

rpcinfo -p IP地址

1.3RPC和NFS的启动顺序

        首先,一定是要先启动了RPC服务后才能启动NFS服务,否则NFS服务无法向RPC服务进行端口注册。请注意,如果RPC服务重新启动了,那么原来记录的NFS服务的端口信息都将全部丢失。因此NFS服务也需要重新启动,再向RPC服务进行端口注册。

特别注意:修改完NFS服务配置文件后,不需要重启NFS服务,直接重新加载配置文件即可systemctl reload nfs-server

1.4NFS服务 系统守护进程

nfs:它是基本的NFS守护进程,主要功能是管理客户端能否登录服务器;

rpcbind:主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,rpcbind会将所管理的服务的对应端口提供给客户端,从而使客户端可以通过该端口连接服务器。

二、安装NFS服务端

2.1安装NFS服务

yum install -y nfs-utils

2.2 创建共享目录

mkdir /webdata chmod o+w /webdata         # 赋予其它用户拥有写入权限

2.3创建共享目录首页文件

echo "NFS_test" 1> index.txt

2.4关闭防火墙

systemctl stop firewalld # 关闭防火墙

systemctl disable firewalld # 开机不自启动防火墙

setenforce 0 # 关闭selinux

2.5启动NFS服务

# 在启动NFS服务之前先启动RPC服务

systemctl start rpcbind         # 开启RPC服务

systemctl start nfs-server         # 开启nfs服务

systemctl reload nfs-server         # 重新加载nfs服务配置文件

systemctl restart nfs-server         # 重启nfs服务

systemctl stop nfs-server         # 关闭nfs服务

systemctl status nfs-server         # 查看nfs服务

2.6配置文件的编写格式

NFS服务的配置文件为:/etc/exports

/etc/exports 配置文件的内容格式:

/共享目录 客户端1(访问权限,用户映射,其它) 客户端2(访问权限,用户映射,其它)

a.共享目录:共享目录是指NFS服务器共享给客户端的目录;

b.客户端:客户端是指的网络中可以访问NFS服务器共享目录的主机;

客户端常用指定的方式

  • 指定某一个主机:192.168.1.1;
  • 指定子网中所有的主机:192.168.1.0/24;
  • 指定域名主机:www.baidu.com;
  • 指定域名中的所有主机:*.baidu.com;
  • 任何主机都能访问:*;

c.设置共享目录的访问权限

  • 共享目录访问权限为只读:ro;
  • 共享目录访问权限为读写:rw;

d.用户映射

  1. root_squash:NFS客户端root用户创建的文件/目录所有主、所有组,被服务端映射成匿名用户(nfsnobody);(默认选项)
  2. no_root_squash:NFS客户端root用户创建的文件/目录所有主、所有组,保留为root用户;
  3. all_squash:NFS客户端任何用户创建的文件/目录所有主、所有组,被服务端映射成指定的匿名用户;
  • anonuid=xxx:映射成服务端指定的所有主;
  • anongid=xxx:映射成服务端指定的所有组;

e.其它选项

工作常用sync(同步传输);

2.7配置NFS服务

vim /etc/export

# 添加以下内容

/webdata 192.168.157.0/24(rw)

注释

  • /webdata 指的是共享的目录
  • 192.168.157.0/24 指的是允许访问NFS服务器的客户主机网段
  • rw 指的是客户端拥有读写权限

2.8服务端管理NFS相关命令

命令:exportfs

-a:全部挂载或全部卸载 /etc/exports中的内容;

-r:重新挂载/etc/exports中的内容;

-u:取消一个或多个目录的共享;

-v:输出详细信息;

# 卸载所有共享目录

exportfs -au

# 重新挂载所有共享目录

exportfs -ar

# 查看服务器中所有的共享目录信息

exportfs -v

三、安装NFS客户端

3.1安装NFS客户端和httpd服务

yum install -y nfs-utils httpd

3.2关闭防火墙

systemctl stop firewalld # 关闭防火墙

systemctl disable firewalld # 开机不自启动防火墙

setenforce 0 # 关闭selinux

3.3启动服务

# 启动httpd服务

systemctl start httpd

# 启动rpc服务

systemctl start rpcbind

# 启动nfs服务

systemctl start nfs-server

3.4查看NFS服务器共享的目录

showmount -e 服务器IP

-e:查看NFS服务器共享的目录

3.5 将共享目录挂载到客户端目录

mount -t nfs 服务器IP:/共享目录名 /var/www/html

3.6浏览器访问客户端

将共享目录挂载到httpd网站服务的工作目录下 /var/www/html后,在浏览器中访问客户端IP,即可看到共享内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/616928.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot项目接入Nacos注册中心

前置 已经安装好Nacos服务,并且该项目所在服务器可以访问到 可以参考下: windows环境安装Nacos单机版-CSDN博客 Centos7安装Nacos单机版-CSDN博客 1. POM文件引入依赖 注意,父工程已经引入spring cloud依赖管理的情况下不用添加版本号 …

C语言面试题之合法二叉搜索树

合法二叉搜索树 实例要求 实现一个函数,检查一棵二叉树是否为二叉搜索树; 示例 1: 输入:2/ \1 3 输出: true 示例 2: 输入:5/ \1 4/ \3 6 输出: false 解释: 输入为: [5,1,4,null,null,3,6]。根节点的值为 5 ,但是其右子节点值为 4 …

微信小程序制作圆形进度条

微信小程序制作圆形进度条 1. 建立文件夹 选择一个目录建立一个文件夹,比如 mycircle 吧,另外把对应 page 的相关文件都建立出来,包括 js,json,wxml 和 wxcc。 2. 开启元件属性 在 mycircle.json中开启 component 属…

学习基于pytorch的VGG图像分类 day5

注:本系列博客在于汇总CSDN的精华帖,类似自用笔记,不做学习交流,方便以后的复习回顾,博文中的引用都注明出处,并点赞收藏原博主. 目录 VGG的数据集处理 1.数据的分类 2.对数据集的处理 VGG的分类标签设置 …

Stable Diffusion之API接口调用

1、开启api调用模式 开启api模式,关闭可视化窗口,并且建议关闭登录权限(详细查看文章最后Stable Diffusion之Ubuntu下部署-CSDN博客) ./webui.sh --disable-safe-unpickle --api --nowebui 2、查看接口列表 访问对应的网页地…

test4141

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…

基于java+springboot+vue实现的网上购物系统(文末源码+Lw+ppt)23-42

摘 要 随着我国经济的高速发展与人们生活水平的日益提高,人们对生活质量的追求也多种多样。尤其在人们生活节奏不断加快的当下,人们更趋向于足不出户解决生活上的问题,网上购物系统展现了其蓬勃生命力和广阔的前景。与此同时,为…

WP Automatic v3.93 – 网站采集与自动发布插件下载(支持GPT-4)

WordPress Automatic Plugin是一款可以采集任何类型内容且自动发布到WordPress的插件,还支持使用API从Youtube 和 Twitter 等流行网站导入内容,也可以自动导入亚马逊、eBay、沃尔玛等商品信息,并按要求设置好销售联盟购买链接。 WordPress Automatic Pl…

数据可视化的3D问题

三维对象非常流行,但在大多数情况下会对解释图形的准确性和速度产生负面影响。 以下是对涉及 3d 的主要图形类型的回顾,并讨论了它们是否被认为是不好的做法。 1、3D 条形图:不要 这是一个 3d 条形图。 你可能很熟悉这种图形,因为…

第八讲 python标识符-命名规则-帮助函数-变量声明-初始化-垃圾回收机制

目录 1.标识符规则 2.help() 的用法 3. 查看python中的所有关键字 4. 开发中,我们通常约定俗称遵守的规则 5. 变量和简单赋值语句 6. 删除变量 7. 垃圾回收机制(先做了解,后序详解) 1.标识符规则 标识符是用来命名变量、函数、类等实体的名称。标识符必须…

kafka学习记录

文章目录 windows单机版kafka搭建步骤主题的增删改查操作消息的生产与消费 Windows集群版kafka搭建步骤 prettyZoo 尚硅谷Kafka教程,2024新版kafka视频,零基础入门到实战 【尚硅谷】Kafka3.x教程(从入门到调优,深入全面&#xff0…

我是如何快速上线项目文档的

Hello , 我是"小恒不会java" 本文适合有使用Markdown,HTML,nginx经验的读者阅读 其中每一个小标题代表作者的突破点,每个技巧都是小tip 说说我的上线流程 使用mkdocs生成模板写入写好的Markdown文件mkdocs build生成静态文件&…