NFS p.1 服务器的部署以及客户端与服务端的远程挂载

news2024/10/5 0:34:26

目录

介绍

应用

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的工作原理

cbe8e6497e5b46169cba290047d5aa76.png

切记:!!!!先启动RPC服务

NFS的使用

步骤

1、两台机子

一台为服务器,一台为主机,我做实验时用的就是将一台机子进行了克隆,克隆为node(用户端),而原先的server(服务)则不变4167fd2ad3844d378ca78e398d8138cf.png

克隆的位置在管理快照里面,找到最下面有一个“新建链接克隆”

23ba559562b44c0fafd408d3e13e8101.png

克隆完后进入机子,将其的名字改为node

hostnamectl set-hosetname node 
设更改机子名字
reboot
更改后要进行重启

(以上虚拟机的部署为Mac Os的用户,Windows用户不用这个,Windows可以直接在VM虚拟机里直接克隆,比Mac Os方便)

搞定后,两台机子同时启动,在用链接软件同时进行连接

be904b15490b44b5aac90055335e7324.png

这样方便后面的操作

2、安装

首先先用yum list | grep nfs在服务端进行查看,看看是否安装NFS

39c302c8be5e47ddbdb25f6695ef6211.png

搜索出来后,查看这几行,其中第一行c746c211800a474e93f84a9e146faa8c.png

就是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和防火墙是否开放:

getenforce

systemctl status firewall

然后服务端安装rpcbind,nfs-utils,

20755ec33a8d4ca8aba4883e2bdd0a59.png

然后服务端在根下面建立一个同名的文件:mkdir /nfsfile

然后进行查看nfsfile的权限:ls -ld /nfsfile

036312be684147e2b53d400699431cba.png

得到此时文件夹只能读,不能写,然后先往文件里写入数据:

echo "welcome to www.myworld.com" > /nfsfile/readme

便于后期查看是否能够访问成功,是否能够进行网络共享

修改服务端的主配置文件:vim /etc/exports

f845dbe72a694f7fbf215d66745e251d.png

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

23174a442f7648678d8661117e18c637.png

检查无误后即可保存退出

启动服务:

切记!!!先启动rpc,再启动nfs

systemctl start rpcbind 
    rpc优先
systemctl start nfs-server
    nfs随后

7e2de5ee2af747cd890b5168af1df70d.png

没有报错就是胜利!✌️

若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服务器,知道对方共享了那些信息可以进行访问

58347f427cfd41b1a1e6be7fd6339426.png

客服端访问是通过访问的方式进行访问的,通过远程挂载实现的,客户端是通过建立一个目录后,将对面的目录挂载到本地,然后就当作本地目录一样访问

步骤

建立一个目录mkdir /nfs1,然后用远程挂载命令将对方的共享目录与我的目录做关联,然后就可以通过本地目录(nfs1)进入服务端所共享的目录,用代码

mount -t nfs 10.211.55.10:/nfsfile /nfs1

-t                            指所用的协议
10.211.55.10:/nfsfile         前面ip为指明的路径与目标目录用:隔开后输入目录名字
/nfs1                         指所挂载的本地目录

59ac4e598257440c9cf40b589adc7df1.png

如何去访问呢?直接通过

cd /nfs1
  cd到本地目录
ls
  查看本地目录的内容
cat readme
  查看共享目录里的内容

即可访问

6ce5d591bde045538f2ac30fb8119e71.png

如果能看到就表明访问成功

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

2bc5d4ad2cba474b8ba254ba2d86b557.png

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

ce262ee026514c2db75f7095f3fd0f2a.png

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

挂载点目录,即为本地的目录:/nfs1

bee8d27ac89f4a819fc422e818a178b5.png

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

可以用mount | grep nfs进行查看挂载

1c268369b49e42ca8a91d8fdff1fb594.png

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

1e49c901a0544056a158edaebfaeb42e.png

查看完后重启查看成果

aa02fdf06e1243d5a53613e03ab4104e.png

然后此时就是成功永久挂载

最后查看也是成功即可

f1288afb6834490a9b073dae3f7edc02.png

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

redis数据类型之string,list

华子目录 key操作说明SCAN cursor [MATCH pattern] [COUNT count]dump与restorekeys 通配符 示例演示 string说明setbit key offset valuegetbit key offsetsetrange key offset value List结构图相关命令lrem key count valueltrim key count value示例:使用 LTRIM…

Blazor入门-svg绘制-碰撞检测和图形坐标调整

上一篇: Blazor入门-简单svg绘制导出图像_blazor 画图-CSDN博客 https://blog.csdn.net/pxy7896/article/details/139003443 注意:本文只给出思路和框架,对于具体的计算细节,考虑到日后会写入软件著作权和专利文书,因…

被追着问UUID和自增ID做主键哪个好,为什么?

之前无意间看到群友讨论到用什么做主键比较好 其实 UUID 和自增主键 ID 是常用于数据库主键的两种方式,各自具有独特的优缺点。 UUID UUID 是一个由 128 位组成的唯一标识符,通常以字符串形式表示。它可以通过不同的算法生成,例如基于时间…

绝招曝光!3小时高效利用ChatGPT写出精彩论文

在这份指南中,我将深入解析如何利用ChatGPT 4.0的高级功能,指导整个学术研究和写作过程。从初步探索研究主题,到撰写结构严谨的学术论文,我将一步步展示如何在每个环节中有效运用ChatGPT。如果您还未使用PLUS版本,可以…

