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

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

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用 Apache Commons Exec 管理外部进程

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

基于 Apache Doris 的实时/离线一体化架构,赋能中国联通 5G 全连接工厂解决方案

作者:田向阳,联通西部创新研究院 大数据专家 共创:SelectDB 技术团队 导读: 数据是 5G 全连接工厂的核心要素,为支持全方位的数据收集、存储、分析等工作的高效进行,联通 5G 全连接工厂从典型的 Lambda 架…

使用PNP管控制MCU是否需要复位

这两台用到一款芯片带电池,希望电池还有电芯片在工作的时候插入电源不要给芯片复位,当电池没电,芯片不在工作的时候,插入电源给芯片复位所以使用一个PNP三极管,通过芯片IO控制是否打开复位,当芯片正常工作的…

在长窗口时代,RAG技术是否仍然必要?

自从谷歌推出 Gemini 1.5 Pro,行业内部对于 RAG 的讨论就不绝于耳。 Gemini 1.5 Pro 的性能确实令人瞩目。根据谷歌公布的技术文档,该系统能够稳定处理长达 100 token 的内容,相当于一小时的视频、十一小时的音频、超过三万行的代码或七十万…

Spring Cloud Alibaba-09-Seata分布式事务

Lison <dreamlison163.com>, v1.0.0, 2024.5.03 Spring Cloud Alibaba-09-Seata分布式事务 文章目录 Spring Cloud Alibaba-09-Seata分布式事务分布式事务基础事务本地事务分布式事务分布式事务的场景 分布式事务的解决方案全局事务可靠消息服务最大努力通知TCC事务 Se…

Java实现数据结构---数组

文章目录 概念存储原理数组的操作完整代码 概念 数组是&#xff08;Array&#xff09;是有限个相同类型的变量所组成的有序集合&#xff0c;数组中的每一个变量为称为元素。数组是最简单、最常用的数据结构。 数组下标从零开始。 存储原理 数组用一组连续的内存空间来存储一…

蓝桥杯第17135题 不完整的算式 C++ Java Python

目录 题目 思路和解题方法 步骤 1&#xff1a;识别缺失的部分 步骤 2&#xff1a;根据已知条件计算或推断 步骤 3&#xff1a;处理特殊情况和验证 c 代码 Java 版本 Python 版本&#xff08;仅供参考&#xff09; 代码和解题细节&#xff1a; 题目 题目链接&#xff…

STM32自己从零开始实操03:输出部分原理图

一、继电器电路 1.1指路 延续使用 JZC-33F-012-ZS3 继电器&#xff0c;设计出以小电流撬动大电流的继电器电路。 &#xff08;提示&#xff09;电路需要包含&#xff1a;三极管开关电路、续流二极管、滤波电容、指示灯、输出部分。 1.2数据手册重要信息提炼 联系排列&…

神经网络与深度学习——第3章 线性模型

本文讨论的内容参考自《神经网络与深度学习》https://nndl.github.io/ 第3章 线性模型 线性模型 线性模型&#xff08;Linear Model&#xff09;是机器学习中应用最广泛的模型&#xff0c;指通过样本特征的线性组合来进行预测的模型&#xff0c;给定一个 D D D维样本 x [ x …

解锁 GPT-4o 背后数据带来的情绪价值

GPT-4o 可以说已经是一个富有情感、通人性的智能语音助手&#xff0c;或者更准确地说&#xff0c;是一个越来越接近人类交互的 “新物种”。这个强大的模型同时具备文本、图片、视频和语音理解和合成方面的能力&#xff0c;甚至可以被视为 GPT-5 的一个未完成版。 01 富有情感的…

lipo制作通用版本静态库

文章目录 目的了解多架构的maclipo如何利用lipo编译通用版本静态库lipo 命令整理扩展目的 主要是使用lipo命令在macOS上创建通用版本的静态库(.a文件),来支持多种架构,如arm64,x86_64。 学习目的: 了解mac 不同架构arm64, x86_64了解lipo命令了解多架构的mac 随着appl…

Linux - 文件管理高级1

0.管道 | 将前面命令的标准输出传递给管道作为后面的标准输入 1.文件查找 find find 进行文件查找时&#xff0c;默认进行递归查找&#xff0c;会查找隐藏目录下的文件 1.1 用法 # find 查找路径 查找条件... -type // 文件类型 f 普通文件 b 设备 d …

数据目录用处如此之大?四个步骤教你构建数据目录

在数字化浪潮的推动下&#xff0c;数据已成为企业决策的核心。然而&#xff0c;随着数据量的爆炸性增长&#xff0c;如何高效地管理和利用这些宝贵的数据资产&#xff0c;成为了一个日益严峻的挑战。企业需要一个强大的工具来组织、索引和解释其数据&#xff0c;以便快速发现和…

代理IP怎么检测?如何判断IP好坏?

当我们的数字足迹无处不在&#xff0c;隐私保护显得愈发重要。而代理IP就像是我们的隐身斗篷&#xff0c;让我们在各项网络业务中更加顺畅。 我们常常看到别人购买了代理IP服务后&#xff0c;用在线检测网站检查IP&#xff0c;相当于一个”售前检验““售后质检”的作用。但是…

图书管理系统——Java实现

文章目录 Java实现图书管理系统问题分析框架搭建业务实现项目测试代码演示BookioperationUserMain&#xff08;默认包&#xff09; Java实现图书管理系统 学习了前六篇的SE语法&#xff0c;我们现在要用它们实现一个简单的图书管理系统项目&#xff0c;深入了解各个知识点的应…

【CH32V305FBP6】4. systick 配置

配置 main.c void SYSTICK_Init_Config(u_int64_t ticks) {SysTick->SR & ~(1 << 0);//clear State flagSysTick->CMP ticks - 1;SysTick->CNT 0;SysTick->CTLR 0xF;NVIC_SetPriority(SysTicK_IRQn, 15);NVIC_EnableIRQ(SysTicK_IRQn); }中断计数 …

算法-扫描线

目录 什么是扫描线算法&#xff1f; 扫描线简单应用 更多的扫描线 什么是扫描线算法&#xff1f; 在计算几何中&#xff0c;扫描线算法&#xff08;scan line algorithm&#xff09;一般用来解决几何图形的面积交并&#xff0c;周长交并问题&#xff0c;扫描线算法的核心思想…

Day 8:1461. 检查一个字符串是否包含所有长度为 K 的二进制子串

Leetcode 1461. 检查一个字符串是否包含所有长度为 K 的二进制子串 给你一个二进制字符串 s 和一个整数 k 。如果所有长度为 k 的二进制字符串都是 s 的子串&#xff0c;请返回 true &#xff0c;否则请返回 false 。 截取每个长度为 k 的字符串&#xff0c;加入 Set 中&#x…

wpf listbox实现选中动画

效果如下&#xff1a; 参考&#xff1a;https://github.com/WPFDevelopersOrg/WPFDevelopers/blob/master/src/WPFDevelopers.Samples.Shared/Controls/NavigateMenu/NavigateMenu.xaml 实现上述效果的前台代码&#xff1a; <Windowx:Class"ListBox.MainWindow"…

数据隐私新篇章:Facebook如何保护用户信息

随着数字化时代的到来&#xff0c;数据隐私保护成为了社交媒体平台和用户共同关注的焦点。作为全球最大的社交网络之一&#xff0c;Facebook一直致力于保护用户的隐私和数据安全。本文将深入探讨Facebook在数据隐私保护方面的措施和实践&#xff0c;以及其如何开启数据隐私的新…