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

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

getenforcesystemctl 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-servernfs随后

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 /nfs1cd到本地目录
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.mzph.cn/pingmian/20160.shtml

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

相关文章

新宏观范式和产业趋势下,纷享销客如何助力企业出海?

出海,已不再是企业的“备胎”,而是必须面对的“大考”!在这个全球化的大潮中,有的企业乘风破浪,勇攀高峰,也有的企业在异国他乡遭遇了“水土不服”。 面对“要么出海,要么出局”的抉择&#xff…

C++设计模式-策略模式

文章目录 27. 策略模式 运行在VS2022,x86,Debug下。 27. 策略模式 策略模式让算法的选择与使用独立开来,使得代码更灵活、可扩展和易维护。应用:如在游戏开发中,AI角色需要根据环境和条件做出不同的行为,如…

微型导轨在自动化制造中有哪些优势?

微型导轨在自动化制造中发挥重要作用,能够满足自动化设备制造中对精度要求较高的工艺环节。适用于自动装配线、自动检测设备和机器人操作等环节,推动了行业的进步与发展。那么,微型导轨在使用中有哪些优势呢? 1、精度高和稳定性强…

Vue之组件基础(插槽)

在HTML中,开发者可以在双标签内添加一些信息。而在Vue中,组件以标签的形式引用,那么如何在组件的标签内添加一些信息并将信息渲染到页面中呢?其实,Vue 提供了插槽,专门用来实现这样的效果。 一.什么是插槽 Vue为组件…

【会议征稿】2024年无人驾驶与智能传感技术国际学术会议(ADIST 2024)

2024年无人驾驶与智能传感技术国际学术会议(ADIST 2024)将于2024年6月28-30日在珠海召开。ADIST 2024旨在搭建学术资源共享平台,加强中外学术合作,促进自动驾驶和智能传感技术的发展,促进全球研究人员、开发人员、工程…

react、vue动态form表单

需求在日常开发中反复写form 是一种低效的开发效率,布局而且还不同这就需要我们对其封装 为了简单明了看懂代码,我这里没有组件,都放在一起,简单抽离相信作为大佬的你,可以自己完成, 一、首先我们做动态f…

PostgreSQL的学习心得和知识总结(一百四十四)|深入理解PostgreSQL数据库之sendTuples的实现原理及功能修改

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…

C# 类型系统

1. 隐式类型 c#允许使用 var 声明变量,编译期会通过初始化语句右侧的表达式推断出变量的类型。 // i is compiled as an int var i 5;// s is compiled as a string var s "Hello";// a is compiled as int[] var a new[] { 0, 1, 2 };// expr is co…

521源码网-免费网络教程-Cloudflare使用加速解析-优化大陆访问速度

Cloudfalre 加速解析是由 心有网络 向中国大陆用户提供的公共优化服务 接入服务节点: cf.13d7s.sit 接入使用方式类似于其它CDN的CNAME接入,可以为中国大陆用户访问Cloudflare网络节点大幅度加速,累计节点130 如何接入使用 Cloudflare 加速解析&#…

【机器学习300问】106、Inception网络结构如何设计的?这么设计的目的是什么?

谷歌的Inception网络,也被称为GoogLeNet,是Google在2014年推出的一种深度卷积神经网络(CNN)模型,在这之前的AlexNet、VGG等结构都是通过增大网络的深度(层数)来获得更好的训练效果,但…

阿里云 通过EIP实现VPC下的SNAT以及DNAT

192.168.0.85 有公网地址192.1680.95无公网地址 在192.168.0.85(有公网地址服务器上操作) #开启端口转发 echo "net.ipv4.ip_forward 1" >> /etc/sysctl.conf sysctl -p#仅允许192.168.0.95 iptables -t nat -I POSTROUTING -s 192.16…

【前缀和 记忆化搜索】LeetCode1444. 切披萨的方案数

本文涉及的基础知识点 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 动态规划 记忆化搜索 LeetCode1444. 切披萨的方案数 给你一个 rows x cols 大小的矩形披萨和一个整数 k ,矩形包含两种字符: ‘A’ &#xff…

GEYA格亚GRT8-S1S2间歇性双时间循环继电器时间可调交流220V 24v

品牌 GEYA 型号 GRT8-S2 AC/DC12-240V 产地 中国大陆 颜色分类 GRT8-S1 A220,GRT8-S1 AC/DC12-240V,GRT8-S2 A220,GRT8-S2 AC/DC12-240V GRT8-S,循环延时,时间继电器:LED指示灯,触头容量大,电压超宽&#xff0…

某咨询公司的大数据解决方案介绍(32页PPT)

方案介绍: 本咨询公司的大数据平台解决方案以企业实际需求为出发点,结合先进的大数据技术和行业经验,为企业提供一站式的大数据服务。通过实时数据收集与处理、深度数据分析与挖掘、可视化数据展示以及灵活的数据应用与扩展,帮助…

25. 悲观锁 和 乐观锁

文章目录 悲观锁 和 乐观锁1.基于CAS实现乐观锁2.自旋锁2.1.不可重入自旋锁2.2.可重入自旋锁2.3.CLH自旋锁 悲观锁 和 乐观锁 Java中的synchronized就是悲观锁的一个实现,悲观锁可以确保无论哪个线程持有锁,都能独占式的访问临界区代码,虽然悲…

企业微信hook接口协议,ipad协议http,获取欢迎语列表

获取欢迎语列表 参数名必选类型说明uuid是String每个实例的唯一标识,根据uuid操作具体企业微信 请求示例 {"uuid":"3240fde0-45e2-48c0-90e8-cb098d0ebe43","offset":"","limit":10 } {"data": {&…

HTML静态网页成品作业(HTML+CSS)—— 冶金工程专业展望与介绍介绍网页(2个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有2个页面。 二、作品演示 三、代…

手机离线翻译哪个好?断网翻译也能超丝滑

有时在异国他乡,面对语言不通的窘境,即便是简单的对话也变得异常困难,真是挑战满满! 然而,能离线翻译的软件让语言障碍不再是问题,不必依赖网络也能轻松进行翻译啦~ 只需下载所需的语言包,选择…

信息系统项目管理师0604:项目整合管理 — 历年考题(详细分析与讲解)

点击查看专栏目录 1、2017年11月第34题 项目经理张工带领团队编制项目管理计划,(34)不属于编制项目管理计划过程的依据。 A. 项目章程B. 事业环境因素C. 组织过程资产D. 工作分解结构【答案】D 【解析】考查的是编写项目管理计划的相关知识,需要掌握。编写项目管理计划的…

HNU-深度学习-电商多模态图文检索

前言 主要是跟着baseline搭了一遍,没有想到很好的优化。 有官方教程,但是有点谬误,所以就想着自己记录一下我的完成过程。 github项目地址: https://github.com/OFA-Sys/Chinese-CLIP 官方文档: 电商多模态图文检…