NFS p.1 服务器的部署以及客户端与服务端的远程挂载
目录
介绍
应用
NFS的工作原理
NFS的使用
步骤
1、两台机子
2、安装
3、配置文件
4、实验
服务端
准备
启动服务:
客户端
准备
步骤
介绍
NFS(Network File System,网络文件系统)是一种古老的用于在UNIX/Linux主机之间进行文件共享的协议(电脑间的共享)。它古老到你必须穿着白大褂才能接近一台计算机的年代。在那个年代,所有的联网计算机都被认为是可信的,而不像现今这样,任何人都有多种多样方法能连接到你的计算机。因此,NFS在开发的时候专注于快速及易用的文件共享,而忽视了其安全性设计
NFS 是FreeBSD支持的文件系统中的一种,它允许网络中的计算机(不同的计算机、不同的操作系统)之间通过TCP/IP网络共享资源,主要在unix系列操作系统上使用。
NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中看来,那个远程主机的目录就好像是自己的一个磁盘分区一样
由于NFS支持的功能比较多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此NFS的功能所对应的端口并不固定,而是随机取用一些未被使用的小于1024的端口用于传输。但如此一来就会产生客户端连接服务器的问题,因为客户端需要知道服务器端的相关端口才能够连接。此时就需要RPC
RPC(Remote Procedure Call,远程过程调用):由于服务器在启动NFS时会随机选取数个端口号,并主动向RPC注册,所以RPC知道每个NFS功能所对应的端口号,RPC将端口号通知给客户端,让客户端可以连接到正确的端口上去。RPC采用固定端口号port 111来监听客户端的需求并向客户端响应正确的端口号(一般用于NFS的相关信息,方便客服端查到)
应用
一般用于前端web服务的共享存储,一般包括用户的头像,附件,图片等等(微信头像、图片、附件)网站的源代码不跟NFS放在一起,以防服务器崩了全坏,因此NFS是互联网中数据存储最常用的服务之一,中小型网站用得最多
NFS的工作原理

切记:!!!!先启动RPC服务
NFS的使用
步骤
1、两台机子
一台为服务器,一台为主机,我做实验时用的就是将一台机子进行了克隆,克隆为node(用户端),而原先的server(服务)则不变
克隆的位置在管理快照里面,找到最下面有一个“新建链接克隆”

克隆完后进入机子,将其的名字改为node
hostnamectl set-hosetname node
设更改机子名字
reboot
更改后要进行重启
(以上虚拟机的部署为Mac Os的用户,Windows用户不用这个,Windows可以直接在VM虚拟机里直接克隆,比Mac Os方便)
搞定后,两台机子同时启动,在用链接软件同时进行连接

这样方便后面的操作
2、安装
首先先用yum list | grep nfs在服务端进行查看,看看是否安装NFS

搜索出来后,查看这几行,其中第一行
就是NFS的主要文件,如果没有,可以进行安装,输入
yum install nfs-utils -y
即可进行安装
同理可用yum list | grep rpc来查看是否有rpc,若没有则需要安装一个rpc
yum install rpcbind -y
注意:rpcbind为rpc的全名,安装时必须将其打全
3、配置文件
配置etc下的exports文件,可能不存在,可以直接用cat /etc/exports进行查看文件是否存在,若不存在,cat后就会创建一个
(主配置文件exports为空)
格式:共享目录的路径 允许访问的客服端名单(共享的权限参数)
名单写被允许的用户的域名ip,且后面的权限参数跟名单之间没有空格
所写的白名单里可以写完整的ip地址或者是ip网段:
1、10.211.55.10/24
2、10.211.55.10/255.255.255.0(与第一种一样,只是把后面的子网掩码没有简化)
3、10.211.55.0/24(直接允许某个网段)
4、*(允许所有的主机都可以访问)
共享的权限参数:共有三段(___,____,____)
示例:/home/public *(rw,sync,all_squash)——服务器共享路径为/home/public里的数据,所有人都可以访问,可读可写,同步传输,账户映射为nobody
4、实验
服务端
准备
服务端先检查 selinux和防火墙是否开放:
getenforcesystemctl status firewall
然后服务端安装rpcbind,nfs-utils,

然后服务端在根下面建立一个同名的文件:mkdir /nfsfile
然后进行查看nfsfile的权限:ls -ld /nfsfile

得到此时文件夹只能读,不能写,然后先往文件里写入数据:
echo "welcome to www.myworld.com" > /nfsfile/readme
便于后期查看是否能够访问成功,是否能够进行网络共享
修改服务端的主配置文件:vim /etc/exports

进来后按照前面的格式进行修改:路径 白名单(权限)

检查无误后即可保存退出
启动服务:
切记!!!先启动rpc,再启动nfs
systemctl start rpcbind rpc优先
systemctl start nfs-servernfs随后

