当前课程知识点:大数据平台核心技术 >  第二讲 分布式存储 >  小概率事件-Raid卡故障 >  小概率事件-Raid卡故障(主讲人:姚文辉)

返回《大数据平台核心技术》慕课在线视频课程列表

小概率事件-Raid卡故障(主讲人:姚文辉)在线视频

小概率事件-Raid卡故障(主讲人:姚文辉)

下一节:分布式存储系统举例(主讲人:姚文辉)

返回《大数据平台核心技术》慕课在线视频列表

小概率事件-Raid卡故障(主讲人:姚文辉)课程教案、知识点、字幕

在分布式存储系统中

这些常见的

错误事件有哪些呢

会造成什么样的影响呢

我归纳为以下九种

第一种 磁盘和机器损坏

在下面的动画中表现了

随着机器和磁盘数量增多

磁盘损坏和机器宕机的事件

变成了常见问题

目前 虽然不同厂商

不同型号的SATA盘

损坏率有差别

但大部分磁盘的

年损坏率在4%左右

这意味着

5000台机器的集群中

每天有5到6块磁盘损坏

磁盘上的数据

在损坏后会丢失

所以 需要对上面的数据

做紧急复制

来保障数据可靠性

机器日宕机率

是万分之一左右

在5000台集群中

每两天就会有一台机器

异常宕机

一旦出现宕机

IO流量需要自动导向

其他机器上

在下面的动画中表现了

数据在Raid卡充放电

过程中的不同处理方法

充电周期内

数据写入到Raid卡的Cache中

即可返回写入成功

返回之后用batch方式

异步将数据刷入磁盘

来提高性能

但是 在充电周期内

由于电池的保护作用消失

所以 会跳过Cache

直接将数据写入到

低速的物理磁盘上

导致性能下降

在分布式系统中

为了解决一些关键点的性能

和数据可靠性

通常会用在带Cache的Raid卡

这个设备需要驱动

所以 也存在缺陷

在运行中

崩溃导致所有磁盘操作失效

也是常见的事情

由于使用了易失介质

作为写数据的Cache

所以 在掉电情况下

电池会保证数据写入磁盘

电池都有充放电周期

在充电周期内

导致驱动程序

自动将数据Cache禁止

直接将数据以

写透的方式

写入到磁盘上

带来十倍以上的性能下降

在以上两种情况下

如果需要系统节点

能自动检测到异常

并切换到其他机器

来防止服务停止

或者服务质量下降

下面的动画中描述了

网络分割的一种情况

很多人也将这种异常

称为脑裂

在交换机的物理链路

出现问题的时候

会导致集群中部分节点间的

网络失联

例如 第一个交换机下的

机器是相互连通的

但同其他交换机下的机器

是不连通的

其他交换机之间的机器

是可以相互网络通信的

这种现象如果发生在

Meta管理节点上

对数据的一致性

和数据可靠性

会构成威胁

例如 由于脑裂

导致心跳异常

Meta服务自动切换

到另外的机器

切换期间多个节点并行

对外提供Meta服务

会导致新写入的数据

在老Meta管理节点不可见

而作为垃圾删除

这种异常需要利用完善的

可靠的分布式协议来避免

另外 交换机拥塞 升级重启

都表现为网络丢包

会造成集群中众多节点

做错误重试

需要分布式存储系统的

client和server节点

进行拥塞控制

来防止重试造成流量风暴

光纤损坏或光纤接口异常

会导致网络带宽降低

路由配置错误会导致机房间

网络延迟增大

这些异常需要分布式存储系统

有自动识别能力

并进行报警处理

防止异常情况持续

在机器掉电的情况下

不但会影响可用性

还会导致数据可靠性受到影响

例如在下面动画中描绘了

数据写入memory cache就返回

导致数据丢失

在某些应用场景下

这就是写性能

会写入memory cache即返回

在memory cache中

积累的数据会经过一段时间

或者积累到一定数量后

批量写入到磁盘中

此时 如果出现掉电故障

会导致告知用户

写入成功的数据丢失掉

在机房中电力供应模块

以rack为单元

提供多路供电

每个rack中

存放几十到上百台机器

虽然有两路供电

但是 如果rack的

电源模块出现问题

会导致整个rack下的

机器同时宕机

造成大量数据不可访问

所以 需要分布式文件系统

在数据分布的时候

考虑到rack的分布

同时 将数据的多个副本

分布到不同的rack上

达到高可用

整个数据中心托管的机器

会由于供电紧缺

或电力系统改造

以及故障等问题

整个机房需要紧急停机

这导致一个数据中心的数据

不可访问

在架构设计上

和物理部署上

要求分布式存储系统

需要有跨数据中心

和地域的能力

同时 在电力供应

出现问题的时候

可以做到随时可以停机

可以快速恢复的能力

在系统中

数据通过网卡传输后

会出现数据错误

虽然可以打开操作系统的

TCP协议自带的校验功能

但是 在传输点处

还是会由于内存ECC等错误

导致数据传输后变错

