[优化篇]OpenStack的Cinder后端存储技术——GlusterFS(1)

2023-11-11

题记

上一篇已经介绍了OpenStack的Cinder后端使用NFS存储技术,为什么要使用NFS呢?一般情况下,如果你的网络是千兆网络,在如果你考虑性能的要求,存储设置到宿主机本地硬盘效率会更好,例如我们可以在计算节点上安装cinder-volume服务,然后在本地硬盘创建NFS,这样效率会更好,但是对于存储来说,数据安全是用户最关心的,如果我本机的环境出现问题,那么数据就会有丢失的可能,所以,将数据独立存储到某一个环境中要比放在同一个环境中保险的多。但是数据独立存储,例如专门搞一个存储节点,用户又会觉得这个存储节点坏了,不是还是有问题么?所以我们可能需要一种分布式存储来解决这个问题,现在支持OpenStack的Cinder的分布式存储技术有很多,包括本篇介绍的GlusterFS和Ceph,前者实现也比较简单。

原理

提起分布式存储,简单的说,就是我可以建立一个多节点的分布式存储集群,对用户来说我可能只存储到某一个路径下,但是系统会自动往其他节点进行复制,也就是其实你的数据复制了N份(按照你的节点来说),这样即使有一个节点出现问题,也不影响其他节点的数据,这样就达到了存储高可用性的目的,当然这种方式最大的优点就是不需要花费额外费用,使用廉价的硬件资源就可以满足需求。

GlusterFS采用模块化、堆栈式的架构,可通过灵活的配置支持高度定制化的应用环境,比如大文件存储、海量小文件存储、云存储、多传输协议应用等。每个功能以模块形式实现,然后以积木方式进行简单的组合,即可实现复杂的功能。比如,Replicate模块可实现RAID1,Stripe模块可实现RAID0,通过两者的组合可实现RAID10和RAID01,同时获得高性能和高可靠性。如下图所示:

这里写图片描述

特点

扩展性和高性能
GlusterFS利用双重特性来提供几TB至数PB的高扩展存储解决方案。Scale-Out架构允许通过简单地增加资源来提高存储容量和性能,磁盘、计算和I/O资源都可以独立增加,支持10GbE和InfiniBand等高速网络互联。Gluster弹性哈希(Elastic Hash)解除了GlusterFS对元数据服务器的需求,消除了单点故障和性能瓶颈,真正实现了并行化数据访问。

高可用性
GlusterFS可以对文件进行自动复制,如镜像或多次复制,从而确保数据总是可以访问,甚至是在硬件故障的情况下也能正常访问。自我修复功能能够把数据恢复到正确的状态,而且修复是以增量的方式在后台执行,几乎不会产生性能负载。GlusterFS没有设计自己的私有数据文件格式,而是采用操作系统中主流标准的磁盘文件系统(如EXT3、ZFS)来存储文件,因此数据可以使用各种标准工具进行复制和访问。

全局统一命名空间
全局统一命名空间将磁盘和内存资源聚集成一个单一的虚拟存储池,对上层用户和应用屏蔽了底层的物理硬件。存储资源可以根据需要在虚拟存储池中进行弹性扩展,比如扩容或收缩。当存储虚拟机映像时,存储的虚拟映像文件没有数量限制,成千虚拟机均通过单一挂载点进行数据共享。虚拟机I/O可在命名空间内的所有服务器上自动进行负载均衡,消除了SAN环境中经常发生的访问热点和性能瓶颈问题。

弹性哈希算法
GlusterFS采用弹性哈希算法在存储池中定位数据,而不是采用集中式或分布式元数据服务器索引。在其他的Scale-Out存储系统中,元数据服务器通常会导致I/O性能瓶颈和单点故障问题。GlusterFS中,所有在Scale-Out存储配置中的存储系统都可以智能地定位任意数据分片,不需要查看索引或者向其他服务器查询。这种设计机制完全并行化了数据访问,实现了真正的线性性能扩展。

弹性卷管理
数据储存在逻辑卷中,逻辑卷可以从虚拟化的物理存储池进行独立逻辑划分而得到。存储服务器可以在线进行增加和移除,不会导致应用中断。逻辑卷可以在所有配置服务器中增长和缩减,可以在不同服务器迁移进行容量均衡,或者增加和移除系统,这些操作都可在线进行。文件系统配置更改也可以实时在线进行并应用,从而可以适应工作负载条件变化或在线性能调优。

