冗余(奇偶校验)块:RAID5中在同一个条带中用一个块来存放冗余信息,冗余信息示其他块的"异或"值,这样在同一条带中就只有(n-1)个块是实际的数据,所以RAID5中阵列容量是(n-1)块单盘容量。

RAID5相关知识:

块:块是阵列中对单个磁盘存取的单位。比如块大小64K,那么系统把0-63K数据写入第一个硬盘;64-

127K数据写入第二个硬盘,128-255K数据写入第三个硬盘。块从0开始编号。我们观察下面的RAID0,3个磁盘:

磁盘1      磁盘2       磁盘3

0-63K      64-127K    128-191K   (条带0)

191-255K   256-319K   320-383K   (条带1)

384-447K   448-511K   512-575K   (条带2)

条带:在RAID0中的平行块中组成一组条带,比如上面的条带0-条带2,是不是很简单啊?再看下面的块

(1,2,3,...)组成的条带:

1   2   3   4 (条带0)

5   6   7   8 (条带1)

9  10  11  12 (条带2)

13  14  15  16 (条带3)

冗余(奇偶校验)块:RAID5中在同一个条带中用一个块来存放冗余信息,冗余信息示其他块的"异或"值,这样在同一条带中就只有(n-1)个块是实际的数据,所以RAID5中阵列容量是(n-1)块单盘容量。看看下面的一个条带,其中用1表示数据,用0表示冗余:

1  1  1  0

旋转: RAID5中条带中的冗余块并不是固定写在同一个硬盘上的(这样会造成性能低下),它用一种"旋转"的方式来循环存放冗余块,这样每个硬盘都有机会存放冗余块避免了IO瓶颈。根据循环的方式,我们称为"左循环"和"右循环"。观察下面的例子(0是冗余块)

1   2   3   0 (左循环)

4   5   0   6

7   0   8   9

0  10  11  12

--------------------

0   1   2   3 (右循环)

4   0   5   6

7   8   0   9

10  11  12  0

同步/异步: 在同一条带中,块的存放顺序也不一样,我们称为同步/异步。

RAID5---块,条带,校验,旋转,同步/异的更多相关文章

  1. rsync 文件校验及同步原理

    rsync 文件校验及同步原理 参考:http://rsync.samba.org/how-rsync-works.html 我们关注的是其发送与接收校验文件的算法,这里附上原文和我老婆(^_^)的翻 ...

  2. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  3. rsync 文件校验及同步原理及rsync server配置

    参考:http://rsync.samba.org/how-rsync-works.html 我们关注的是其发送与接收校验文件的算法,这里附上原文和我老婆(^_^)的翻译: The Sender Th ...

  4. 对象及变量的并发访问(同步方法、同步代码块、对class进行加锁、线程死锁)&内部类的基本用法

    主要学习多线程的并发访问,也就是使得线程安全. 同步的单词为synchronized,异步的单词为asynchronized 同步主要就是通过锁的方式实现,一种就是隐式锁,另一种是显示锁Lock,本节 ...

  5. java多线程-同步块

    Java 同步块(synchronized block)用来标记方法或者代码块是同步的.Java 同步块用来避免竞争.本文介绍以下内容: Java 同步关键字(synchronzied) 实例方法同步 ...

  6. synchronized同步块和volatile同步变量

    Java语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量.这两种机制的提出都是为了实现代码线程的安全性.其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而 ...

  7. java多线程(三)——锁机制synchronized(同步语句块)

    用关键字synchronized声明方法在某些情况下是有弊端的,比如A线程调用同步方法之行一个长时间的任务,那么B线程必须等待比较长的时间,在这样的情况下可以使用synchronized同步语句快来解 ...

  8. Java同步块

    原文:http://ifeve.com/synchronized-blocks/ Java 同步块(synchronized block)用来标记方法或者代码块是同步的.Java同步块用来避免竞争.本 ...

  9. Java同步块(synchronized block)使用详解

    Java 同步块(synchronized block)用来标记方法或者代码块是同步的.Java同步块用来避免竞争.本文介绍以下内容: Java同步关键字(synchronzied) 实例方法同步 静 ...

随机推荐

  1. Code Igniter数据库操作函数大全

    查询 $query = $this->db_query("SELECT * FROM table"); ==================================* ...

  2. Redis 缓存服务器

    Redis 服务器 Remote Dictionay Server   Redis是一个key-value持久化产品,通常被称为数据结构服务器. Redis的key是string类型:value可以是 ...

  3. OK335xS I2C device registe hacking

    /*************************************************************************** * OK335xS I2C device re ...

  4. Hadoop全分布模式操作

    http://blog.csdn.net/wangloveall/article/details/20767161 摘要:介绍Hadoop全分布模式操作,实现真正意义上的集群架构. 关键词:Hadoo ...

  5. k8s helm 可视化UI 管理工具 monocular部署试用

    官方建议是用 helm 进行安装,但是helm 有点费事(各种原因...) 所以使用官方说的使用docker-compose 但是默认官方的compose 跑起来 还是真费事,经过调整,修改了一版支持 ...

  6. HTML/CSS/Javascript代码在线压缩、格式化(美化)工具

    CSS 格式化 ProCSSor - http://procssor.com/   CSS 压缩 CSS Compressor - http://www.cssdrive.com/index.php/ ...

  7. Spring插件3.8.2的安装

    主机环境:win8 64bit eclipse版本:4.5.2 MARS 插件版本:Spring Tool Suite3.8.2 安装过程:直接在线安装,没有先在官网把插件下载再安装. 主要步骤: 1 ...

  8. linux 知识点

    关于登录Linux时,/etc/profile.~/.bash_profile等几个文件的执行过程. 在登录Linux时要执行文件的过程如下: 在刚登录Linux时,首先启动 /etc/profile ...

  9. 日期获取 net

    项目中用到了,所以就写全了,供参考使用. DateTime dt=DateTime.Now;int weeknow = Convert.ToInt32(DateTime.Now.DayOfWeek); ...

  10. PHP 图片打水印

    <?php /*----------------------------------------------------------------------------------- *函数名称 ...