数据在成功写入磁盘后

也会出现数据在

磁盘上变错的可能

这种异常

需要分布式存储系统

具有端到端的数据保护措施

可以及时检查到错误

并做到自动恢复

在分布式系统中

很难保证多个节点的

时间是一致的

在左边的动画中

表现了在分布式系统中

如何保证时间同步

从中可以看处

NTP漂移等情况

要求系统逻辑

不能强依赖于时间精度

和时钟同步

需要重新设施虚拟时钟

来保证时序

达到数据一致性

在右边的动画中说明了

当一台机器的

一块磁盘出现异常时

会导致整个机器的

所有磁盘不可用

表现为操作系统

IO线程进入D状态

这种情况下

通常只能通过

重启机器的方法来恢复

不但会导致整机不服务

还会导致mem cache中的

数据丢失

在离线计算场景

通常会将分布式节点

同计算节点放置在

同一台机器上

业务上的热点

随时都在变化和移动

造成了计算热点

过度强占存储节点资源

给存储系统带来不稳定因素

在动画中

三个应用分别消耗

机器的一种资源

若恰好三个业务

调度到了同一台机器

通常会导致机器不可用

通常会采用资源隔离

和限制的方法

来避免一个业务的计算

过度消耗资源

同时 分布式系统的客户端

需要主动绕开热点机器

来避免给整个系统带来影响

软件逻辑不合理

会带来资源使用过度或泄露

给集群中若干节点

同时带来性能低下的问题

这是需要分布式系统

要定时对数据进行采集

按照用户做流量限制

方便问题定位

在动画中的前两种情况中

用户经常重启和错误重试

如果频繁切换文件

会导致创建大量文件

给分布式存储系统的

Meta管理模块

瞬间带来巨大压力

需要在Meta服务上

针对用户做流量控制

防止某个用户逻辑实现问题

导致整个系统不可用

在第三种错误中

设计不合理

导致了Data Server

每次重启都进行block report

消耗较高的

Meta Server的计算量

第四种错误

则是低效的用户程序

导致频繁的对文件进行读取

将Meta Server的

处理队列填满

导致不能对外正常服务

在生产系统中

运维同学对业务逻辑不清楚

或者误操作

可能会将有用的数据误删除

分布式存储系统

需要在存储空间足够的

情况下 尽量保存数据

来降低误操作带来的风险

在磁盘维护过程中

出现磁盘被拔错

未被清除的磁盘

直接进入系统的情况

需要分布式系统

具备识别和校验数据

有效性的能力

防止数据混乱

从上面的例子来看

除了数据规模大

性能要求高以外

小概率事件

是分布式存储系统

经常要应对的问题

如何高效的处理这些异常

是分布式存储系统工程

面临的挑战

大数据平台核心技术课程列表:

第一讲 大数据和ODPS

-主讲人:武永卫

--大数据处理平台概述(主讲人:武永卫)

-主讲人:程永

--大数据平台ODPS(主讲人:程永)

-QUIZ--作业

第二讲 分布式存储

-大纲

--大纲(主讲人:姚文辉)

-初步认识大数据对分布式存储系统的需求

--初步认识大数据对分布式存储系统的需求

-理解大数据对分布式存储系统的需求

--理解大数据对分布式存储系统的需求(主讲人:姚文辉)

-具体说明大数据对分布式存储系统的需求

--具体说明大数据对分布式存储系统的需求(主讲人:姚文辉)

-大规模分布式存储的挑战

--大规模分布式存储的挑战(主讲人:姚文辉)

-小概率事件-Raid卡故障

--小概率事件-Raid卡故障(主讲人:姚文辉)

-分布式存储系统举例

--分布式存储系统举例(主讲人:姚文辉)

-分布式存储系统重要功能设计要点剖析

--分布式存储系统重要功能设计要点剖析(主讲人:姚文辉)

-链式写正常流程

--链式写正常流程(主讲人:姚文辉)

-写流程的另一种常见方式:主从模式

--写流程的另一种常见方式:主从模式(主讲人:姚文辉)

-链式写异常流程

--链式写异常流程(主讲人:姚文辉)

-写异常处理的另一种方法-Seal and New

--写异常处理的另一种方法-Seal and New(主讲人:姚文辉)

-读正常流程

--读正常流程(主讲人:姚文辉)

-读流程优化-BackupRead

--读流程优化-BackupRead(主讲人:姚文辉)

-IO QoS

--IO QoS(主讲人:姚文辉)

-数据正确性:checksum

--数据正确性:checksum(主讲人:姚文辉)

-数据可靠性-Replication

--数据可靠性-Replication(主讲人:姚文辉)

-数据均衡-Rebalance

--数据均衡-Rebalance(主讲人:姚文辉)

-垃圾回收-Garbage collection

--垃圾回收-Garbage collection(主讲人:姚文辉)

-Erasure coding

--Erasure coding(主讲人:姚文辉)

-Erasure coding(3,2)写入和读取过程

--Erasure coding(3,2)写入和读取过程(主讲人:姚文辉)

