首页 > 其他分享 >一步步教你配置NFS服务:轻松实现文件共享

一步步教你配置NFS服务:轻松实现文件共享

时间:2024-07-17 19:27:31浏览次数:22  
标签:rpcbind 文件共享 一步步 nfs RPC NFS 服务器 客户端

在这里插入图片描述

什么是NFS

  1. NFS(Network File System)简介

    • NFS是Network File System的缩写,即网络文件系统。NFS是一种用于分布式文件系统的协议,它允许不同的机器、不同的操作系统能够共享个人数据,使应用程序通过网络可以访问位于服务器磁盘中的数据。NFS在文件传输或信息传递的过程中,依赖于RPC协议。
  2. RPC(Remote Procedure Call)简介

    • RPC,远程过程调用,是使客户端能够执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,能够实现基于网络的资料共享,就是因为NFS使用了RPC提供的传输协议,可以说NFS就是使用RPC的一个程序。

NFS的工作模式

  1. 服务器/客户端工作模式

    • NFS采用服务器/客户端工作模式。在NFS服务器上将目录设置为输出目录(即共享目录)后,客户端就可以将这个目录挂载到自己系统中的某个目录下。
  2. 挂载示例

    • 例如,在CentOS系统中,NFS服务器共享目录设置为/nfs/public,NFS客户端将此目录挂载到/mnt/nfs。客户端之间通过网络连接到NFS服务器,并访问共享的目录。

RPC守护进程

  1. nfsd

    • nfsd是基本的NFS守护进程,主要功能是管理客户端是否能登录NFS服务器。
  2. mountd

    • mountd是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利通过rpc.nfsd登录NFS服务器后,在使用NFS服务器提供的文件前,还必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。
  3. rpcbind

    • rpcbind的主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务(如NFS服务)时,rpcbind会将管理的与服务对应的端口提供给客户端,从而使客户端可以通过该端口向服务器请求服务。

NFS工作原理

  1. 启动RPC服务

    • 首先,服务器端启动RPC服务,并开启111端口。
  2. 启动NFS服务

    • 服务器端启动NFS服务,并向RPC注册端口信息。
  3. 客户端请求NFS端口

    • 客户端启动RPC(portmap服务),向服务器的RPC(portmap)服务请求服务器的NFS端口。
  4. 反馈端口信息

    • 服务器端的RPC(portmap)服务反馈NFS端口信息给客户端。
  5. 数据传输

    • 客户端通过获取的NFS端口来建立和服务器端NFS的连接并进行数据的传输。

NFS软件包

  1. RPC主程序:rpcbind

    • 启动RPC服务之前,需要做好port的对应(mapping)的工作,这就是rpcbind这个服务所负责的。也就是说,在启动任何一个RPC服务之前,我们都需要启动rpcbind才行。
  2. NFS主程序:nfs-utils

    • 提供rpc.nfsd及rpc.mountd这两个NFS守护进程与其他相关文档与说明文件、执行文件等的软件。这些是NFS服务所需要的主要软件。

NFS服务的配置文件

  1. /etc/exports配置

    • NFS服务器共享目录时所使用的配置文件为/etc/exports。此文件的语法结构如下:
      共享目录的绝对路径 客户端(选项)
      例如:/share 172.16.1.0/24(ro)
      
  2. 查看共享资源的指令

    • 客户端查询服务器共享资源的指令:/usr/sbin/showmount
      • exportfs 是用在NFS Server端,而showmount则主要用在Client端。showmount可以用来察看NFS分享出来的目录资源。

配置举例:配置NFS服务器和客户端

在CentOS上配置NFS服务器
  1. 安装NFS和相关软件包

    sudo yum install nfs-utils rpcbind
    
  2. 配置共享目录

    • 编辑/etc/exports文件,添加以下内容:
      /srv/nfs 192.168.1.0/24(rw,sync,no_root_squash)
      
  3. 启动并启用NFS服务

    sudo systemctl start rpcbind
    sudo systemctl start nfs-server
    sudo systemctl enable rpcbind
    sudo systemctl enable nfs-server
    
  4. 导出共享目录

    sudo exportfs -a
    
在CentOS上配置NFS客户端
  1. 安装NFS和相关软件包

    sudo yum install nfs-utils
    
  2. 创建挂载点并挂载NFS共享

    sudo mkdir -p /mnt/nfs
    sudo mount -t nfs 192.168.1.100:/srv/nfs /mnt/nfs
    
  3. 验证挂载

    • 使用df -h命令检查是否成功挂载NFS共享。

