新型可扩展的数据保护方式——擦除编码
一、概述
在之前存储系统中,一般都采用RAID技术来对数据进行保护,一旦阵列中某块硬盘损坏,可通过RAID技术所形成的镜像来对丢失数据进行恢复。但随着海量数据问题的出现,RAID越来越难发挥其作用。如采用2TB的硬盘作为存储介质,某块硬盘故障,使用镜像对其进行恢复,大概需要4个小时,而这还是将恢复作为最高优先级的情况下才能实现的数据恢复时间。但在实际情况中是不可能出现的,一般都是将RAID作为较低优先级的,在计算资源闲置的情况下在后台进行的,那么在这种情况下,RAID重建的时间就会不断延长,数据恢复长达1-2周也就不算奇怪了。如果在数据重建过程之中,又发生硬盘故障的话,那么也就意味着数据将永久丢失。因为RAID 5最多能允许阵列中一块硬盘损坏,RAID 6允许两块硬盘同时故障,但在海量数据时代,多块硬盘同时损坏并非不可能,企业重要资源之一的数据该如何保证其安全呢?
英特尔在IDF大会期间公布了新的可扩展的数据保护方式——擦除编码。其工作原理是将存储系统接收到的大块数据进行切割并编码,之后再对切割后的数据进行再次切割并编码,重复这一操作直到数据切割到满意的数据块大小为止,这样使得数据块分散成多个数据块,再进行冗余校验,将不重复的数据块和编码写入存储系统之中。其与传统的RAID数据保护如下图所示:
擦除编码将数据保护架构由RAID 5/6扩展至RAID k,k等于在不造成数据丢失的情况下,可以介绍的故障数量。对于RAID 5来说,k=1;对于RAID 6来说,k=2;对于擦除编码来说,k=n,如在16块硬盘组成的阵列之中,采用擦除编码机制的话,即使6块硬盘同时故障,其也可对丢失数据进行恢复.
由此可以看出,擦除编码目前主要针对的大数据块,英特尔也将其应用在其所推荐的大型对象存储系统之中,经过实际测试,其结果显示,与传统的RAID相比,擦除编码在各个方面都具有无可比拟的优势,具体结果如下图所示:
擦除编码的应用还不仅与此,在关于擦除编码的技术课程之中,相关的技术工程师还介绍了擦除编码灵活应用于多个数据中心的情况,具体如下图所示:
通常而言,传统的擦除编码技术对性能的影响,特别是IOPS和延迟的影响还是比较大的,因此目前适用的场景主要局限在归档、云存储等冷数据方面;

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
docker进入容器
进入容器的三种方式: sshd nsenter exec sshd 在容器中开启一个SSHD的服务,通过SSH的协议登录到容器中,把容器看出一个vm nsenter: nsenter包含在util-linux包中,用来进入一个进程的Namespace 获取一个容器的进程ID: docker inspect --format "{{ .State.Pid}}" <container-id> nsenter --target $pid --mount --uts --ipc --net --pid exec: docker 1.3版本引入的一个新的指令,用来进入一个容器中运行指令 docker exec <container-id> ["CMD"] orchestration as a Service: orchestration as a Service的目标是协调在不同Host上的Container,把他们有机的组织在一起成为一个统一的系统; 解决Container的协调管理 单个数据中心单节点/多个节点跨数据中心 Container之间的网络通信 Oaas解...
- 下一篇
Windows 下安装使用docker swarm machine docker toolbox
下载docker 集成安装环境 http://get.daocloud.io/#install-toolbox 这个网站很不错,下载 这个集成了 docker docker-machine ,还有git 环境 docker-machine 使用的官方网站在http://docs.docker.com/machine/get-started/ 按照官方的一部一部的来 C:\Users\jackluo>sh sh-3.1$ docker-machine create --driver virtualbox dev #创建机器 Creating VirtualBox VM... Creating SSH key... Starting VirtualBox VM... Starting VM... To see how to connect Docker to this machine, run: d:\Program Files\Docker Toolbox\docker-machine.exe env dev sh-3.1$ env "$(docker-machine env d...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Linux系统CentOS6、CentOS7手动修改IP地址
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Windows10,CentOS7,CentOS8安装Nodejs环境