没有报错就是胜利!✌️
若rpc启动报错(启动报错就不要碰nfs,否则实验失败)!!!可用以下代码解决
systemctl stop rpcbind先暂停
systemctl start rpcbind 再启动
再为rpc和nfs增加开机启动(无顺序):systemctl enable rpcbind systemctl enable nfs-server
客户端
准备
安装nfs,因为要用到相关的工具:yum install nfs-utils -y
使用showmount命令,可以查看服务端的rpc服务器,进而查询到对应的nfs服务器,知道对方共享了那些信息可以进行访问

客服端访问是通过访问的方式进行访问的,通过远程挂载实现的,客户端是通过建立一个目录后,将对面的目录挂载到本地,然后就当作本地目录一样访问
步骤
建立一个目录mkdir /nfs1,然后用远程挂载命令将对方的共享目录与我的目录做关联,然后就可以通过本地目录(nfs1)进入服务端所共享的目录,用代码
mount -t nfs 10.211.55.10:/nfsfile /nfs1-t 指所用的协议
10.211.55.10:/nfsfile 前面ip为指明的路径与目标目录用:隔开后输入目录名字
/nfs1 指所挂载的本地目录

如何去访问呢?直接通过
cd /nfs1cd到本地目录
ls查看本地目录的内容
cat readme查看共享目录里的内容
即可访问

如果能看到就表明访问成功
但此时的挂载还只是临时挂载,不是永久挂载,若要做到永久挂载需要进行先回到root界面,直接cd,修改在客户端输入vim /etc/fstab 切记!!!!!!后面的修改必须全部正确!!!!!

先添加成这样方便后面的添加,以防出错

首先知道的是挂载设备名即为本地所需要挂载的远程目录:10.211.55.10:/nfsfile挂载点目录,即为本地的目录:/nfs1

再三检查后保存退出,然后输入mount -a执行挂载,mount -a的意思是:将未执行挂载的进行挂载,若有问题,则会在输入后报错,立马改正,就不会使电脑启动失败
可以用mount | grep nfs进行查看挂载

df -h进行查看文件的挂载(若重启成功后,查看时发现还在则成功)

查看完后重启查看成果

然后此时就是成功永久挂载
最后查看也是成功即可

