版本前瞻 | FASS2.2即将上线,6大亮点公布

自FASS上一版本发布已经过去了整整四个月。在这期间,FASS经历了很多重要项目的考验,也收到了用户很多宝贵的建议。经过几个月的开发和打磨完善,最新版本的FASS2.2终于要和大家见面了,针对存储系统配置使用复杂、运维监控粗放等痛点,FASS 2.2重点加强了系统的可用性、可靠性以及可维护性,让FASS在原有的高性能基础上,变得更加稳定、易用好用。

01

多元业务环境

高性能和高得盘率不可兼得?

在越来越多元化的企业业务环境下,业务对存储基础设施也有了动态的、多样化的诉求。在传统存储系统里,极致性能和高资源利用率往往无法兼得,用户或需要购买多套存储应对,或在高性能和高得盘率之间做好取舍:高性能就意味着较低可靠性,而高得盘率又往往意味着较低的性能,业务很难通过一套存储设施来应对。

但从FASS2.2开始,鱼与熊掌亦可兼得。FASS2.2将支持flat卷(高性能)和LogStructure卷(高效EC,低写放大)选项,让用户根据业务诉求灵活选择卷模式。

FASS2.0以前版本,FASS主要采用flat卷模式,不引入日志层,数据直接切片落盘。IO读写效率很高,可以实现非常高的IOPS和延迟性能。然而该模式写放大较高,EC性能相对低,并不支持IO聚合写入,不支持压缩与重删等高级功能。

FASS2.0以后开始采用Log-Structured卷,Log-Structured卷能大幅降低存储系统的写损耗,该种数据布局方式不仅不会引入性能问题,反而能够解决闪存介质的“写时擦除”特性带来的寿命、磨损均衡等问题。

FASS的Log-Structured采用日志卷的设计思路,将写入的IO以日志的形式追加到末尾,将随机IO顺序化,然后再进行大块顺序整条带写。在FASS项目中引入日志结构化存储,提供日志结构化存储卷,减少写放大,提升随机写IO性能和延长磁盘寿命。

图片

Log-Structured整体架构

图片

WAL数据布局

图片

FASS date log 数据布局

支持手动选择不同的卷模式意味着,如果要实现更高的容量利用率,保证EC较高的随机写性能,同时兼顾硬盘寿命且易于支持压缩去重,Log-Structured是首选配置方案;如果可以接受较大的容量损耗,要实现极高的IOPS读写,且无需压缩去重等功能,flat卷则是更好的选择。不论是容量敏感型场景,还是性能敏感型场景,FASS2.2都可以从容应对。

02

EC模式性能与可靠性低

无法满足生产系统需求?

在分布式存储主要采用副本和EC实现数据冗余保护。

副本性能高,得盘率低。近年来闪存价格连年上涨,全闪存储采用3副本冗余模式时,成本将会高到让很多企业望而却步;相对双副本可靠性低,小规模使用可靠性还能保证,在中大规模分布式存储集群下,两个或两个以上节点故障概念很高,数据丢失风险很大。

EC在得盘率上完全秒杀副本。例如EC4+2和3副本对比,可靠性基本一致,在得盘率上是副本的1倍,但EC采用的是编码技术,性能较3副本有较大差距。即使得盘率很高,性能也成为很多企业放弃EC采用副本的主要原因。

前文提到要实现EC高随机写入性能同时兼顾SSD寿命,Log-Structured是FASS的最佳选择方案。FASS2.2基于log structure卷可以实现接近3副本的性能以及较高的可靠性,拿EC4+2举例,首选EC4+2可以允许任意两块硬盘或两个节点故障,可靠性在极端情况下不输双副本;然后从性能角度,4K随机写情况下,FASS老版本写放大超过6倍,FASS 2.2写放大为3倍,4k随机写至少提升1倍。

在实际项目测试中,在P99甚至P99.9延迟响应指标要求下,FASS2.2采用EC4+2模式4K随即读压力下,能稳定达到了1ms以内的延迟,4K随机写可跑到100万以上IOPS,轻松胜任大部分高性能业务场景的要求。

图片

FASS2.2 EC4+2项目实测性能数据(单卷)

03

不支持Cinder/CSI

与云平台对接复杂?

Cinder是OpenStack的重要组件,主要为OpenStack提供块存储服务,如Glance需存储的镜像、Nova中虛拟机的Guest disk、以及虚拟机所attach的volume等,存储需要提供专用Cinder driver才能在OpenStack中支持该存储产品的块设备。

而Kubernetes CSI是一个为 Kubernetes容器集群提供持久化存储的标准接口,它允许第三方存储为容器创建和管理持久化存储。

