加入收藏 | 设为首页 | 会员中心 | 我要投稿 新余站长网 (https://www.0790zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

分布式存储的架构、隐患及解决方法

发布时间:2021-01-09 22:44:03 所属栏目:安全 来源:网络整理
导读:《分布式存储的架构、隐患及解决方法》要点: 本文介绍了分布式存储的架构、隐患及解决方法,希望对您有用。如果有疑问,可以联系我们。 作者简介: 顾炯 中国电信浙江公司中国电信云计算实验室、SDx联合技术开放实验室专家委员.作为第一完成人,多个项目获得

VBS采取一致性哈希算法,如图3,将数据块的逻辑地址计算出KEY值.并将计算出来的KEY映射到哈希环上,在哈希环上划分了N段(Partition),每个Partition对应一个硬盘,并根据出partition主和osd节点的映射关系ioview,和partitio主备对应的osd关系,得到该数据块的路由,如图4.

在写入的时候,采用强一致性,即当主和备副本都返回写成功后,才认为这个IO写成功了.读IO时只读主副本,当主副本故障的时候,会在备副本中选举出主副本.目前,一个资源池可以支持2000块硬盘.

图19

操作系统看到的连续的数据逻辑地址(LBA),实际上被打散到资源池内所有硬盘上了,类似所有硬盘都做了raid0,这样就利用了所有磁盘的性能,提高了存储的性能.

操作系统实际是直接读写物理磁盘的块,并没有封装额外的文件系统,是一个raw设备.

OSD是一台插了较多硬盘的X86服务器,我们采用的是12块SATA 3T的硬盘作为数据的持久化存储介质.

如果VBS不承载在OSD上,那么OSD服务器的计算压力实际上很小,也没有必要配置计算能力很强、内存配置很高的服务器.

上一篇文章计算过,12块SATA盘提供的iops或吞吐量其实很有限,需要配置SSD作为缓存,加速存储的性能.由此看来,分布式存储的性能是由SSD的性能和热点数据计算算法决定的.

和一般存储不同,一般分布式存储的写性能会好于读性能.主要是主和备副本写入SSD就返回成功了,而SSD什么时候写入硬盘,怎么写入硬盘,客户端是不知道的.

而读数据的时候,如果数据是热点数据,已经在缓存在SSD上,性能会很好,如果没有在缓存中,就需要到硬盘中直接读取,那性能就很差了.

这也是当分布式存储在初始化的时候,测试性能指标不如运行一段时间后的指标.所以测试分布式存储有很多陷阱,大家要注意.

为了提高存储的安全性,达到6个9以上的安全性,我们采取的是通行的3副本(2副本在96块盘以下,可以达到6个9).副本可以根据实际情况设置成为在不同机架、不同服务器、不同硬盘的安全级别.

当磁盘或主机故障,会被MDC监控到,会选举主副本、踢出故障点、重构副本等操作.为了确保数据的安全,副本重构的时间很关键,我们要求,每T数据重构时间不超过30分钟.

为了确保数据重构流量不影响正常存储IO访问流量,实现快速数据重构.我们没有采取华为推荐的网络方案,而是采用环形虚拟化堆叠的方案,交换机间的堆叠链路采用40G光路,如图5.

将存储的重构流量都压制在存储环形网络中.交换机到服务器采用2*10G连接,可以根据情况采用主备或分担的模式.

图20

说过了“块”存储,再简单了解一下“对象存储”.

对象存储是在同样容量下提供的存储性能比文件存储更好,又能像文件存储一样有很好的共享性.实际使用中,性能不是对象存储最关注的问题,需要高性能可以用块存储,容量才是对象存储最关注的问题.

所以对象存储的持久化层的硬盘数量更多,单盘的容量也更大.对象存储的数据的安全性保障也各式各样,可以是单机raid或网络raid,也可以副本.

对性能要求不高,可以直接用普通磁盘,或利用raid卡的缓存,也可以配些SSD作为缓存.我们现在使用单机35块7200转4T SATA盘+raid卡缓存加速的自研对象存储,并计划在今年使用60块7200转8T SATA盘.即每台服务器提供480T的裸容量.

Ceph和google基于GFS的存储就是典型的对象存储.

Ceph是目前最为热门的存储,可以支持多种接口.Ceph存储的架构和华为的FusionStorage异曲同工,都是靠“算”而不是“查”.

  • 一种是为数众多的、负责完成数据存储和维护功能的OSD.
  • 另一种则是若干个负责完成系统状态检测和维护的monitor.

(编辑:新余站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读