当前课程知识点:大数据平台核心技术 > 第二讲 分布式存储 > 小概率事件-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的
处理队列填满
导致不能对外正常服务
在生产系统中
运维同学对业务逻辑不清楚
或者误操作
可能会将有用的数据误删除
分布式存储系统
需要在存储空间足够的
情况下 尽量保存数据
来降低误操作带来的风险
在磁盘维护过程中
出现磁盘被拔错
未被清除的磁盘
直接进入系统的情况
需要分布式系统
具备识别和校验数据
有效性的能力
防止数据混乱
从上面的例子来看
除了数据规模大
性能要求高以外
小概率事件
是分布式存储系统
经常要应对的问题
如何高效的处理这些异常
是分布式存储系统工程
面临的挑战
-主讲人:武永卫
-主讲人:程永
-QUIZ--作业
-大纲
-初步认识大数据对分布式存储系统的需求
-理解大数据对分布式存储系统的需求
-具体说明大数据对分布式存储系统的需求
-大规模分布式存储的挑战
-小概率事件-Raid卡故障
-分布式存储系统举例
-分布式存储系统重要功能设计要点剖析
-链式写正常流程
-写流程的另一种常见方式:主从模式
-链式写异常流程
-写异常处理的另一种方法-Seal and New
--写异常处理的另一种方法-Seal and New(主讲人:姚文辉)
-读正常流程
-读流程优化-BackupRead
-IO QoS
-数据正确性:checksum
-数据可靠性-Replication
-数据均衡-Rebalance
-垃圾回收-Garbage collection
--垃圾回收-Garbage collection(主讲人:姚文辉)
-Erasure coding
-Erasure coding(3,2)写入和读取过程
--Erasure coding(3,2)写入和读取过程(主讲人:姚文辉)
-元数据管理的高可用性和可扩展性
-元数据管理的高可用性
-Paxos概要
-Raft
-元数据管理的可扩展性
-不同存储介质的特性
-盘古混合存储
-QUIZ--作业
-阿里云飞天分布式调度
-任务调度
-资源调度
-容错机制
-规模挑战
-安全域性能隔离
-分布式调度的发展方向
-QUIZ--作业
-数据格式和抽象
-分布式编程模型
-MapReuduce编程模型
-关系型数据编程模型
-分布式图计算模型
-分布式编程未来展望
-QUIZ--作业
-分布式事务
-分布式一致性算法
-两阶段提交与三阶段提交
-实践--介绍
-关系型计算基本原理_1
-关系型计算基本原理_2
-分布式环境中的连接计算和聚合计算
-其他计算和物理优化
-QUIZ--作业
-提纲
-课程背景介绍
-前序知识
-分布式节点距离计算法则
-数据分布策略
-分布式计算调度
-数据就近原则计算如何容错
-ODPS跨集群数据依赖
-QUIZ--作业
-主讲人:谢德军
--实践2:编写MR完成Group By+Join操作(主讲人:谢德军)
-增量计算和流式计算
-与批量计算的区别
-业界典型系统技术概要分析
-核心技术
-消息机制
-有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制
--有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制(主讲人:强琦)
-StreamSQL
-QUIZ--作业
-软硬件趋势、分布式计算简史与内存计算
-分布式计算
-内存计算
-统一的计算框架
-业界经典系统技术分析-spark&flink
--业界经典系统技术分析-spark&flink(主讲人:强琦)
-QUIZ--作业
-主讲人:褚葳
-QUIZ--作业
-分布式环境下的新问题
-工程实现范例
-课程设计相关问题