但OpenStack和Kubernetes迭代快、版本众多,存储很难针对所有版本提供相应的存储驱动/插件,适配周期长,存储对接较难。很多存储甚至仅提供标准存储接口,无法提供相应Cinder和CSI驱动,导致云平台/容器的存储对接管理复杂,使用成本高。

FASS作为典型的SDS2.0产品,具有高IOPS、低延迟、高带宽以及Scale-out扩展能力,主要适用于虚拟化、云计算、容器等场景,因此很早就已提供基本的Cinder和CSI接口。为实现对OpenStack和Kubernetes更多版本的兼容,满足更多客户不同的对接需求。FASS2.2此次在原有Cinder和CSI接口的基础上增加了更多版本的支持。FASS目前同时支持ISCSI以及NVMeoF Cinder driver, OpenStack o版、t版、u版、w版、y版主要采用ISCSI driver对接,OpenStack T版之后即可支持NVMeoF Driver。

图片

FASS Cinder driver存储对接

Kubernetes CSI 主要包括CSI 驱动和 CSI 节点插件。CSI 驱动程序是一个独立的进程,负责与 Kubernetes API 交互,并处理存储插件的请求。CSI 节点插件则是在每个节点上运行的进程,它将容器请求映射到 CSI 驱动程序,并与容器运行时一起管理存储。CSI 支持多种存储类型,包括块存储、文件存储和对象存储,用于满足不同场景的存储需求。

FASS2.2也已全面支持CSI对接,提供CSI驱动和节点插件, CSI driver支持ISCSI和NVMeoF,2.2版本目前已支持更多K8S版本,包括K8S 1.17、1.19、1.23、1.24几大版本,更多版本正在持续适配与迭代中。

FASS2.2也开发了新版Restful API用于云平台的管理对接,新版API在老版基础上进行了大幅优化,设计更加合理,规范了错误码,简化了对接流程,极大的简化了云平台侧的开发量。

04

国产平台性能低兼容性差

无法构建高性能全闪存储?

虽然信创已经成了一个大趋势,但很多企业依然对国产化存储平台有较大顾虑。究其原因,除了担忧兼容性稳定性之外,其他最大的原因就是性能上的差距。

基于国产CPU、尤其Arm平台的存储系统,往往要在同级别Intel CPU的水准上大打折扣,很难发挥出Arm多核CPU性能。

以鲲鹏平台为例,FASS早早就在鲲鹏平台进行了适配调优,并成功完成了V认证,在25GE网络下,FASS基于三节点鲲鹏环境可以轻松跑到200万+的IOPS性能。在鲲鹏天池平台(100GE、全闪)推出后,FASS2.2也做了深入测试与调优,经过双方的探讨与FASS代码级别的优化,最新的测试中可以看到,FASS在鲲鹏天池平台三节点已达到600万IOPS,并且还有较大的优化空间。利用FASS2.2可以基于纯国产硬件,构建出高性能的存储基础设施。

图片

图片

FASS旧版里,CRC开销一直处于较高水平。经过和鲲鹏的深入合作探讨,FASS成功利用鲲鹏提供的CRC优化组件,成功将开启io_crc时的IOPS提升52%,同时开启io_crc时的性能损耗下降了19.4%。明显改善了CRC校验性能,确实在全路径io_crc模式下,存储系统整体性能依然可观,同时满足可靠性与性能的要求。

图片

开启CRC优化前

图片

开启CRC优化后

除了CRC组件,后续在EC优化、压缩重删等相关重要功能,FASS都会和鲲鹏保持合作对接,完成相应功能技术的开发完善,打造稳定高效的信创存储平台。

05

性能检测粒度粗

硬盘问题难以预知?

硬盘是存储系统里故障率最高的组件,虽然冗余机制可以保障数据安全,但硬盘一旦故障,轻则引起系统整体性能下降,重则发生连锁反应导致数据丢失。

因此对硬盘进行全面准确的监控,不仅可以在硬盘即将出现故障时提前预警,还能对比发现系统中的慢盘、异常盘等,及时修复系统短板。

相较于HDD,SSD的NAND颗粒擦写次数十分有限,因此其寿命较HDD更显不足,全闪存储系统的SSD详细监控与预警对于运维人员更加不可或缺。

FASS2.2对原有的性能监控与硬盘信息管理做了大量优化,目前已支持多级性能监控,包括存储池、卷、硬盘各个级别的IOPS、延迟、带宽等性能监控,具体到存储系统的第一个子设备,可以清晰对比每一块硬盘的性能区别。

同时在硬盘健康这块,FASS2.2加入了硬盘寿命监控,硬盘健康监控、硬盘点灯等功能,可以快速发现并定位异常硬盘,消除系统故障或瓶颈。加强系统可靠性,简化运维管理。

图片

图片

