GFS分布式 文件系统

news2024/10/7 16:16:14

一、GFS的概念

        文件存储分为nfs、lvm、raid

        对象存储分为GFS、CEPH、fastDFS(分布式文件存储)NAS OSS  S3  switch

OSS   属于阿里云  通过URL 链接        S3属于亚马逊通过URL链接

1.1 GFS简介

        开源的分布式文件系统,由存储服务器、客户端以及NFS/Samba存储网关组成,无原数据服务器

        具有扩展性和高性能,高可用性有(冗余、容灾),全局统一命名空间,弹性卷管理,基于标准协议,通过多和互联网的存储节点进行冗余,以确保数据的可用性和一致性

1.2 GFS的组成

① 存储服务器

② 客户端NFS/Samba存储网关 组成

③ 五元数据服务器:保存数据的地方

二、GFS特点

2.1扩展性和高可用性

        允许通过简单地增加存储节点的方式来提高存储容量和性能(磁盘、计算和I/O资源都可以独立增加)。改善了单点故障和性能瓶颈,真正实现了并行化数据访问GlusterFS采用弹性哈希算法在存储池中可以智能地定位任意数据分片(将数据分片存储在不同节点上),不需要查看索引或者向元数据服务器查询。

  GFS可以对文件进行自动复制,如镜像或多次复制,从而确保数据总是可以访问,甚至是在硬件故障的情况下也能正常访问当数据出现不一致时,自我修复功能能够把数据恢复到正确的状态,数据的修复是以增量的方式在后台执行,几乎不会产生性能负载。G可以支持所有的存储,因为它没有设计自己的私有数据文件格式,而是采用操作系统中主流标准的磁盘文件系统(如EXT3、XFS等)来存储文件,因此数据可以使用传统访问磁盘的方式被访问。

2.2 全局统一命名空间

        分布式存储中,将所有节点的命名空间整合为统一命名空间,将整个系统的所有节点的存储容量组成一个大的虛拟存储池,供前端主机访问这些节点完成数据读写操作。

2.3 弹性卷管理

        逻辑存储池可以在线进行增加和移除,不会导致业务中断。逻辑卷可以根据需求在线增长和缩减,并可以在多个节点中实现负载均衡。
        文件系统配置也可以实时在线进行更改并应用,从而可以适应工作负载条件变化或在线性能调优。

2.4 基于一个标准协议

        存储服务支持NFS、CIFS、HTTP、FTP、SMB 及Gluster原生协议,完全与POSIX标准(可移植操作系统接口)兼容。

        现有应用程序不需要做任何修改就可以对Gluster中的数据进行访问,也可以使用专用API进行访问。

三、GFS专业术语

        Brick(块存储服务器)实际存储用户数据的服务器
        Volume(逻辑卷)本地文件系统的"分区"
        FUSE用户空间的文件系统(类别EXT4),”这是一个伪文件系统“,用户端的交换模块
        VFS(虚拟端口)内核态的虚拟文件系统,用户是提交请求给VFS 然后VFS交给FUSH,再交给GFS客户端,最后由客户端交给远端的存储
        Glusterd(服务)是运行再存储节点的进程(客户端运行的是gluster client)GFS使用过程中整个GFS之间的交换由Gluster client 和glusterd完成。

        使用GFS会使用到以上的虚拟文件系统

四、GFS工作原理

GlusterFS 的工作流程:

(1)客户端或应用程序通过 GlusterFS 的挂载点访问数据。
(2)linux系统内核通过 VFS API 收到请求并处理。
(3)VFS 将数据交给 FUSE 内核文件系统,而 FUSE 文件系统则是将数据通过 /dev/fuse 设备文件递交给了 GlusterFS client 端。可以将 FUSE 文件系统理解为一个代理。
(4)GlusterFS client 收到数据后,根据配置文件的配置对数据进行处理。
(5)经过 GlusterFS client 处理后,通过网络将数据传递至远端的 GlusterFS Server,并且将数据写入到服务器存储设备上。

