Straw

ceph crush算法和crushmap浅析

大兔子大兔子 提交于 2020-04-27 18:35:22
1 什么是crushmap crushmap就相当于是ceph集群的一张数据分布地图,crush算法通过该地图可以知道数据应该如何分布;找到数据存放位置从而直接与对应的osd进行数据访问和写入;故障域的设置和数据冗余选择策略等。crushmap的灵活设置显示出了ceph的软件定义存储方案。 这里可以引入raid相关的概念来对比下: raid0:又称为Stripe,中文名为条带,它是所有RAID级别中存储性能最高的,它的原理就是把连续的数据分散存储到多个磁盘中,充分利用了每个磁盘的吞吐,突破了单个磁盘的吞吐限制。 raid1:又称为Mirror,中文名为镜像,它的主要宗旨是保证用户的数据可用性和可修复性,它的原理是把用户写入硬盘的数据百分之百的自动复制到另外一个磁盘上。 raid10:高可靠性与高效磁盘结构,可以理解为raid0和raid1的互补结合,类似于ceph中的多副本策略。 raid5:是一种存储性能、存储成本和数据安全都兼顾的一种方案,它的原理是不对存储的数据进行备份,而是把数据和存储校验信息存储到组成raid5的各个磁盘上,当raid5的一个磁盘损坏时,可以根据剩下的数据和奇偶校验信息来恢复损坏的数据,类似于ceph中的纠删码策略。 对导出的crushmap进行反编译后得到的内容如下: # begin crush map 选择存放副本位置时的选择算法策略中的变量配置

Ceph CRUSH算法

江枫思渺然 提交于 2020-04-27 12:23:25
1. 数据分布算法挑战 数据分布和负载均衡: a. 数据分布均衡,使数据能均匀的分布到各个节点上。 b. 负载均衡,使数据访问读写操作的负载在各个节点和磁盘的负载均衡。 灵活应对集群伸缩 a. 系统可以方便的增加或者删除节点设备,并且对节点失效进行处理。 b. 增加或者删除节点设备后,能自动实现数据的均衡,并且尽可能少的迁移数据。 支持大规模集群 a. 要求数据分布算法维护的元数据相对较小,并且计算量不能太大。随着集群规模的增 加,数据分布算法开销相对比较小。 2. Ceph CRUSH算法说明 CRUSH算法的全称为:Controlled Scalable Decentralized Placement of Replicated Data,可控的、可扩展的、分布式的副本数据放置算法。 pg到OSD的映射的过程算法叫做CRUSH 算法。(一个Object需要保存三个副本,也就是需要保存在三个osd上)。 CRUSH算法是一个伪随机的过程,他可以从所有的OSD中,随机性选择一个OSD集合,但是同一个PG每次随机选择的结果是不变的,也就是映射的OSD集合是固定的。 3. Ceph CRUSH算法原理 CRUSH算法因子: 层次化的Cluster Map 反映了存储系统层级的物理拓扑结构。定义了OSD集群具有层级关系的 静态拓扑结构。OSD层级使得

十二句你应该掌握的英语口语表达,让你不再和老外尬聊,建议收藏

好久不见. 提交于 2019-11-30 19:25:49
英语中的"俚语"就如同我们日常生活中常用的"非正式口语"一样,虽然光看单词你可以了解他的字面意思,但是如果套用到日常用语中,就很难让人理解。所以要想和老外流畅的交流,你必须要掌握这些英语"俚语"。 今天小编就为大家带来外国人常用的英语"俚语",快来和小编学习一下吧。 1:buy If you buy an idea or a theory, you believe and accept it. 看到这句话的第一眼大家是不是有点懵,为什么翻译的意思为"如果你买了一个想法或理论,你就会相信并接受它"。其实在这里"buy"的意思不可以翻译为"买",而是俚语中的"相信"的意思,不过它带有强烈的个人感情色彩。 例句:I'm not buying any of that nonsense. 我才不相信那些废话呢。 2:gut 通常意思为"肠子",但在美式口语中,这个词的意思有很多,比如"勇气、直觉、本能、本质"等等。 例句:I had a feeling in my guts that something was wrong. 我本能的感觉出事了。 3:use 这个单词我们熟知的用法是"使用、利用",但是在美式口语中,这个词更多的用法是"需要"。 例句: The treatment does not involve the use of any artificial drugs.