Centos7配置nfs

news2024/12/24 7:12:10

NFS

NFS 就是 Network FileSystem ,此系统可以让不同操作系统、不同主机通过网络彼此分享文件,可以将其视为一个文件服务器。使用NFS可以将远程NFS服务器的分享目录挂载到本地主机上,本地主机访问共享目录就是访问远程的NFS服务器。本地主机被称为客户端。

NFS使用远程过程调用协议(Remote Procedure Call)来实现文件的传输

实验时,至少要开启2个虚拟机,一个充当 **服务器**,一个充当**客户端**。我的两个虚拟机都是用root用户登录的。普通用户登录应该也可以,有兴趣的可以试一下。
服务器端和客户端都需要进行配置

step1、配置服务器 端

开启一个虚拟机,充当服务器,打开终端,进行如下配置。

  1. 安装nfs服务

    yum -y install rpcbind nfs-utils
    
  2. 在服务器上创建共享目录,并设置权限。

    可以创建多个共享目录,这只演示一个。

    mkdir -p /data/share/       (这个目录随意)
    chmod 755 -R /data/share/   (目录权限根据需求设置即可)
    
  3. 配置nfs的配置文件

    nfs的配置文件是 /etc/exports ,如果 你没有这个文件,可以手动创建一个。

    exports翻译为 出口、输出,它就是用来配置 哪个或哪些主机能访问 服务器端的哪个共享目录。

    使用 vim /etc/exports ,然后按 i 进入编辑模式,在文件里输入

    /data/share/ *(rw,no_root_squash,no_all_squash,sync)   #(*代表任何ip都可以访问/data/share目录)
    

    编辑完成后,按Esc键,然后敲 :wq 保存并退出。

    补充:

    括号里的内容是权限参数.

    rw 表示设置目录可读写。

    sync 表示数据会同步写入到内存和硬盘中,相反 rsync 表示数据会先暂存于内存中,而非直接写入到硬盘中。

    no_root_squash NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。

    no_all_squash 不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都不会拥有匿名用户权限。

    如果有多个共享目录配置,则使用多行,一行一个配置。保存好配置文件后,需要执行以下命令使配置立即生效:

    exportfs -r
    
  4. 防火墙设置

    博主采用直接关闭服务器端防火墙的方式。

    systemctl stop firewalld
    

    若不想关闭,请自行百度详细配置方式。

  5. 启动服务

    按顺序启动rpcbind和nfs服务:

    systemctl start rpcbind
    systemctl start nfs
    

    加入开机启动:

    systemctl enable rpcbind
    systemctl enable nfs
    

step2、配置客户 端

启动另一个虚拟机,这个虚拟机充当客户端。进行如下配置:

(注:我两台虚拟机都是用root登录的)

  1. 安装rpcbind

    客户端只需要安装rpcbind服务即可,无需安装nfs或开启nfs服务。

    yum -y install rpcbind
    
  2. 挂载远程nfs文件系统

    查看服务器端已共享的目录:使用 showmount -e 服务器的ip

    例如:192.168.10.128是nfs服务器的ip

    showmount -e 192.168.10.128
    

在这里插入图片描述

建立挂载目录(即挂载点),执行挂载命令:

 mkdir /mnt/nfsshare     (这个挂载目录随意创建)
 mount -t nfs 192.168.10.128:/data/share /mnt/nfsshare/ -o nolock,nfsvers=3,vers=3

如果不加 -onolock,nfsvers=3 则在挂载目录下的文件属主和组都是nobody,如果指定nfsvers=3则显示root。

-t nfs 表示这个设备(即nfs服务器上的share目录)使用的是nfs文件系统,

如果要解除挂载,可执行命令:umount 挂载点比如umount /mnt/nfsshare

  1. 设置开机自动挂载

    由于mount命令是临时挂载,所以,下一次开启虚拟机后,这个/mnt/nfsshare挂载目录就不能用了。所以我们要设置开机自动挂载。

    我们不要把挂载项写到/etc/fstab文件中,因为开机时先挂载本机磁盘再启动网络,而NFS是需要网络启动后才能挂载的,所以我们把挂载命令写入到/etc/rc.d/rc.local文件中即可。

    vim /etc/rc.d/rc.local
    按i进入编辑模式,然后在文件最后添加一行:
    mount -t nfs 192.168.10.128:/data/share /mnt/nfsshare/ -o nolock,nfsvers=3,vers=3
    然后Esc,敲:wq  退出并 保存
    

