副本集群可靠性
来源:互联网 发布:virtualbox ubuntu ip 编辑:程序博客网 时间:2024/04/28 02:22
数据可靠性
副本模式下,数据损坏指所有副本在同一时间同时损坏的场景。数据损坏的原因只考虑磁盘故障。机器故障时,如果与磁盘相关则已考虑,如果是网关,cpu 等其他原因,往往数据并没有真正丢失,所以在计算可靠性时不考虑机器故障的场景。
磁盘故障模型
单块磁盘损坏后,其上的所有的 oid 都不可用,对于单块磁盘,如果其在一年中发生故障,认为其故障的概率在所有时间点都是相等的,为均匀分布。
一、单 Oid 可靠性
双副本模式数据丢失场景:oid 的两个副本,分布在两块不同的磁盘上,两块磁盘都发生故障,且发生故障的时间差在 T 以内。
两副本都发生故障的概率为
其比例为:
三副本模式数据丢失场景:oid 的三个副本,分布在不同的磁盘上,三块磁盘都发生故障,且发生故障的时间差在 T 以内。
三副本都故障的概率为
二、用户VDI 可靠性
因为用户并不关心其申请的单个 oid 的可靠性,而是认为其所申请的整个 vdi,如果丢失了任何一块数据,则认为自己的数据丢失了。对于三副本场景,并不是特定的3块盘损坏,才会丢失数据,而是对于该用户有数据分布的任意不同zone 的3块磁盘,如果在单盘修复时间T内同时损坏,则就会造成数据损坏。所以用户 vdi 可靠性与用户数据分布的盘数相关。其计算公式与以下的集群数据可靠性相同。
三、集群数据可靠性
对于 kdfs 系统,并不只是需要保证单个 oid 或者某个用户的 vdi 数据可靠性,而是需要保证整个集群数据的可靠性。其与整个集群的盘数,zone划分有关,对于三副本模式,只要任意不同的 3 个zone在单盘修复时间T内损坏,则认为集群数据丢失。集群规模越大,则其数据可靠性越低。
考虑划分zone 的数目对于可靠性的影响:集群总磁盘数据为 A,均匀划分为 Z 个zone。则取不同的 3 个zone,每个zone 坏一块盘的组合有:
在这里取任意不同 zone 的3块盘损坏来计算集群数据的损坏概率。实际上在单盘恢复时间T内可能同时损坏了 4 块盘或者更多,导致 3 块盘的场景被重复计算。但是每多坏一块盘,发生的概率就需要乘以 P 以及 T/365,其带来的影响可以忽略。所以只考虑同时坏 3 块盘的场景。
集群总磁盘数据为 A,均匀划分为 Z 个zone。磁盘年故障率为 P,单盘修复时间为 T 时。
集群数据损坏计算公式:
在磁盘故障率P不变的情况下,不同的集群要达到 9个9或者10个9的数据可靠性,需要调节集群规模A,zone 划分数目 z 以及限定单盘修复时间T。
- 副本集群可靠性
- MongoDB副本集集群
- 副本集群可用性
- MongoDB 分片+副本 集群配置
- Mongodb集群之副本集
- mongodb 分片 副本集 集群
- 安装mongodb副本分片集群
- mongodb集群之副本集
- redis 副本集(集群)
- mongo副本集群搭建过程
- window下MongoDB副本集和分片高可靠性部署
- Hadoop集群破坏试验可靠性验证
- Hadoop集群破坏试验可靠性验证
- Hadoop2.7.0 HA高可靠性集群搭建
- RabbitMQ学习之集群消息可靠性测试
- MongoDB集群(二) 副本集
- MongoDB集群——副本集
- 搭建mongodb集群(副本集+分片)
- hdu2896 病毒侵袭
- _MSC_VER[Microsoft C/C++编译器版本预定义宏]
- Dubbo 本地編譯
- [转]解决a different object with the same identifier value was already associated with the session错误
- Maven项目在idea软件debug
- 副本集群可靠性
- 浅析C++中结构体的定义、初始化和引用
- iOS逆向工程(手动HOOK自己编写的APP)- 学习整理
- 播客测试
- tmux入门教程
- c++实现反射类
- 基础练习 01字串(二进制)
- netCDF文件内容提取
- vc++2010实现web服务器和客户端