C++入门 ros自定义msg话题通信

一、 开发环境 ubuntu20.04 ros版本noetic 参考视频 https://www.bilibili.com/video/BV1Ci4y1L7ZZ/?p52&spm_id_from333.1007.top_right_bar_window_history.content.click&vd_source4cd1b6f268e2a29a11bea5d2568836ee 二、 编写msg文件 在功能包下面创建msg文件夹…

【源码】6语言跨境电商PHP源码 精美UI+功能强大开源无授权

6语言跨境电商PHP源码 精美UI功能强大开源无授权 英文,简体中文,繁体中文,日语、泰语、越南语6语言。功能非常强大,UI也很漂亮的跨境电商源码。基于国外成熟电商系统二开的源码,带POS系统。 系统采用Laravel框架开发…

盘点好用的国产传输软件,看看哪个适合你

流动让数据释放价值,无论什么企业,什么行业,业务的正常开展均是以数据和文件的传输为基础,因此,对企业来说,文件传输工具是最基础但也是最举重若轻的。在琳琅满目的多种国产传输软件中,哪个是最…

【运筹学】前言:基础知识

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

CISCN --EzHeap

当时有点着急了,这题没写出来,结束后在ctfshow上做了一下。 使用的方法是environ泄露栈地址,然后在栈上构造orw的rop链。 以下是过程: 只能orw。 堆体开沙盒模式会在heap和bin一开始构造很多垃圾堆。所以分配和free的时候要注意…

1806 jsp防疫物资销售管理系统 Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 防疫物资销售管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助采用了java设计,系统具有完整的源代码和数据库,系统采用web模式,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.…

Ps:消失点滤镜 - 透视平面和网格

Ps菜单:滤镜/消失点 Filter/Vanishing Point 快捷键:Ctrl Alt V “消失点”滤镜中的透视平面 Plane和网格 Grid用于在编辑图像时保持正确的透视效果。 只有定义了与图像透视对齐的矩形平面,才能在消失点中进行编辑。平面的精确度确定了能否…

[自动驾驶技术]-5 Tesla自动驾驶方案之算法(AI Day 2021)

有朋友问我,如何有效学习一个新技术。笔者这么多年的经验是:1)了解国内外产业应用和标准法规现状,先建立宏观知识图谱及技术系统框架;2)根据系统框架逐块进行深入研究(横向、纵向)&a…

【LLM第7篇】transformer跟bert、gpt、大模型的联系

上一篇讲了transformer的原理,接下来,看看它的衍生物们。 Transformer基本架构 Transformer模型主要由两部分组成:编码器(Encoder)和解码器(Decoder)。编码器负责处理输入序列,将其…

正邦科技(day2)

自动校准 问题:电量不准都可以直接去校准 校准方式:可程式变频电压 问题分析:他是通过软件去自动自动校准的,flash 清空的时候有缓存没有清空,或者互感器没有读取到问题 互感器:电流互感器的作用包括电流测…

2024年5月份架构师考试真题完整版

截至2024-5-28 19:24:14已全部收录完成 共75到选择题,5道案例题,4道论文题。题目顺序不分先后。 全网最全的2024年5月份架构师考试真题回忆版,包含答案和解析。 群友 疯狂程序员 花落无声 半夏 鲁迅-三战老兵(预备役) 本次必成 锦鲤附体 2024…

LabVIEW车轮动平衡检测系统

LabVIEW车轮动平衡检测系统 随着汽车行业的快速发展,车轮动平衡问题对乘坐舒适性、操控稳定性及安全性的影响日益凸显,成为了提高汽车性能的一个关键环节。传统的检测系统因精度低、成本高、操作复杂等问题,难以满足现代汽车行业的需求。开发…

100个 Unity小游戏系列四 -Unity 抽奖游戏专题二 水果机游戏

一、演示效果 二、知识点 2.1 布局 private void CreateItems(){for (int i 0; i < rewardDatas.Length; i){var reward_data rewardDatas[i];GameObject fruitOjb;if (i < itemRoot.childCount){fruitOjb itemRoot.GetChild(i).gameObject;}else{fruitOjb Instant…

C++数据结构之:链List

摘要&#xff1a; it人员无论是使用哪种高级语言开发东东&#xff0c;想要更高效有层次的开发程序的话都躲不开三件套&#xff1a;数据结构&#xff0c;算法和设计模式。数据结构是相互之间存在一种或多种特定关系的数据元素的集合&#xff0c;即带“结构”的数据元素的集合&am…

如何恢复已删除/丢失或未保存的 PDF 文件?

许多用户曾因某些问题删除或丢失 PDF 文件。此外&#xff0c;一些用户在关闭应用程序时未保存 PDF 文件&#xff0c;从而丢失 PDF 文件。您可以尝试一些解决方案来恢复已删除的 PDF 文件、恢复未保存的 PDF 文件&#xff0c;以及在任何其他数据丢失情况下挽救丢失的 PDF 文件。…

汇编原理(四)[BX]和loop指令

loop&#xff1a;循环 误区&#xff1a;在编译器里写代码和在debug里写代码是不一样的&#xff0c;此时&#xff0c;对于编译器来说&#xff0c;就需要用到[bx] [bx]: [bx]同样表示一个内存单元&#xff0c;他的偏移地址在bx中&#xff0c;比如下面的指令 move bx, 0 move ax,…