标签:rpcbind,文件共享,一步步,nfs,RPC,NFS,服务器,客户端
From: https://blog.csdn.net/zgt_certificate/article/details/140479126

相关文章

  • LVM FS NFS CIFS NAS 等存储概念解析
    存储:    LVM:存储的格式,块存储。    FS:文件系统,在LVM的创建的磁盘的基础上,安装FS,形成了文件存储。    NFS:Unix系统间实现磁盘文件共享的一种方法,支持应用程序在客户端通过网络存取位于服务器磁盘中数据的一种文件系统协议。其实它包括许多种协议,最简单的网络文......
  • 云计算【第一阶段(30)】部署Yum仓库及NFS共享服务
    一、Yum仓库1.1、Yum仓库概念学习YUM软件仓库,可以完成安装、卸载、自动升级rpm软件包等任务,能够自动查找并解决rpm包之间的依赖关系,而无须管理员逐个、手工地去安装每个rpm包,使管理员在维护大量Linux服务器时更加轻松自如。特别是在拥有大量Linux主机的本地网络中......
  • 易易二维码平台——您的全能文件共享利器
    在这个信息爆炸的时代,高效、便捷的文件分享与协作已成为现代职场不可或缺的一部分。面对海量的文件资料,如何快速、安全地实现跨平台、跨地域的共享与预览,成为了每一家企业和每一位职场人士的共同诉求。正是在这样的背景下,易易二维码平台应运而生,以其独特的功能优势和无限制的体验,......
  • NFS服务
    NFS服务NetworkFileSystem网络文件系统用途:为客户机提供共享使用的文件夹协议:NFS(2049)、RPC(111)NFS的存在允许客户端将服务器的共享目录挂载到自己的主机上NFS服务会有数据同步的功能,我在服务器的共享目录下,创建了一个新的文件,在客户端挂载的目录下我们也能看到软件名:nf......
  • 【一步步开发AI运动小程序】十九、运动识别中如何解析RGBA帧图片?
    引言最近有不少开发者向我们咨询,像体测、赛事等应用场景中,需要保存运动过程的图像,如何将相机抽取的RGBA帧图像解析成.jpg或.png格式的图像?今天我们就为您介绍相应的解决方案。一、RGBA图像结构。RGBA图像为一维数组,每四个元素描写一个图像像素,前三元素为颜色值,第四个元素为透......
  • 来吧展示-一步步配项目nots
    node16.15.0 、npm 8.5.5、pnpm8.5.1 1.vite官网搭建项目pnpmcreatevite(我选的js)2.初始化css(去掉自带的margin等)我是自己手写的/*CSSReset*/html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym......
  • 关于P2P-文件共享软件的一些思考
    笔者最近想开发一套P2P文件共享软件,对于UDP/TCP协议的NAT穿透在过年期间也算是打通了。目前就我对P2P文件共享软件开发的一些探索这里记录一点心得。关于Kademlia分布式DHT算法,我在网上查阅了不少文章,我觉得这篇文章对我有着重大影响【分布式哈希表DHT(Kademlia算法)——通俗......
  • Windows Server2022怎么做文件共享?
    一、共享设置1、在打开的“服务器管理器”仪表板中,点击左侧菜单栏中的“文件和存储服务”-->“共享” 新建共享,我们这里使用“SMB共享-快速”、如果需要也可以使用“SMB共享-高级”两者各有侧重,看自己的实际需要:选择要共享的文件夹位置: 设置共享权限比较重要,我们要禁用......
  • 41、k8s-数据存储-基本存储-NFS(网路文件存储系统)
    HostPath可以解决数据持久化的问题、但是一旦node节点故障了、pod如果转移到别的节点、又会出现问题、此时需要准备单独的网络存储系统、比较常用的有:·NFS·CIFSNFS是一个网络问卷存储系统、可以搭建一台NFS服务器、然后将pod中的存储直接连接到NFS系统上、这样的话......
  • 千万别忽视基础!十张图带你一步步理解Java内存结构!
    作为一个Java程序员,在日常的开发中,不必像C/C++程序员那样,为每一个内存的分配而操心,JVM会替我们进行自动的内存分配和回收,方便我们开发。但是一旦发生内存泄漏或者内存溢出,如果对Java内存结构不清楚,那将会是一件非常麻烦的事情!本文笔者将为大家详解Java内存结构。面试tips聊聊......