第三代SDS将是智能化、自动化的分布式全闪存储,而FASS也将朝着这个方向持续迭代和完善。FASS的后续版本将继续完善亚健康检测、一键日志收集、智能化巡检、故障预警等智能化运维功能,提供更高的可用性和可维护性。

06

存储配置复杂

UI界面与企业风格不搭?

存储系统相对复杂,充满专业名词的按钮与复杂的配置流程常常让运维人员头大。而且不同设备千奇百怪的界面风格,也给企业统一监控管理、大屏展示带来较大困扰。

Q:存储上手难,界面难看,管理平台对接复杂?

A:对于FASS2.2版本,不存在的。

从FASS2.2开始,FASS开始启用全新的UI界面,界面更加简洁炫酷,管理操作更加流畅方便。大幅优化了操作流程与展现效果,操作更加直接方便灵活。

新版UI还支持灵活的自定义监控布局与自定义界面风格,从主题、导航栏样式、颜色风格到系统语言,用户都可以灵活定制,匹配企业自身风格。

为方便运维巡检、细粒度了解系统性能、精准定位问题与故障。FASS2.2在监控告警上进行了大量细化,强化了硬件监控且支持多级监控,日志告警可读性加强、可操作性提高,让运维监控工作变得更加简单高效。

FASS除了自带的监控管理,还可以通过node_exporter还可以对接第三方管理平台。基于第三方grafnan的数据监控可以精确到任意磁盘、每条内存、每个CPU核心级别的详细数据展示,完全可以满足专业级运维人员的监控需求。

FASS2.2对新手同样友好,界面内置了新手导航、帮助文档和检索功能,用户可以轻松定位到内容,查阅帮忙说明,快速直达目标操作。 

非存储专业人员,也可以轻松配置管理FASS存储系统。

UI

全新首页与导航栏;百变风格,自由定义

快速上手,新增新手指引 

内置帮助与检索系统 

 Grafnan 详细监控界面 

简化运维,快速定位,更详细的监控报警 

07

FASS 2.3版本前瞻

对于大文件较多或大小文件都有的混合压力场景,存储系统往往很难兼顾大IO的带宽和小IO的IOPS,要么性能不足,要么就是系统资源与配置过剩,带来较大的建设成本。

FASS2.3将正式支持大IO bypass功能,在Log Structure卷模式下可实现WAL直通,随机小IO写入高性能SSD,大块顺序IO跳过高性能介质层,直接写入QLC/其他大容量介质层,有效减少高速盘的写损耗,实现非常高的系统带宽性能。

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

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

相关文章

Unity初级---初识生命周期

1. Awake() :唤醒函数,最先执行的函数,只执行一次,当脚本文件挂载的对象被激活时调用 2. OnEnable() ,OnDisable():当脚本启用和禁用时触发,可执行多次,触发的前提是脚本挂载的对象…

多线程系列(七) -ThreadLocal 用法及内存泄露分析

一、简介 在 Java web 项目中,想必很多的同学对ThreadLocal这个类并不陌生,它最常用的应用场景就是用来做对象的跨层传递,避免多次传递,打破层次之间的约束。 比如下面这个HttpServletRequest参数传递的简单例子! p…

PyQt 入门

Qt hello - 专注于Qt的技术分享平台 Python体系下GUI框架也多了去了,PyQt算是比较受欢迎的一个。如果对Qt框架熟悉,那掌握这套框架是很简单的。 一,安装 1.PyQt5 pip3 install PyQt5 2.Designer UI工具 pip3 install PyQt5-tools 3.UI…

【微磁学3D绘图工具探索】Excalibur

文章目录 概要调查报告技术名词解释主要特点 技术和算法实现他能够画出怎样酷炫的图 小结 概要 微磁学中的磁学结构同时包括二维和三维,想要绘制得好看,结果清晰,那么就需要一些自己写的绘图代码之外的额外渲染功能,尤其是对于三…

C语言写的LLM训练

特斯拉前 AI 总监、OpenAI 创始团队成员 Andrej Karpathy 用 C 代码完成了 GPT-2 大模型训练过程:karpathy/llm.c: LLM training in simple, raw C/CUDA (github.com) 下载源码 git clone --recursive https://github.com/karpathy/llm.c.git下载模型 从HF-Mirro…

springboot+vue+elementui实现校园互助平台大作业、毕业设计