step3、测试

客户端输入命令:df -h

df -h
(功能描述:disk free 列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况。借助这个命令,我们能看到下面)

在这里插入图片描述
出现最后一行,恭喜你,挂载成功
以后在客户端访问 挂载目录/mnt/nfsshare ,其实就是访问远程的nfs服务器里的/data/share下的东西

接下来就可以在客户端上进入挂载目录/mnt/nfsshare下,新建/删除文件,然后在服务端的目录/data/share查看是不是有效果了。具体演示如下:
①在客户端的/mnt/nfsshare下创建一个a.txt
在这里插入图片描述在这里插入图片描述

同理,在服务器端创建一个文件b.txt,客户端也是可以读取.

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

Nacos 简介与 本地调试环境搭建

目录 1、简介 2、Nacos架构 3、本地调试环境搭建 3.1 源码下载 3.3 单机启动 Nacos 3.4 集群方式启动:基于文件方式 4、Nacos源码模块介绍 5. 约定说明 1、简介 Nacos是Dynamic Naming and Configuration Service的首字母简称 Nacos由阿里巴巴开源&#x…

PyTorch入门

开发环境 ANACONDA 官网:Anaconda | The World’s Most Popular Data Science Platform cmd窗口验证安装成功 CUDA 官网:CUDA Toolkit Archive | NVIDIA Developer 选择匹配pytorch的版本下载安装 命令窗口验证安装成功 PyTorch 官网:…

【JavaSE】泛型

目录 一、泛型概念 二、泛型的语法 1、语法 2、实例化 4、泛型如何编译 5、泛型的上界 6、泛型方法 三、通配符 1、使用场景 2、使用 3、通配符的上下界 一、泛型概念 泛型就是适用于许多许多类型,是在jdk1.5引入的 二、泛型的语法 1、语法 class 类名&l…

Apache Hudi Table Query Types

目录 Table Types​ Query types​​​​​​​ Copy On Write Table Merge On Read ​​​​​​​Table & Query Types | Apache Hudi Hudi表类型定义了如何在DFS上对数据进行索引和布局,以及如何在这样的组织之上实现上述原语和时间线活动&#…

区块链入门的几个基本问题

目录前言比特币区块链区块链大揭秘抛砖引玉故事一故事二总结引人入胜侃侃而谈去中心化开放性不可篡改性相关技术共识机制共识机制的两大核心达成共识的主要过程(产生新区块的过程)工作量如何理解?Hash计算Bits和目标Hash值Merkle Root双花问题…

新手python学什么最吃香?

前言 今天跟大家聊聊Python的几个主要发展和就业方向,给准备学习Python的小伙伴解惑。 “ 我想学Python,但是学完Python后都能干啥?” “ 现在学Python,哪个方向最简单?哪个方向最吃香?” “ …… ” …

LeetCode题解 二叉树(五):226 翻转二叉树;101 对称二叉树;100 相同的树;572 另一个树的子树

226 翻转二叉树 easy 这道题有一段广为人知的传说:曾有人说Homebrew(适用于macOS和Linux的开源软件包管理器)的作者Max Howell,没有在白板上写出这道题目,被Google拒绝了。 至于是不是真的因为没做出来这道题就被拒绝…

深入浅出JVM之执行引擎的解释执行与编译执行

本篇文章围绕执行引擎,深入浅出的解析执行引擎中解释器与编译器的解释执行和编译执行、执行引擎的执行方式、逃逸分析带来的栈上分配、锁消除、标量替换等优化以及即时编译器编译对热点代码的探测 执行引擎 hotspot执行引擎结构图 执行引擎分为解释器、JIT即时编译…

大数据框架Hadoop篇之Hadoop入门

1. 写在前面 今天开始,想开启大数据框架学习的一个新系列,之前在学校的时候就会大数据相关技术很是好奇,但苦于没有实践场景,对这些东西并没有什么体会,到公司之后,我越发觉得大数据的相关知识很重要&…

Jmeter(二十二):硬件性能监控指标

硬件性能监控指标 一、性能监控初步介绍 性能测试的主要目标 1.在当前的服务器配置情况,最大的用户数 2.平均响应时间ART,找出时间较长的业务 3.每秒事务数TPS,服务器的处理能力 性能测试涉及的内容 1.客户端性能测试:web前…