相关文章:
NFS p.1 服务器的部署以及客户端与服务端的远程挂载
目录 介绍 应用 NFS的工作原理 NFS的使用 步骤 1、两台机子 2、安装 3、配置文件 4、实验 服务端 准备 启动服务: 客户端 准备 步骤 介绍 NFS(Network File System,网络文件系统)是一种古老的用于在UNIX/Linux主…...
性能工具之 JMeter 常用组件介绍(二)
文章目录 一、Thread Group二、断言组件1、Response Assertion:响应断言2、Response Assertion:响应断言3、Duration Assertion:响应时间断言4.、JSON Assertion:json断言 一、Thread Group 线程组也叫用户组,是性能测…...
Bev 车道标注方案及复杂车道线解决
文章目录 1. 数据采集方案1.1 传感器方案1.2 数据同步2. 标注方案2.1 标注注意项2.2 4d 标注(时序)2.2.1 4d标签制作2.2.2 时序融合的作用2.2.2.1 时序融合方式2.2.2.2 时序融合难点2.2.2.2 时序实际应用情况3. 复杂车道线解决3.1 split 和merge车道线的解决3.2 大曲率或U形车道…...
vue 将echart 下载为base64图片
1 echart是页面的子组件, 2 页面有多个echart 3 将多个echart下载为base64图片 // 子组件 echart,要保存echartconst chart this.$echarts.init(this.$refs.chart, light) this.chartData chart; //保存数据,供父组件alarmReport调用(th…...
视频汇聚EasyCVR平台视图库GA/T 1400协议与GB/T 28181协议的区别
在公安和公共安全领域,视频图像信息的应用日益广泛,尤其是在监控、安防和应急指挥等方面。为了实现视频信息的有效传输、接收和处理,GA/T 1400和GB/T 28181这两个协议被广泛应用。虽然两者都服务于视频信息处理的目的,但它们在实际…...
白杨SEO:小红书标题怎么写?小红书怎么推广引流到微信?小红书违规注销不了怎么办?33个小红书运营常见问题解答【干货】
前言:这是白杨SEO公号原创第533篇。为什么想到写这个?因为很多白杨SEO朋友在做小红书遇到这样或那样的问题来问我,所以我把一些问得较多的常见热门问题整理写出来,有需要的可以随时查看,收藏与分享。图片在公众号白杨S…...
Linux压测
目录 CPU压测 内存压测 本文主要是编写了shell脚本,对Linux系统进行CPU和内存的压测。 CPU压测 [rootlocalhost ~]# cat cpu_stress_test.sh #!/bin/bash # 定义压测CPU的函数 function test_cpu() { # 初始化时间变量 local time # 获取参数 while geto…...
Linux如何远程连接服务器?
远程连接服务器是当代计算机技术中一个非常重要的功能,在各种领域都有广泛的应用。本文将重点介绍如何使用Linux系统进行远程连接服务器操作。 SSH协议 远程连接服务器最常用的方式是使用SSH(Secure Shell)协议。SSH是一种网络协议ÿ…...
Java 应用部署与优化:简单介绍Java应用的部署策略,并讲解一些常用的Java应用性能优化技巧
I. Java 应用部署 A. 容器化部署 Docker 的简介及其优势 Docker是一种开源的容器化技术,它可以将应用及其依赖打包在一起作为一个可运行的独立单元进行运行。Docker的主要优势包括以下几点: 便携性:无论在哪种环境下,只要安装了Docker,就可以运行Docker容器。 一致性:…...
cudart link错误自动修复脚本
问题 在conda安装cuda环境时 mamba install pytorch torchvision torchaudio pytorch-cuda12.1 -c pytorch -c nvidia -y mamba install nvidia/label/cuda-12.1.0::cuda安装的envs/xxx/lib/libcudart.so 会link到错的 如果手动修复太复杂,我写了一个脚本自动修复…...
个人笔记-随意记录
常见问题? 1.linux重启服务 端口被占用如何解决? 查看某个端口被占用的进程 netstat -tulnp | grep :23454 强制杀死进程 kill -9 1776 重启服务即可...
Linux:confluence8.5.9的部署(下载+安装+破ji)离线部署全流程
0.环境 Confluence也是比较吃运存了,我建议运行运存给到4g或者4g以上就可以了,核数可以给到1核或以上 我部署在centos7.9操作系统上,ip地址为:192.168.6.1,yum仓库使用的是自己的镜像文件,本章所有使用到…...
JavaDS-学习数据结构之如果从零开始手搓顺序表,顺带学习自定义异常怎么用!
前言 笔者开始学习数据结构了,虽然笔者已经会用了,不管是C 中的stl亦或是Java 中的集合,为了算法比赛多少都突击过,但只知其然而不知其所以然,还是会限制发展的,因此,笔者写下这篇博客.内容是手搓一个顺序表.顺带加一点异常的使用,大伙看个乐子就好了.有错误直接私信喷我就好了…...
汽车IVI中控开发入门及进阶(二十三):i.MX8
前言: IVI市场的复杂性急剧增加,而TimeToMarket在几代产品中从5年减少到2-3年。Tier1正在接近开放系统的模型(用户可以安装应用程序),从专有/关闭源代码到标准接口/开放源代码,从软件堆栈对系统体系结构/应用层/系统验证和鉴定的完全所有权,越来越依赖第三方中间件和平…...
HarmonyOS(29)onMeasureSize和PlaceChildren (View的测量和布局)
onMeasureSize和PlaceChildren onMeasureSize和PlaceChildren 说明官方使用示例参考资料 onMeasureSize和PlaceChildren 说明 在Android开发中View的测量onMeasure和布局onLayout是自定义组件必备的两个方法,HarmonyOS对自定义布局也提供了两个方法: on…...
如何管理和维护组件库?
管理和维护组件库是一个关键的任务,因为它直接关系到产品的稳定性和功能的实现。以下是一些有效的方法来管理和维护组件库: 创建清晰的命名和文件结构:为每个组件分配一个有意义的名称,并根据功能和类型进行有层次的分类。确保文件…...
使用Python和wxPython将PNG文件转换为JPEG文件
简介: 在图像处理中,有时候我们需要将PNG格式的图像文件转换为JPEG格式。本篇博客将介绍如何使用Python编程语言和wxPython图形用户界面库,以及Pillow图像处理库来实现这一转换过程。通过本文的指导,您将学习如何快速将指定文件夹…...
spark的简单学习二
一 spark sql基础 1.1 Dataframe 1.介绍: DataFrame也是一个分布式数据容器。然而DataFrame更像传统数据库的二维表 格,除了数据以外,还掌握数据的结构信息,即schema。同时,与Hive类似,DataFrame也支 持…...
测试文章27-这是一篇测试文章请忽略
这是一篇测试文章请忽略 这是测试的文字,如有打扰请谅解。稍后测试完毕会删除 测试代码块 public static void main(String[] args){System.out.println("Hello, World!"); } aaa...
卡方分布和 Zipf 分布模拟及 Seaborn 可视化教程
卡方分布 简介 卡方分布是一种连续概率分布,常用于统计学中进行假设检验。它描述了在独立抽样中,每个样本的平方偏差之和的分布。卡方分布的形状由其自由度 (df) 参数决定,自由度越大,分布越平缓。 参数 卡方分布用两个参数来…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