基于标准协议
Gluster存储服务支持NFS, CIFS, HTTP, FTP以及Gluster原生协议,完全与POSIX标准兼容。现有应用程序不需要作任何修改或使用专用API,就可以对Gluster中的数据进行访问。这在公有云环境中部署Gluster时非常有用,Gluster对云服务提供商专用API进行抽象,然后提供标准POSIX接口。

环境

操作系统:Ubuntu 14.04 LTS
两台机器搭建GlusterFS集群
192.168.3.180 Controller
192.168.3.181 Compute
192.168.3.182 Network
192.168.3.185 Cinder
192.168.3.10 fs1
192.168.3.11 fs2

集群部署

1、分别在fs1和fs2安装glusterfs-server软件

root@fs1:~# apt-get install glusterfs-server 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[优化篇]OpenStack的Cinder后端存储技术——GlusterFS(1) 的相关文章

  • C++——STL容器

    首先 适配器的概念 适配器的意思就是将某些已经存在的东西进行限制或者组合变成一个新的东西 这个新的东西体现一些新的特性 但底层都是由一些已经存在的东西实现的 STL中的容器 vector 矢量 并非数学意义上的 STL最简单的序列类型 也是
  • Redis 安装系统服务报错 HandleServiceCommands: system error caught. error c ode=1073, message = CreateS

    系统已经存在该服务 需要先卸载才能重新安装 点击查看详细操作链接
  • ARC149题解

    ARC149 没有 F 题 A A A 题意 给定 n m 找到一个数字长 n 位 每位数字都相同且是 m 的倍数 题解 直接模拟 代码 B B B 题意 给定序列 A B 每次可以同时交换
  • JDK动态代理UndeclaredThrowableException异常

    UndeclaredThrowableException异常背景 最近项目上出现了 JDK动态代理UndeclaredThrowableException异常 此异常之前没有接触过 那么该异常将会导致什么呢 UndeclaredThrowa
  • 深圳讯商丨wms仓储管理系统在国内的应用方向有哪些

    wms仓储管理系统往常运用的很多 而且运用wms仓储管理系统便当 关于wms仓储管理系统在国内的应用方向有哪些呢 1 配送中心应用的wms仓储管理系统 如连锁超市的配送中心 汽车企业零配件配送中心等 这样的应用比较典型 如某医药集团物流中心
  • ffmpeg文档34-音频滤镜

    34 音频滤镜 当你配置编译FFmpeg时 先采用 disable filters可以禁止所有的滤镜 然后显式配置想要支持的滤镜 下面是当前可用的音频滤镜 adelay 延迟一个或者多个音频通道 它接受如下选项 delays 参数是以 分隔
  • Markdown基本语法

    Markdown是一种纯文本格式的标记语言 通过简单的标记语法 它可以使普通文本内容具有一定的格式 优点 1 因为是纯文本 所以只要支持Markdown的地方都能获得一样的编辑效果 可以让作者摆脱排版的困扰 专心写作 2 操作简单 比如 W
  • WebUI自动化测试之Selenium学习笔记(二)浏览器控制

    文章目录 Selenium库中webdriver模块的使用 1 浏览器控制 用例 2 鼠标控制 用例 3 键盘控制 4 获取属性信息 用例 4 窗口切换 用例 5 警告框处理 用例 6 下拉框选择操作 用例 7 文件上传 8 cookie操
  • 并行算法解决list

    并行算法序列和字符串 Scan prefix sums List ranking Sorting Merging Medians Searching String matching Other string operations 并行算法的
  • linux下如何使用 tcpdump 进行抓包详细教程

    非功能测试总览 前面的非功能测试总览种提出的 tcp网络访问dump 进行的额外补充 1 tcpdum核心参数详解 2 理解tcpdump的输出 3 常规过滤规则 4 可选参数解析 5 过滤规则组合 6 特殊过滤规则 7 如何抓取更为准确的
  • 查看linux服务主机,Linux下CodeStriker Server的搭建

    分为以下几个步骤 1 检查并安装Perl解析程序 一般情况下Lnux系统中自带perl解析程序 运行rpm qa grep perl 可以检查是否安装有 在本次安装中 检查到目标机器上装有版本号为5 8 8 10的perl解析程序 如系统中
  • maven中的scope--依赖范围

    初学springboot 在maven配置中了解的 记录下来 在一个maven项目中 如果存在编译需要而发布不需要的jar包 可以用scope标签 值设为provided
  • Aspose转换功能演示:使用C#以编程方式将STL转换为PDF或图像

    STL 立体光刻的缩写 代表3D表面几何形状 这些通常在与CAD有关的应用程序中使用 使用Aspose可以轻松快捷地将STL文件转换为PDF 由于PDF格式的兼容性 这种文件格式转换在需要查看不同操作系统和环境中的信息的情况下很有用 同样
  • 【数据结构--顺序表】移除元素(移除数组中等于val的元素,返回移除后数组新长度)

    题目描述 思路1 定义一个指针str指向首元素 遍历数组nums 如果 str val 则将该元素后面的所有元素前挪一位覆盖该元素 若 str val 则str 然而我们来看看这种写法的时间复杂度 我们可否将时间复杂度优化一下呢 由此想到第
  • PyQty5—第一课:安装及简单的界面设计(附代码)

    在日常办公中我们将经常使用的代码与PyQty5进行配合 从而设计出GUI的小程序 这样不经界面好看而且可以进行打包 发给自己的亲朋好友们进行使用 那么今天我们就来进行PyQty5的第一节课 1 首先我们需要安装PyQty5的库 库名 安装
  • TypeScript 基本类型(一)

    1 boolean 布尔值 true false let isDone boolean false 2 number 数字 和JavaScript 一样 TypeScript 里的所有数字都是浮点数 另外支持二进制 八进制 十进制 十六进制
  • C++ QT连接SQL Server基操

    以下是一个使用C QT连接SQL Server的示例代码 include
  • uniapp登录流程详解uni.login

    uni login OBJECT 登录 H5平台登陆注意事项 微信内嵌浏览器运行H5版时 可通过js sdk实现微信登陆 需要引入一个单独的js 详见普通浏览器上实现微信登陆 并非开放API 需要向微信申请 仅个别开发者有此权限H5平台的其