1.外来一个请求,例:用户端申请创建一个文件,客户端或应用程序通过GFS的挂载点访问数据
2.linux系统内容通过VFSAPI收到请求并处理
3.VFS将数据递交给FUSE内核文件系统,fuse文件系统则是将数据通过/dev/fuse设备文件递交给了GlusterFS client端
4.GlusterFS client端收到数据后,会根据配置文件的配置对数据进行处理
5.再通过网络,将数据发送给远端的ClusterFS server,并将数据写入到服务器储存设备上
6.server再将数据转交给VFS伪文件系统,再由VFS进行转存处理,最后交给EXT3

五、GFS卷的类型 (七个卷)

5.1 分布式卷(Distribute volume)

        文件通过HASH算法分布到所有Brick Server上,这种卷是GlusterFS的默认卷;以文件为单位根据HASH算法散列到不同的Brick,其实只是扩大了磁盘空间,如果有一块磁盘损坏,数据也将丢失,属于文件级的RAID0,不具有容错能力。
        在该模式下,并没有对文件进行分块处理,文件直接存储在某个Server节点上。
由于直接使用本地文件系统进行文件存储,所以存取效率并没有提高,反而会因为网络通信的原因而有所降低。


分布式卷具有如下特点:

        1.文件分布在不同的服务器,不具备冗余性。
        2.更容易和廉价地扩展卷的大小。
        3.单点故障会造成数据丢失。
        4.依赖底层的数据保护。


6.2 条带卷(Stripe volume)

        类似RAID0,文件被分成数据块并以轮询的方式分布到多个Brick Server上,文件存储以数据块为单位,支持大文件存储,文件越大,读取效率越高,但是不具备冗余性。

条带卷特点:

        数据被分割成更小块分布到块服务器群中的不同条带区。
        分布减少了负载且更小的文件加速了存取的速度。
        没有数据冗余。


6.3 复制卷(Replica volume)

        将文件同步到多个Brick上,使其具备多个文件副本,属于文件级RAID 1,具有容错能力。因为数据分散在多个Brick中,所以读性能得到很大提升,但写性能下降。
        复制卷具备冗余性,即使一个节点损坏,也不影响数据的正常使用。但因为要保存副本,所以磁盘利用率较低。

复制卷特点:
        1.卷中所有的服务器均保存一个完整的副本。
        2.卷的副本数量可由客户创建的时候决定,但复制数必须等于卷中Brick所包含的存储服务器数。
        3.至少由两个块服务器或更多服务器。
        4.具备冗余性。

6.4 分布式条带卷(Distribute Stripe volume)

        BrickServer数量是条带数(数据块分布的Brick数量)的倍数,兼具分布式卷和条带卷的特点。
主要用于大文件访问处理,创建一个分布式条带卷最少需要4台服务器。
创建一个名为dis-stripe的分布式条带卷,配置分布式的条带卷时,卷中Brick所包含的存储服务器数必须是条带数的倍数(>=2倍)。Brick的数量是4 (Server1:/dir1、Server2:/dir2、Server3:/dir3和Server4:/dir4),条带数为2(stripe 2)
        创建卷时,存储服务器的数量如果等于条带或复制数,那么创建的是条带卷或者复制卷:如果存储服务器的数量是条带或复制数的2倍甚至更多,那么将创建的是分布式条带卷或分布式复制卷。

6.5 分布式复制卷(Distribute Replica volume)

        Brick Server数量是镜像数(数据副本数量)的倍数,兼具分布式卷和复制卷的特点。主要用于需要冗余的情况下。
        创建一个名为dis-rep的分布式复制卷,配置分布式的复制卷时,卷中Brick所包含的存储服务器数必须是复制数的倍数(>=2倍)。Brick的数量是4 (Server1:/dir1、Server2:/dir2、Server3:/dir3 和Server4:/dir4),复制数为2(replica 2)

