英特尔在云存储软件的解决方案(2)
时间:2020-03-25 14:03:30 作者:无名 浏览量:55
基于现有的完整性框架,需要加入一定服务进去来保证编码数据的完整性,这些代码都尽量以增量的形式加入,这样有利于用户从一些线上服务升级。比如用户用的是E或者G比较老的版本,现在就可以无故障升级。从Swift纠删码(EC)高层架构来看,最后实现就是一个混合存储方案,同时支持多副本和Erasure coding。比方当是三副本的时候就要存三副本,当是Erasure code时候就要去存Erasure code,同时在这里还定义了Erasure coding interface,这也是另外一个英特尔和Box合作的一个开源项目。并且在Swift中对此也有类似一些修改,主要是增加支持Erasure code plugin的相关模块。
最主要的修改是引入了多个对象Ring来支撑多种存储方案,也就是多副本和Erasure coding并存。在Erasure coding的Ring中,重用现有的副本存放位置算法,可以保证各个数据块与代码块尽可能分开存放。这样可以建立多种存储策略的基础。可以想象最终得到一个成品,就是说有些objects是用Erasure code存储的,有些则是多副本的形式存放。
英特尔在云存储软件的解决方案图三
其次是关于Erasure Code库的接口,英特尔和Box合作定义了云存储中编解码需要的接口,可以支持多种编解码形势。英特尔又加入后台进程来保证完整性。后台有一个审计员在不断进行MD5校验,如果数据已经被损坏了则直接进行隔离。同时会有一个reconstructor来进行数据
恢复,当发现有数据片丢失,需要从还存在的数据片中读取数据并尝试恢复,并将恢复得数据写回到硬盘上去。大概所需要做的修改就是这样几个部分。
当EC加入Swift以后,读写流程会有一些变化。当写入数据时,其会被切片,一部分数据加一部分较验,这些块通过Ring分散到后端的存储节点上。然后当去读的时候,首先去找原始数据切片,如果全部都在,则合并数据并返回给Client;如果发现有数据片丢失的情况,需要通过校验码恢复原始数据片,再把重新拼起来。
总结来说,对象存储是云计算及大数据的关键技术。纠删码(Erasure code)技术可以有效降低在分布式存储的成本支出。同时,Swift作为OpenStack核心项目得到越来越多的重视。英特尔也在同开源社区通力合作帮助OpenStack Swift纠删码的更好实现云存储软件。
<上一页12
- 软件性质:国外软件
- 授权方式:共享版
- 软件语言:简体中文
- 软件大小:17668 KB
- 下载次数:1663 次
- 更新时间:2020/3/25 10:35:45
- 运行平台:WinXP,Win7,...
- 软件描述:Intel Rapid Storage Technology即英特尔快速存储技术... [立即下载]
相关资讯