随机推荐

  • 带你认识一下“京东到家-网关系统”

    京东到家三周年活动已然结束 在这2年里 我们的网关系统经历过了618 1020 双11 双12 415等多个非常有意义的考试 回顾起来依旧让人觉得很刺激 每次考前我们和市场部都做了大量的效果预估 压测 扩容 但是活动当日依旧是惊心动魄 瞬时
  • 2021组队训练赛第11场

    我们的终极目标不是AC 而是获取经验 2021组队训练赛第11场 我们的终极目标不是AC 而是获取经验 问题 A ABB 题意 考点 问题 C Bob in Wonderland 题意 考点 问题 F Zeldain Garden 题意 考
  • Spring框架之注解编程

    代码和配置 代码结构 maven依赖
  • Xshell连接不上虚拟机的问题和解决办法

    第一次用xshell 一直连不上linux 搞了好久 也查了很多办法 但是最后也终于解决了 在这里我分享一下自己的解决办法 再列举网上的办法 希望可以帮助其他人 1 你的linux ip地址没有配置 ip地址没有配置 你需要自己配置 配置的
  • 转行IT:网络工程师VS网络安全工程师,哪个能带你走上人生巅峰?

    记得曾经有人说过这样一个俗语 三百六十行 行行转IT 或许听到这个话的时候会觉得是一句玩笑话 但是浏览到网络上一些关于就业的文章 就能够明白这句话的真正意义所在 随着互联网的发展 越来越多人选择 甚至转行到IT行业 今天就带大家了解 网络工
  • AI实战营第二期 第五节 《目标检测与MMDetection》——笔记6

    文章目录 摘要 主要特性 常用概念 框 边界框 交并比 loU 感受野 有效感受野 置信度 目标检测的基本思路 难点 滑框 在特征图进行密集计算 边界框回归 基于锚框VS无锚框 NMS 非极大值抑制 使周密集预测模型进行推理步骤 如何训练
  • 在Ubuntu里面.AppImage格式安装

    具体而言 直接运行appimage就可以实现 安装 先给软件包可执行权限 chmod u x
  • CS5263芯片 DP转HDMI视频转换芯片 适用于HDMI单转线

    应用 DP转HDMI 视频芯片 分辨率可达到4K 60HZ 产品描述 Capstone CS5263AN是一款高性能DP1 4到HDMI2 0b转换器 设计用于将DP1 4源连接到HDMI2 0b接收器 CS5263AN集成了DP1 4兼容
  • Basic 1047 编程团体赛 (20分)

    题目 编程团体赛的规则为 每个参赛队由若干队员组成 所有队员独立比赛 参赛队的成绩为所有队员的成绩和 成绩最高的队获胜 现给定所有队员的比赛成绩 请你编写程序找出冠军队 输入格式 输入第一行给出一个正整数 N 1 0 4
  • STM32学习笔记—SPI通信

    1 SPI简介 2 函数配置 1 SPI简介 SPI通信是一种高速的 全双工的同步通信总线 通讯时 只占用四条线 MISO MOSI CS SCLK 其中cs为片选线 sclk为时钟线 一般同步通讯带有时钟线 像uart异步通信的就不带 m
  • Python:入门到放弃之基础篇(一)

    文章目录 前言 一 python的标识符 二 python变量类型 1 Number 2 String 3 List 4 Tuple 5 Set 6 Dictionary 三 python流程控制 1 顺序流程控制 2 分支流程控制 3 循
  • EMC电磁兼容测试项目简介

    EMC电磁兼容测试项目简介 一般来说 电气 电力设备产品要做的EMC电磁兼容测试主要包含浪涌 冲击 抗扰度 振铃波浪涌抗扰度 电快速瞬变脉冲群抗扰度 电压暂降 短时中断和电压变化抗扰度 工频电源谐波抗扰度 静电抗扰度 射频电磁场辐射抗扰度
  • TQ2440移植u-boot2016.11全过程记录-【4】LCD驱动移植并显示

    TQ2440移植u boot2016 11 LCD驱动移植并显示 LCD初始化流程分析 u boot的LCD初始化代码是在common lcd c中 我们找到lcd init函数 该函数功能流程为 lcd ctrl init初始化了LCD的
  • ipv6 socket编程实践

    Table of Contents 1 ipv6 socket编程实践 2 示例程序 ipv6 socket编程实践 ip地址长度变化 按照ipv4 255 255 255 255的地址格式 最长为15 加上结束符16字节长度 ipv6 的
  • FormData的详解

    转自 https blog csdn net yezitoo article details 78339201 FormData 1 概述 FormData类型其实是在XMLHttpRequest 2级定义的 它是为序列化表以及创建与表单格
  • 三相桥式全控整流电路

    三相桥式全控整流电路原理图 原理图 阴极连接在一起的3个晶闸管 VT1 VT3 VT5 称为共阴极组 阳极连接在一起的3个晶闸管 VT4 VT6 VT2 称为共阳极组 共阴极组中与a b c三相电源相接的3个晶闸管分别为VT1 VT3 VT
  • Swift 枚举与结构体

    Swift 枚举 枚举简单的说也是一种数据类型 只不过是这种数据类型只包含自定义的特定数据 它是一组有共同特性的数据的集合 Swift 的枚举类似于 Objective C 和 C 的结构 枚举的功能为 它声明在类中 可以通过实例化类来访问
  • PyTorch中实现数据集的自定义读取

    一 创作缘由 数据集呈现的方式有很多种 今天和大家仔细谈一谈当我们要读取的数据集信息存储在文本文件时 我们如何读取数据集 最近在实现一个垃圾分类的任务 数据集中每张图片的名称和数据标签都记录在了文本文件中 垃圾分类数据集介绍 一共有6种不同
  • mybatis3 mysql自动生成主键_mybatis自动生成主键

    mysql 使用useGeneratedKey属性 INSERT INTO STUDENTS NAME EMAIL PHONE VALUES name email phone 其他的方式 使用selectKey子标签 属性 order be
  • [优化篇]OpenStack的Cinder后端存储技术——GlusterFS(1)

    题记 上一篇已经介绍了OpenStack的Cinder后端使用NFS存储技术 为什么要使用NFS呢 一般情况下 如果你的网络是千兆网络 在如果你考虑性能的要求 存储设置到宿主机本地硬盘效率会更好 例如我们可以在计算节点上安装cinder v