1.分布式存储在DevOps、微服务、容器等新技术落地过程中有哪些优缺点?[问题描述]存储是IT架构中最基础的部分。新技术的发展对存储提出了更高的要求。分布式存储对于这些新技术有哪些优势?缺点是什么?@吴黄良苏宁消费金融有限公司技术总监:分布式存储在IT架构中的定位更多是资源的弹性伸缩,能力覆盖仅限于IaaS和成本,面向分布式存储和集中式存储总体上对PaaS和SaaS越来越友好,具体表现在以下几个方面:1、灵活扩展,满足海量数据存储需求。存储集群启动,可灵活扩展至数千节点。存储容量可实现集群EB级数据空间。同时,由于分布式架构,每个存储节点可以提供独立的性能支持,在高并发数据处理中可以实现更高的存储性能、更高的带宽吞吐量和IOPS。有效解决海量数据、高扩展、高性能的存储需求。2.弹性扩展和替换由于实现了分布式存储平台,这个平台上不管有多少个节点,都可以看作是一个资源池,每个节点都可以看作是这个资源池的一个分子。通过系统预装和软件优化,可以直接将分子添加到整个平台中。因此,当存储性能或容量资源不足时,可以通过增加硬件资源来提升存储集群的相应资源。另一方面,由于硬件采用标准化的X86服务器,集群中的各个节点通过软件系统统一管理,当硬件设备老化或出现故障时,可以直接方便地更换新硬件加入集群。简单方便,对上层业务无感知。友情提供产品更换。而且,在更换节点或磁盘后,存储系统会自动重建数据,以平衡各节点的数据分布。这是自动完成的,无需人工干预。降低使用难度。3、可视化、标准化让管理更简单与传统的存储黑盒管理方式相比,分布式存储实现了标准硬件的交付,标准硬件服务器的运维管理会更加简单。存储生命周期内的管理具有以下优势。部署上线:内置存储节点,硬件深度优化的存储系统,30分钟即可部署上线。告别传统软件部署安装,调优适配,真正实现开箱即用。配置规划:根据系统指令进行资源分配和管理。资源配置实现灵活的分配和回收。所有的配置和规划操作都是可视化的,无需手动记录对应关系,一切都可以直观的使用和管理。管理运维:直观的可视化管理设计,可实现整个集群的一页式管理。可以动态展示cpu、网络、磁盘等硬件的健康监控,以及逻辑卷、用户数、存储集群的稳定运行情况,实现实时监控和预警。故障处理:故障处理实现了传统故障告警的早期预防。分布式存储可以实现集群的健康监控,故障潜伏期可以实现故障提醒。实现故障的早期处理,防患于未然。4、统一存储资源,实现数据共享。共享分布式存储系统通过统一的硬件资源池提供块、文件、对象三种存储服务。因此,数据中心的数据将统一存储在云存储资源池中。通过存储管理系统,可以根据用户指令实现数据的调动和共享。另一方面,存储系统内置数据治理,数据分析相当于一个数据关联性强的数据应用系统,可以实现便捷的数据处理,将处理后的完整数据接入大数据平台,实现大数据的分析与应用。便捷实现数据价值挖掘,助力企业实现数字化转型!5、可靠性更高。在数据冗余方面,分布式存储系统不仅可以通过多副本、纠删码等技术在不影响数据可靠性的情况下容忍多块磁盘故障,还可以大大提高数据重建和修复的效率。.由于采用了热备空间的概念,将一个磁盘重构数据的压力平均分配到多个磁盘上,速度可以提升到1T/30min。另一方面,由于采用去中心化设计,所有存储节点都可以承载业务系统,分布式存储也可以容忍服务器故障,存储系统仍然稳定可用,可靠性更好。2、分布式存储的应用场景有哪些?【问题描述】目前分布式存储虽然已经在实际环境中验证了成熟度,但是应该还没有铺开吧?那么,分布式存储有没有自己适用的场景呢?哪些更适合做分布式存储?我们应该评估哪些因素来使用分布式存储?比如备份:用传统的大磁盘存储代替对象存储就够了吗。这也将降低成本。@古黄良苏宁消费金融有限公司技术总监:分布式的“四高”特性使其广泛应用于高性能计算、大数据视频云和大数据分析等应用场景。高性能计算场景基于集群的高性能计算已经成为气象气候、地质勘探、航空航天、工程计算、材料工程等领域必备的辅助工具。集群系统具有很强的可扩展性。通过增加或删除集群中的节点,可以随时增加或减少系统的处理能力,而不影响原有的应用和计算任务。根据不同的计算模式和规模,构成集群系统的节点数量可以从几个到几万个不等。这些业务对后端存储系统提出了新的要求,包括统一的存储空间、高效的文件检索、高带宽的吞吐性能、高可靠的数据安全保障等。大数据视频云应用场景随着高清视频技术和超高清技术的普及,视频大数据应用场景,如雪亮工程、平安城市、广电媒体资产、影视制作、视频网站等等领域,需要大容量存储设备。、高读写性能、高可靠性、低延迟、可扩展性。对于这种大规模的视频数据应用场景,需要一个技术先进、性能优越的存储系统作为后端数据存储的支撑。大数据分析应用场景随着互联网技术和人工智能的发展,各种基于海量用户/数据/终端的大数据分析和人工智能商业模式层出不穷。还需要充分考虑存储功能的集成、数据安全性、数据稳定性、系统扩展性、性能和成本等因素。在数据爆发式增长的“数字时代”,软件定义的分布式存储是存储技术飞速发展的结晶,具有很大的成长空间,必将应用于更广泛的大数据业务场景.3、银行业在选择分布式存储和集中式存储时应该注意哪些问题?如何选择合适的存储类型?@赵海技术经理:银行数据:交易数据:属于结构化数据,以二维表的形式存在于交易系统数据库中,是原始数据。图像数据:内容管理平台中存在客户签订合同所需的非结构化或半结构化数据。历史数据:从数据库中归档的历史数据。分析数据:从交易系统下沉的数据,用于监管报告、反洗钱、运营分析等分析数据。运维数据:日志、报表、监控等与系统运行相关的一系列数据。存储的选择,是分布式存储还是集中式存储,主要看两点:1、数据结构是什么?如果是交易类型的结构化数据,一般都是二维表的形式,块数据访问方式是最好的。因为存储层和数据库层在数据访问粒度、事务处理、并发控制上非常一致,所以性能也是最好的。如果是非结构化或半结构化的图像数据,不妨选择分布式存储,这样可以节省成本,提高业务并发性。2.稳定性如何?事务性数据必须需要稳定的存储平台,不成熟的分布式架构或应用经验不丰富的人不宜轻易在事务性系统中使用。4、选择分布式存储的依据是什么?【问题描述】目前分布式存储厂商太多了,一搜就一大堆。基于ceph开放的有两个,也有说是自研的。有的是做软件的,有的是搞一体机绑定的,那我们应该怎么选机型呢?1、如何选择cpu、mem、cachedisk等?2、选择依据的指标和相应参数有哪些?3.形式是纯软的还是软硬结合的有什么区别?@古黄良苏宁消费金融有限公司技术总监:1、cpu、mem、cachedisk等如何选择?如果是软件定义存储,一切看实际场景对cpu、men、cache的要求。如果是集成存储,对应的型号有相应的建议场景需求。2、选择依据的指标和相应参数有哪些?主要看场景,比如私有云部署、海量非结构化数据、高性能计算、流媒体、视频监控等场景,相应的IOPS、吞吐量等参数建议根据现场需求来定。3.形式是纯软的还是软硬结合的有什么区别?纯软的、便宜的、更灵活的、集成的、昂贵的、更可靠稳定的5、如何保证分布式存储过程的稳定性和可靠性?[问题描述]与中心化存储相比,分布式存储具有很强的价格优势。在实际使用中,仍然需要通过容量管理来评估存储成本。分布式存储系统的存储成本甚至更高。其中大部分是按集群使用情况呈现的。目前开源的分布式存储产品中,大多采用伪随机算法进行数据平衡。典型的就是Ceph。因此,分布式存储使用一定时间后,集群可用率会出现较大的误差。分布式存储架构师和工程师需要通过相应的技术手段监控分布式存储的数据使用情况和数据平衡状态,包括灾难性数据迁移和数据分布阈值,以保证分布式存储在使用过程中的稳定性和可靠性。@吴黄良苏宁消费金融有限公司技术总监:从根本上讲,这是一个数据平衡的问题,尤其是在Ceph的技术体系中。数据均衡是保证分布式存储中各个磁盘的数据相对均匀分布,依靠自身的数据均衡算法保证数据分布能够遵循各个Pool的Rule-Set规则,同时保证每个Pool对应的PG相对合理的分布在每个OSD中。在Ceph的数据平衡体系中,每个Pool都有不同的作用。有的存储元数据,有的存储业务数据,容易造成数据分布不均衡。在新版本的Ceph中,实现了数据分布的智能化管理。很多商用的分布式存储产品也有类似的功能。通过相关的计算模型,可以根据导入的数据进行实时迭代计算,调整数据分布。进行优化配送管理。据实际统计,数据分布的误差基本可以控制在2%以内。@Lucien168滴滴存储工程师:分布式系统一般依赖分布式协议paxos算法或者Raft算法来保证集群的高可用和可靠。一般只要运维和监控有保障,是不会有大问题的。数据不平衡:但是在运维过程中,我们会发现ceph的crush算法会导致集群中数据倾斜,数据不平衡。这个时候就需要我们的监控及时报警,运维工具定期reblance来保证集群数据的均衡。迁移IO争用:当集群节点发生变化时,会导致集群的均衡迁移。那么集群内部的迁移IO肯定会影响客户端请求的IO。这时候我们就需要对集群内部的IO设置优先级,控制速度。优先保证客户端IO的完成。@刘东东苏团IT技术顾问:在以ceph为代表的分布式存储集群中,确实会存在数据分布不均衡的问题,尤其是在ceph集群刚刚部署或者集群正在扩容的时候。磁盘会使这种情况更加严重,OSD的数量会发生变化,只要集群中的一个OSD先被填满,整个集群就无法写入数据,这将极大地影响存储的稳定性和可靠性。性别。为了尽可能避免这种情况,提高分布式集群的存储利用率,需要尽可能将PG均匀分布在OSD上。通常有以下几种方法:1.设置osdbalanceweight,做osdreweight,可以根据每个OSD上的PG数量进行调整,默认值为120%。当然,这种方法需要定期监控状态,并不是一种自动化的解决方案。2、使用balancer的方式,自动迁移各个OSD上的PG,达到均衡的效果。6、如何有效智能的控制和恢复IO,减少IO问题对数据批量计算的影响,是分布式存储考虑和解决的问题吗?【问题描述】金融场景IO密集度高,尤其是数据批量计算。分布式存储在频繁的数据分发和迁移过程中,通常会带来IO争用。在大规模集群中,容量扩容或硬盘更换尤为明显,这给分布式存储在金融领域的深入使用带来了一定的风险。如何有效、智能地控制和恢复IO,减少IO问题对数据批量计算的影响,是分布式存储架构师必须考虑和解决的问题?@Lucien168滴滴存储工程师:backfill和recoveryceph的最优值会在添加osd的时候触发backfill,从而对数据进行平均,触发数据迁移。Ceph在osd被移除的时候需要恢复节点上的数据,同时也有数据的迁移和生成,只要集群有数据变化,就会有网卡流量、cpu、内存等资源被占用,而且大部分重要的是磁盘占用。此客户端还需要访问磁盘。当一个请求发生碰撞时,肯定会比平时慢很多,而且可能会出现资源原因导致机器宕机等异常情况。主要问题可能是:*peering时IO被阻塞请求*导致请求慢*在backfill*以上两种情况都会导致客户端变慢和softlockup。一般来说,会有不同的要求:1.如果慢,一定是没有问题,没有业务中断。2、迁移越早完成越好。尽快结束维修服务。重要的影响因素可根据自身环境整体按以上三项要求之一进行控制。osdrecoveryoppriority=3#默认值10#恢复操作优先级,取值1-63,值越大资源占用越高osdrecoverymaxactive=3#默认值15#同时激活的恢复请求数osdmaxbackfills=1#默认值10#一个OSD允许的最大回填数osdrecoverymaxactive=3(default:15)osdrecoveryoppriority=3(default:10)osdmaxbackfills=1(default:10)@顾黄良苏宁消费金融有限公司技术负责人:从分布式存储在金融领域的实际使用来看,时不时会有定期的运维操作,比如前面提到的大规模集群扩容、磁盘更换等题目和IO争用也是比较常见的问题之一。首先,在我遇到的大型集群中,如果单个集群超过1K个存储节点,按照正常概率,每个月会有不同数量的磁盘损坏,每个季度都会有一次集中更换磁盘.这些操作将通过数据迁移、数据加载和数据平衡来进行数据恢复。IO竞争多发生在这种场景,高强度IO计算的竞争更多取决于数据分布算法的合理性。通常不管分布式存储本身的算法如何,更多的是采用时间策略+流量策略来避免IO争用,比如避开业务高峰期的换盘窗口,而流量策略更多的是基于数据流量的恢复率阈值匹配业务场景,最终实现在不影响业务IO的情况下快速完成数据迁移和恢复。@刘东东苏团it技术顾问:分布式存储确实会在OSD变化时造成IO波动,尤其是扩容或者升级的时候会自己做数据平衡,大规模的数据迁移会对IO数据造成影响。因此,为了避免类似情况,需要考虑业务的繁忙时间段,避免在高峰期进行磁盘或节点扩容等操作。除了避免固定时间窗外,在扩容策略上,也要避免OSD的数量一次性大量增加。比如一次只扩容一个OSD或者一个节点(根据存储隔离策略)。虽然工作量会增加,但不会造成大规模、持续的影响。当数据发生故障恢复时,可以限制数据恢复的流量策略。例如恢复流量占用的IO利用率阈值小于30-50%,以保证生产IO的性能。这些都是避免IO争用的手段和策略。7、分布式存储在整个集群故障时如何保证数据安全?数据恢复是否可以像传统存储一样进行?@吴黄良苏宁消费金融有限公司技术总监:你可以这样看这个问题。如果部署单个机房,分布式存储的所有冗余措施都会失效,引发整个集群的故障,必然无法保证数据安全。该级别的补充数据记录的可能性非常低。如果部署多个机房,整个集群宕机的概率极低。如果部署多个机房,单个机房无法提供服务,有两种方式。1、机房一侧出现全局故障,数据全部丢失。机房的另一侧承担主站点的工作。机房故障或集群故障解决后同步数据时间较长。这种数据同步的方式称为数据抓取。2、当一侧机房出现临时性故障时,故障恢复后可提供对象存储服务。原主站点临时故障恢复,需要从备份站点同步的数据量较小。8、分布式存储的数据容灾和复制?[问题描述]目前已知的分布式存储的数据容灾复制方式主要采用第三方数据复制软件。请问老师,有没有开发类似传统存储头的同步和异步复制技术?如果是这样,结构是否必须在两端一致?@吴黄良苏宁消费金融有限公司技术总监:在数据冗余方面,分布式存储系统不仅可以通过多副本、纠删码等技术,在不影响数据可靠性的情况下容忍多盘故障,还提高了数据重建和修复的效率。也有了很大的提高。由于采用了热备空间的概念,将一个磁盘重构数据的压力平均分配到多个磁盘上,速度可以提升到1T/30min。另一方面,由于采用去中心化设计,所有存储节点都可以承载业务系统,分布式存储也可以容忍服务器故障,存储系统仍然稳定可用,可靠性更好。9、分布式存储的扩容计划是什么?[问题描述]在分布式存储初期搭建时,通常会规划出最优解,并确定各个节点的功能。在生产使用中,如果存储系统的容量不能满足当前新增的需求,就必须进行扩容。扩容新的存储节点不是加入原来的集群,而是构建一个新的分布式存储系统吗?@吴黄良苏宁消费金融有限公司技术总监:由于分布式存储平台的实现,无论平台有多少个节点,都可以看作是一个资源池,每个节点都可以看作一个资源池这个资源池的分子。通过系统预装和软件优化,可以直接将分子添加到整个平台中。因此,当存储性能或容量资源不足时,可以通过增加硬件资源来提升存储集群的相应资源。另一方面,由于硬件采用标准化的X86服务器,集群中的各个节点通过软件系统统一管理,当硬件设备老化或出现故障时,可以直接方便地更换新硬件加入集群。简单方便,对上层业务无感知。友情提供产品更换。而且,在更换节点或磁盘后,存储系统会自动重建数据,以平衡各节点的数据分布。这是自动完成的,无需人工干预。降低使用难度。