6.6 条带复制卷(Stripe Replca volume)

        类似RAID10,同时具有条带卷和复制卷的特点。

6.7 分布式条带复制卷(Distribute Stripe Replicavolume)

三种基本卷的复合卷,通常用于类Map Reduce应用。

六、GFS部署

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

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

相关文章

工地安全监测识别摄像机

工地安全监测识别摄像机是一种在建筑工地和施工现场广泛使用的智能监控设备,主要用于监测施工过程中可能出现的安全隐患和违规行为,以确保工地人员和设备的安全。通过高清摄像头、智能算法和远程监控系统的结合,该摄像机可以实时监测工地各个…

基于支持 GPT 的服务的初创公司

Kafkai:多语言长篇内容生成,AI写作的新趋势 介绍 随着生成式预训练 Transformer (GPT) 的出现,技术世界正在见证范式转变。 这种人工智能驱动的创新不仅仅是一种转瞬即逝的趋势,而是一种趋势。 它已成为科技行业的基石&#xff0c…

使用新版FLIR (FLIR_ADAS_v2) 数据集创建yolo格式数据集(目标检测)

FLIR在2022.1.19发布了新版的FLIR_ADAS_v2,有着更多的类别和数量更丰富的图像。数据集同步注释热图像和无注释RGB图像供参考。本文章主要介绍如何使用FLIR_ADAS_v2中的rgb图像和thermal图像来制作yolo格式数据集。 1.官方数据集下载:FLIR_ADAS_v2数据集…

支持向量机(SVM)白话之个人理解(学习记录)

本文仅有文字理解部分,没有相应的数学公式推导过程,便于新手理解。 一、什么是支持向量机 首先我们看下面这张图,在图中圆形和三角形分别代表不同的数据类型,如何画出一条直线使两者能够显著地区分开来呢? 答案可以多…

PDF锐化