目录 一、项目介绍 二、项目截图 管理后台 1.登录(默认管理员账号密码均为:admin) 2. 用户管理 ​编辑 3.任务管理 互助单(学生发布) 行政单(教师发布) ​编辑 审核(退回需…

springboot 引入第三方bean

如何进行第三方bean的定义 参数进行自动装配

rancher/elemental 构建不可变IOS(一)

一、什么是elemental Elemental 是 Rancher 的一个变种,专注于提供一个更轻量级的 Kubernetes 发行版。它旨在提供简化的部署和管理体验,同时保持 Kubernetes 的灵活性和强大功能。Elemental 通常针对较小的部署场景或资源受限的环境,例如测…

数据结构链表

数据结构链表 链表 1)链表的概念及结构: 链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的。 2)实际中链表的结构非常多样,以下情况组合起来就有8种链表结构: 单向、双向…

信息系统项目管理师——项目工具

直方图散点图蒙特卡洛分析 PERT分析 因果图 控制图 帕累托图 持续改进 偏差分析 鱼骨图 工作绩效报告可以包含挣值图表和信息、趋势线和预测、储备燃尽图、缺陷直方图、合同绩效信息以及风险概述信息。可表现为仪表指示图、热点报告、信号灯图或其他形式。 干系人参与度评估矩…

服务器数据恢复—ESXi虚拟机中MySQL数据库数据恢复案例

服务器数据恢复环境: 某品牌EVA某型号存储中部署VMware ESXi虚拟化平台,数据盘(精简模式)快照数据盘,虚拟机中有mysql数据库。 服务器故障: 机房意外断电导致该存储中的一台VMware虚拟机无法启动&#xff0…

【iOS】方法交换(Method Swizzling)

文章目录 前言一、原理与注意用法注意要点Method Swizzing涉及的相关API 二、应用场景与实践1.统计VC加载次数并打印2.防止UI控件短时间多次激活事件3.防崩溃处理:数组越界问题4.防KVO崩溃 总结 前言 上文讲到了iOS的消息发送机制,在消息机制中我们了解…

【3dmax笔记】023:阵列工具(移动+一维+二维+三维)

文章目录 一、阵列工具二、案例演示 一、阵列工具 【阵列】命令将显示【阵列】对话框,使用该对话框可以基于当前选择创建对象阵列。 菜单栏:【工具】菜单 > 【阵列】 二、案例演示 首先,画一个物体,如茶壶,如下图…

鸿蒙 DevEcoStudio:组件实例(页面及组件生命周期函数)

【使用onPageshow等生命周期函数】 在entry/src/main/ets/pages路径下创建Page1.ets: import router from ohos.router Entry Component struct Page1 {State message: string Hello WorldState show: booleantrueaboutToAppear(){console.log(Page1组件创建实例)}aboutToDisa…

中国教育界的泰斗级人物颜廷利:一位在多个领域具有深远影响的学者

**中国教育界的泰斗级人物颜廷利教授是一位在多个领域都有着深远影响的学者**。 山东籍文化名人颜廷利教授是一位世界级的哲学大师,他在学术界拥有多项创造性的成果。他不仅是国际十大姓名学专家排行榜上的佼佼者,颜廷利还被评为颜氏家族十大杰出名人教育…

在Windows 11环境下,生成自签名证书

在Windows 11环境下&#xff0c;使用上述命令生成自签名证书时&#xff0c;需要注意的是Windows命令行不直接支持<(command)这样的进程替换语法。因此&#xff0c;您需要稍微调整方法来实现相同的目标。下面是分步骤的操作指南&#xff1a; ### 1. 安装OpenSSL 确保您已经…

python分析预测退休后养老金金额

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.总结 一.前言 养老金,也称为退休金或退休费,是一种主要的社会养老保险待遇。它旨在保障职工退休后的基本生活需要,根据劳动者对社会所作的贡献和所具备的享受养老保险资格或退休条件,按月或一次…

【Word】写论文,参考文献涉及的上标、尾注、脚注 怎么用

一、功能位置 二、脚注和尾注区别 1.首先脚注是一个汉语词汇&#xff0c;论文脚注就是附在论文页面的最底端&#xff0c;对某些内容加以说明&#xff0c;印在书页下端的注文。脚注和尾注是对文本的补充说明。 2.其次脚注一般位于页面的底部&#xff0c;可以作为文档某处内容的…

从招标到合作:如何筛选与企业需求匹配的6sigma咨询公司

在市场竞争激烈的环境中&#xff0c;领军企业需要不断改进和创新才能在行业中保持竞争优势。为了解决产品质量、生产流程和客户满意度等方面的挑战&#xff0c;许多企业选择与6sigma咨询公司合作&#xff0c;推动企业的全面变革和持续发展。下面是企业在选择合作伙伴时通常会经…

GPT-3

论文&#xff1a;Language Models are Few-Shot Learners&#xff08;巨无霸OpenAI GPT3 2020&#xff09; 摘要 最近的工作表明&#xff0c;通过对大量文本进行预训练&#xff0c;然后对特定任务进行微调&#xff0c;在许多NLP任务和基准方面取得了实质性进展。虽然这种方法…