洛谷——【入门2】分支结构

文章目录题单简介【深基1-2】小学数学 N 合一题目描述问题 1问题 2问题 3问题 4问题 5问题 6问题 7问题 8问题 9问题 10问题 11问题 12问题 13问题 14输入格式输出格式样例 #1样例输入 #1样例输出 #1提示AC代码【深基2.习6】Apples Prologue / 苹果和虫子题目描述输入格式输出格…

尝鲜:SpreadJS-en已出 16.0 SpreadJS-cn 16.0-23年1月出

此次版本更新将带来众多的增强功能,而其中新的文件结构尤为重要,是近几个版本中最重要的架构级更新! 其设计目标是 *减少 SSJSON 的体积,平均减小到原来 30% *提供按需加载(Lazyload)能力,相对…

【学习】https://gitee.com/DingJiaxiong

【学习】https://gitee.com/DingJiaxiong 文章目录【学习】<https://gitee.com/DingJiaxiong>0 前言1 Java SE2 Java Web3 Maven基础4 Git5 SSM框架6 MybatisPlus7 SpringBoot0 前言 事情是这样&#xff0c;我准备把之前所有的笔记都放到Gitee 上了 不用GitHub … 就别问…

Spring的AOP切面应用对【后台对接口增强】

目录&#x1f4da;简介&#xff1a;&#x1f4a8;切面表达式&#xff1a;&#x1f4ad;切面通知类型&#xff1a;&#x1f5fa;️创建项目演示&#xff1a;&#x1f3a2;创建项目&#xff1a;&#x1f383;添加依赖&#xff1a;&#x1f4a8;编写切面类&#xff1a;&#x1f68…

前端显示分页详解

我们在浏览页面的时候&#xff0c;是不是经常看到网页经常是以页面的形式给我们展现出来的&#xff0c;我们以淘宝的页面为例&#xff08;如下图&#xff09;&#xff0c;那这样按照页面呈现有什么好处呢&#xff1f;这篇文章让我们来深入探究了解这其中的奥秘。 优点&#xff…

泛型自动装箱

目录 前言 泛型 1.泛型的目的 2.泛型存在的意义和注意事项&#xff1a; 3.擦除机制 4.泛型的边界 5.泛型方法&#xff1a; 包装类&#xff1a; 前言 只要知道《》是啥意思&#xff0c;其他了解即可 泛型的上界 通配符简单知道就行 泛型 1.泛型的目的 指定当前的容器&am…

【JVM】浅析程序计数器与虚拟机栈

文章目录1. 程序计数器2. 虚拟机栈3. 栈内存溢出1. 程序计数器 Program Counter Register 程序计数器&#xff08;寄存器&#xff09; 程序计数器的作用是什么&#xff1f; 是记录下一条JVM指令的执行地址行号 程序计数器有什么特点&#xff1f; 线程私有的不会存在内存溢出 …

ADI Blackfin DSP处理器-BF533的开发详解59:DSP控制ADXL345三轴加速度传感器的应用2(含源码)

硬件准备 ADSP-EDU-BF533&#xff1a;BF533开发板 AD-HP530ICE&#xff1a;ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 MEMS三轴加速度传感器 我做了一个三轴加速度传感器的子卡&#xff0c;插在这个板子上&#xff0c;然后写了一些有意思的应用程序。 硬件实现原理…

Linux——定制Linux

Linux启动流程 首先&#xff0c;Linux要通过自检&#xff0c;检查硬件设备有没有故障如果有多块启动盘的话&#xff0c;需要在BIOS选择启动磁盘启动MBR中的bootloader引导程序加载内核文件执行所有进程的父进程、老祖宗systemd欢迎界面 加载内核文件的关键文件 kernel文件&a…

C#调用Python脚本训练并生成AI模型(以Paddle框架为例)

目录一. IronPython语言移植1.1 IronPython安装1.2 示例代码1.3 运行结果1.4 特点二. C#调用Python文件打包dll2.1 步骤2.2 限制三. C#命令行调用.py文件执行3.1 代码3.3 运行结果3.4 特点四. C#调用Python可执行exe4.1 步骤4.1.1 使用pyinstaller打包python程序4.1.2 在c#中调…