Forward rebuild发生在磁盘或节点挂掉的时候. 这种rebuild的过程的load是均衡到protection domain中所有可用的磁盘和节点上的. 这种rebuild相对于backwards rebuild更快, 更平顺.

 

Backward rebuild发生在挂点的节点或磁盘恢复的时候, 或者添加新的节点或磁盘的时候. 这种rebuild发生的时间点比较的智能, 由ScaleIO系统决定何时发生和发生时的load有多少.

 

那么为什么一种rebuild快而一种rebuild却不那么快呢? 从设计的角度来考虑, 节点挂掉的时候存储上的数据处于一种'危险'之中. 因为ScaleIO上的任何一份数据都是两份拷贝的, 挂掉一个磁盘或节点意味着这部分数据只剩下了一份拷贝, 这时如果再挂掉一个磁盘或节点, 那么就有数据丢失的危险. 所以应该尽快的进行forward rebuild, 保证任何时候都有两份拷贝, 防止数据丢失. 而backward rebuild的发生有两种情况, 一种是坏掉的节点恢复, 另一种是向已有的配置中添加节点或磁盘. 那么在已有两份拷贝的基础上, 安全已经不是问题, 那么可以看作是在当前性能的基础上进行锦上添花, 自然rebuild的速度就要考虑到当前的磁盘的workload, 以及各方面的因素来决定了.

 

考考你. 比如, 我们在维护ScaleIO主机的时候, 需要运行如下命令:

scli --inactivate_protection_domain --protection_domain_name MyPd

主机重启结束之后, 我们再运行下面的命令来恢复.

scli --activate_protection_domain --protection_domain_name MyPd

 

这时ScaleIO系统会进行一种rebuild, 你猜猜是哪一种?

 

你答对了! 答案是backward rebuild.

什么是ScaleIO中的forwards rebuild和backwards rebuild?的更多相关文章

  1. Oracle中可以nologging执行的操作

    redo重做日志是Oracle数据库恢复(recovery)的基础:但在很多情况下可以通过禁用重做日志的产生来加速SQL语句的完成,也就是我们所说的可nologging化的操作,这些操作大多是或串行的 ...

  2. Oracle alter index rebuild 与 ORA-08104 说明

    在ITPUB 论坛上看到的一个帖子,很不错.根据论坛的帖子重做整理了一下. 原文链接如下: alter index rebuild online引发的血案 http://www.itpub.net/t ...

  3. Unreal Engine 4 Radiant UI 入门教程(零)在场景中摆放网页

    相关的学习资源: https://forums.unrealengine.com/showthread.php?12097-PLUGIN-RadiantUI-SDK-UIs-HUDs-Interact ...

  4. 索引rebuild与rebuild online区别

    索引rebuild与rebuild online区别 1.0目的,本篇文档探讨索引rebuild 与 rebuild online的区别 2.0猜测:已有的知识 2.1对索引rebuild重建会对表申 ...

  5. ScaleIO与XtremSW Cache如何集成呢?

    在ScaleIO上, XtremSW Cache主要有两种部署方式: 把XtremSW Cache在每台server的内部用作cache - 在ScaleIO Data Server(SDS)下做ca ...

  6. Androidstudio中导入内部依赖模块总结

    今天刚从GitHub上找了一个不错的项目,想要把它导入自己的项目中,过程中也遇到了一些小问题,总结一下,以便复习回顾!!!! 1.首先将从GitHub上下载的压缩包进行解压,找到其中的项目文件,直接复 ...

  7. Nova rebuild for boot from volume issue

    目录 文章目录 目录 Nova boot from volume Rebuild Instance Rebuild for boot from volume Nova boot from volume ...

  8. makefile实验二 对目标的深入理解 以及rebuild build clean的实现

    (一) rebuild build clean的实现 新知识点: 当一个目标的依赖是一个伪目标时,这个伪目标的规则一定会被执行. 贴实验代码 CC := gcc Target := helloworl ...

  9. 重建索引:ALTER INDEX..REBUILD ONLINE vs ALTER INDEX..REBUILD

    什么时候需要重建索引 1. 删除的空间没有重用,导致 索引出现碎片 2. 删除大量的表数据后,空间没有重用,导致 索引"虚高" 3.索引的 clustering_facto 和表不 ...

随机推荐

  1. 安卓RecylerView嵌套和事件处理

    最近遇到了一个需求:RecylerView的某一项为listView,即listView嵌套,且要求内部ListView可以滑动,高度固定. 如果直接简单的写完,会发现有两个问题: 1.内部listV ...

  2. @Resource与@Autowired注解的区别(转)

    Spring不但支持自己定义的@Autowired注解,还支持由JSR-250规范定义的几个注解.如:@Resource.@PostConstruct及@PreDestroy 1.@Autowired ...

  3. [python]源码-对象的创建和行为

    (明天论文就要送审了!!!距离毕业一个月!!!) 现在还记得刚开始学python时候被这种动态语言惊到的那种感觉,列表和字典对象可以随意伸缩,简直不能更帅了,但是一直不知道内部到底是怎么实现的,pyt ...

  4. DNS隧道工具iodine

    DNS隧道工具iodine   在受限制的网络中,如果DNS请求没有被限制,就可以通过DNS请求建立隧道而突破网络限制.iodine是Kali Linux提供的一款DNS隧道工具.该工具分为服务器端i ...

  5. django中两张表有外键关系的相互查找方法,自定义json编码方法

    两张通过外键联系的表,如何在一张表上根据另一张表上的属性查找满足条件的对象集? 平常查找表中数据的条件是python中已有的数据类型,通过名字可以直接查找.如果条件是表中外键列所对应表的某一列,该如何 ...

  6. python opencv3 特征提取与描述 DoG SIFT hessian surf

    git:https://github.com/linyi0604/Computer-Vision DoG和SIFT特征提取与描述 # coding:utf-8 import cv2 # 读取图片 im ...

  7. android studio 汉化包 美化包

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 汉化包 百度云盘 下载地址:https://pan.baidu.com/s/1pLjwy ...

  8. Android 中点击返回键弹出“在按一次退出程序”的做法

    在很多应用中都有这种做法,连续点击两次才退出程序,目的是为了防止用户不小心点击到了返回键而退出程序了,添加了一次用户确认的过程. 其实做法很简单,只需要做一个延时的消息处理就可以了. 首先在我们在一个 ...

  9. 采用LinkedList来模拟栈数据结构的集合--先进后出

    三.用LinkedList来模拟栈数据结构的集合 /* * 自定义一个数据结构为LinkedList的集合类*/public class MyCollection_LinkedList { publi ...

  10. GDB高级用法

    http://blog.csdn.net/wwwsq/article/details/7086151