-元数据管理的高可用性和可扩展性

--元数据管理的高可用性和可扩展性(主讲人:姚文辉)

-元数据管理的高可用性

--元数据管理的高可用性(主讲人:姚文辉)

-Paxos概要

--Paxos概要(主讲人:姚文辉)

-Raft

--Raft(主讲人:姚文辉)

-元数据管理的可扩展性

--元数据管理的可扩展性(主讲人:姚文辉)

-不同存储介质的特性

--不同存储介质的特性(主讲人:姚文辉)

-盘古混合存储

--盘古混合存储(主讲人:姚文辉)

-QUIZ--作业

第三讲 资源管理与任务调度

-阿里云飞天分布式调度

--阿里云飞天分布式调度(主讲人:陶阳宇)

-任务调度

--任务调度(主讲人:陶阳宇)

-资源调度

--资源调度(主讲人:陶阳宇)

-容错机制

--容错机制(主讲人:陶阳宇)

-规模挑战

--规模挑战 (主讲人:陶阳宇)

-安全域性能隔离

--安全域性能隔离(主讲人:陶阳宇)

-分布式调度的发展方向

--分布式调度的发展方向(主讲人:陶阳宇)

-QUIZ--作业

第四讲 分布式编程模型的设计与演化

-数据格式和抽象

--数据格式和抽象(主讲人:吴威)

-分布式编程模型

--分布式编程模型(主讲人:吴威)

-MapReuduce编程模型

--MapReuduce编程模型(主讲人:吴威)

-关系型数据编程模型

--关系型数据编程模型(主讲人:吴威)

-分布式图计算模型

--分布式图计算模型(主讲人:吴威)

-分布式编程未来展望

--分布式编程未来展望(主讲人:吴威)

-QUIZ--作业

实践1:通过两阶段提交协议完成数据上传

-分布式事务

--分布式事务 (主讲人:冯骁)

-分布式一致性算法

--分布式一致性算法(主讲人:冯骁)

-两阶段提交与三阶段提交

--两阶段提交与三阶段提交(主讲人:冯骁)

-实践--介绍

--实践--介绍(主讲人:冯骁)

第五讲 离线分布式关系型计算

-关系型计算基本原理_1

--离线分布式关系型计算_1(主讲人:王鹏飞)

-关系型计算基本原理_2

--关系型计算基本原理_2(主讲人:王鹏飞)

-分布式环境中的连接计算和聚合计算

--分布式环境中的连接计算和聚合计算(主讲人:王鹏飞)

-其他计算和物理优化

--其他计算和物理优化(主讲人:王鹏飞)

-QUIZ--作业

第六讲 全局数据管理与调度

-提纲

--提纲(主讲人:罗李)

-课程背景介绍

--课程背景介绍(主讲人:罗李)

-前序知识

--前序知识(主讲人:罗李)

-分布式节点距离计算法则

--分布式节点距离计算法则(主讲人:罗李)

-数据分布策略

--数据分布策略(主讲人:罗李)

-分布式计算调度

--分布式计算调度(主讲人:罗李)

-数据就近原则计算如何容错

--数据就近原则计算如何容错(主讲人:罗李)

-ODPS跨集群数据依赖

--ODPS跨集群数据依赖(主讲人:罗李)

-QUIZ--作业

实践2:编写MR完成Group By+Join操作

-主讲人:谢德军

--实践2:编写MR完成Group By+Join操作(主讲人:谢德军)

第七讲 流式计算的系统设计与实现

-增量计算和流式计算

--流式计算的系统设计与实现(主讲人:强琦)

-与批量计算的区别

--与批量计算的区别(主讲人:强琦)

-业界典型系统技术概要分析

--业界典型系统技术概要分析(主讲人:强琦)

-核心技术

--核心技术(主讲人:强琦)

-消息机制

--消息机制(主讲人:强琦)

-有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制

--有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制(主讲人:强琦)

-StreamSQL

--StreamSQL(主讲人:强琦)

-QUIZ--作业

第八讲 内存计算

-软硬件趋势、分布式计算简史与内存计算

--软硬件趋势、分布式计算简史与内存计算(主讲人:强琦)

-分布式计算

--分布式计算(主讲人:强琦)

-内存计算

--内存计算(主讲人:强琦)

-统一的计算框架

--统一的计算框架(主讲人:强琦)

-业界经典系统技术分析-spark&flink

--业界经典系统技术分析-spark&flink(主讲人:强琦)

-QUIZ--作业

第九讲 大规模数据的分布式机器学习平台

-主讲人:褚葳

--大规模数据的分布式机器学习平台(主讲人:褚葳)

-QUIZ--作业

实践3:实现MapReduce编程运行时库

-分布式环境下的新问题

--分布式环境下的新问题(主讲人:徐冬)

-工程实现范例

--工程实现范例(主讲人:徐冬)

-课程设计相关问题

--课程设计相关问题(主讲人:徐冬)

小概率事件-Raid卡故障(主讲人:姚文辉)笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。