PDF Shaper Ultimate(pdf转图片) 编辑->添加文件->选中一个要处理的pdf 操作->转换->PDF转为图片 ComicEnhancerPro设置(把图片锐化) PDF Shaper Ultimate(图片转pdf) 编辑-添加图片->选中所有锐化处理后的图片 转换->图片转为pdf(会把所有图…

通用CI/CD软件平台TeamCity 2024.03发布——支持HashiCorp Vault插件

TeamCity是一个通用的 CI/CD 软件平台,可以实现灵活的工作流、协作和开发做法。我们的解决方案将帮助在您的 DevOps 流程中成功实现持续集成、持续交付和持续部署。 获取TeamCity 2024.03正式版试用(Q技术交流:909157416) 具体更新详情如下…

服务注册自治,降低 ASP.NET Core Web API 依赖注入的耦合度和复杂度

前言 在软件的实际开发中,一个软件通常由多个项目组成,这些项目都会直接或者间接被主 ASP.NET Core 项目引用。 这些项目中通常都会用到若干个被注入的服务,因此我们需要在主 ASP.NET Core 项目的 Program.cs 中注册这些服务。这样不仅会增…

ATAM方法架构评估实践

用ATAM方法评估软件体系结构,其工作分为4个基本阶段,即演示、调查和分析、测试和报告ATAM(如图1所示)。接下来分别就每个阶段的实践进行详细介绍。 图1 ATAM方法的评估实践阶段划分 1.阶段1——演示(Presentation&…

esp32上PWM呼吸灯

1、什么是pwm PWM(Pulse Width Modulation)简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在测量、通信、工控等方面。 1.1频率 单位时间内PWM方波重复的次数 1.2占空比 一个周期内…

【Unity渲染】渲染管线原理

整理自B站UPKerry佬的视频【【教程】技术美术入门:渲染管线概述】 https://www.bilibili.com/video/BV1Q54y1G7v3/?share_sourcecopy_web&vd_source7e6249c05fba6efe32e8867373f75917 应用阶段 、几何阶段顶点处理、光栅化、片元处理、输出合并 应用阶段是CUP…

STM32_IIC_AT24C02_3_读写操作

从图中可以看到,如果进行一个写的操作,也是要先发送一个启动操作,然后发送设备地址,接着发送字节地址,最后发送数据,然后停止。Tips:先发送高位,再发送低位 设备地址(Device Address…

Transformer模型-encoder编码器,padding填充,source mask填充掩码的简明介绍

今天介绍transformer模型的encoder编码器,padding填充,source mask填充掩码 背景 encoder编码器层是对之前文章中提到的子层的封装。它接收位置嵌入的序列,并将其通过多头注意力机制和位置感知前馈网络。在每个子层之后,它执行残差…

探索 Java 网络爬虫:Jsoup、HtmlUnit 与 WebMagic 的比较分析

1、引言 在当今信息爆炸的时代,网络数据的获取和处理变得至关重要。对于 Java 开发者而言,掌握高效的网页抓取技术是提升数据处理能力的关键。本文将深入探讨三款广受欢迎的 Java 网页抓取工具:Jsoup、HtmlUnit 和 WebMagic,分析…

一文读懂CSS中的阴影:box-shadow,text-shadow,drop-shadow的区别与使用方式

一、区别 box-shadow 应用于元素,为元素本身添加阴影效果。 text-shadow 应用于文本,为文本内容添加阴影效果。 drop-shadow 是filter属性的一部分,通常用于图像,为其添加阴影效果。 二、box-shadow box-shadow属性用于为元素&…

stable-diffusion-webui怎么样增加自己训练的LoRA模型?

不怕笑话,我曾经为了找这个功能,居然搞了半天时间,结果还没有搞定。 后来再不断地研究各种教程,就是没有发现这个功能,无意间发现有一个人贴了一张图片, 他只是介绍放到这个目录,他没有告诉我这个目录怎么样来的,因为我在同样的位置上没有这个目录。 这样我训练出来…

【数据结构】考研真题攻克与重点知识点剖析 - 第 5 篇:树与二叉树

前言 本文基础知识部分来自于b站:分享笔记的好人儿的思维导图与王道考研课程,感谢大佬的开源精神,习题来自老师划的重点以及考研真题。此前我尝试了完全使用Python或是结合大语言模型对考研真题进行数据清洗与可视化分析,本人技术…

网站想使用https安全协议,必须要安装ssl证书吗?

ssl证书作为保护网站数据传输安全的重要工具,被广泛应用于网站的安全加密通信中。很多人在初次接触ssl证书时,有一个常见的疑问:网站使用https协议必须要ssl证书吗? 答案是肯定的。   HTTPS是一种通过计算机网络进行安全通信的…

MongoDB基本操作之备份与恢复【验证有效】

资源获取 MongoDB Database Tools 解压zip包,将其中的工具复制到bin目录下 mongodump与mongorestore – 备份 mongodump -h localhost:27017 -u admin -p pass --authenticationDatabase admin -d runoob -o /usr/local/mongo/bak/ --forceTableScan –切换数据库…

怎么防止文件被拷贝,复制别人拷贝电脑文件

怎么防止文件被拷贝,复制别人拷贝电,脑文件 防止文件被拷贝通常是为了保护敏感数据、知识产权或商业秘密不被未经授权的人员获取或传播。以下列出了一系列技术手段和策略,可以帮助您有效地防止文件被拷贝。 1. 终端管理软件: 如安企神、域智…

内网穿透的应用-如何使用Docker本地部署Dify LLM结合内网穿透实现公网访问本地开发平台

文章目录 1. Docker部署Dify2. 本地访问Dify3. Ubuntu安装Cpolar4. 配置公网地址5. 远程访问6. 固定Cpolar公网地址7. 固定地址访问 本文主要介绍如何在Linux Ubuntu系统以Docker的方式快速部署Dify,并结合cpolar内网穿透工具实现公网远程访问本地Dify! Dify 是一款…