热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

raid5合适多少块硬盘_RAID5需要几块硬盘

对数据的完整性要求较高的应用才需要使用这类的的磁盘阵列,对于一般的应用,或者小型服务器的应用完全没有必要,重要数据可以单独备份。RAID5把数据和相对应的奇偶校验信息存储到组成RA

对数据的完整性要求较高的应用才需要使用这类的的磁盘阵列,对于一般的应用,或者小型服务器的应用完全没有必要,重要数据可以单独备份。

RAID5把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上,其中任意N-1块磁盘上都存储完整的数据,也就是说有相当于一块磁盘容量的空间用于存储奇偶校验信息,也就是你说指的那损失的一个硬盘容量的原因。因此当RAID5的一个磁盘发生损坏后,不会影响数据的完整性,从而保证了数据安全。当损坏的磁盘被替换后,RAID还会自动利用剩下奇偶校验信息去重建此磁盘上的数据,来保持RAID5的高可靠性。

用简单的语言来表示,至少使用3块硬盘(也可以更多)组建RAID5磁盘阵列,当有数据写入硬盘的时候,按照1块硬盘的方式就是直接写入这块硬盘的磁道,如果是RAID5的话这次数据写入会分根据算法分成3部分,然后写入这3块硬盘,写入的同时还会在这3块硬盘上写入校验信息,当读取写入的数据的时候会分别从3块硬盘上读取数据内容,再通过检验信息进行校验。当其中有1块硬盘出现损坏的时候,就从另外2块硬盘上存储的数据可以计算出第3块硬盘的数据内容。也就是说raid5这种存储方式只允许有一块硬盘出现故障,出现故障时需要尽快更换。当更换故障硬盘后,在故障期间写入的数据会进行重新校验。 如果在未解决故障又坏1块,那就是灾难性的了。

RAID5校验位算法原理

P=D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn为数据块,P为校验,xor为异或运算)

XOR(Exclusive OR)的校验原理如下表:

A值 B值 Xor结果

0 0 0

1 0 1

0 1 1

1 1 0

这里的A与B值就代表了两个位,从中可以发现,A与B一样时,XOR结果为0,A与B不一样时,XOR结果就是1,而且知道XOR结果和A与B中的任何一个数值,就可以反推出另一个数值。比如A为1,XOR结果为1,那么B肯定为0,如果XOR结果为0,那么B肯定为1。这就是XOR编码与校验的基本原理。

《raid5 合适 多少块硬盘_RAID5需要几块硬盘》

RAID5结构图

RAID-5数据恢复思路RAID-5阵列中数据的分布与RAID-0类似,数据也是分布到每块硬盘上,与RAID-0不同的是,RAID-5中每个条带组中总有一个条带是校验块,如图中的“P0、P1、P2、P3”就是校验块。

RAID-5能够支持在一块盘离线的情况下保证数据的正常访问,如果有两块或两块以上硬盘同时离线,或者RAID信息出错等原因,阵列便会失效,这时就需要对数据进行重组。

图RAID-5的结构图

对RAID-5的数据进行重组,也需要先把物理盘去RAID化,作为单盘进行分析,如图中的四块物理盘,把四块物理盘中的数据按照“A、B、C、D、E、F、G、H……”的顺序拼接好,就是RAID-5逻辑盘中完整的数据。

因为RAID-5的每块物理盘中都有校验信息,所以分析RAID-5就需要比RAID-0多一个因素,即校验块的位置和方向,另外,RAID-5中数据块的走向也会不一样,分为异步和同步,也就是说,RAID-5 有四个因素很重要,第一个是RAID中每个条带的大小,也就是

“A”或“B”

这些数据块所占用的扇区数;第二个因素是RAID中硬盘的排列顺序,也就是盘序;第三个因素是校验块的循环方向;第四个因素是数据块的走向。

以图中四块物理盘组成的RAID-5为例,假设条带的大小为32个扇区,物理盘的顺序就按照图中的排列顺序,那么只要到硬盘0中取0-31扇区的信息,再到硬盘1中取0-31扇区的信息,再到硬盘2中取0-31扇区的信息,硬盘3中0-31扇区的信息是校验块,跳过不取。接下来再回到硬盘0中取32-63扇区的信息,就这样依次按顺序取下去,把所有取出来的数据按照顺序衔接成一个镜像文件或者是镜像盘,这就成为完整的原RAID-5逻辑盘的结构了,直接访问这个重组出来的镜像文件或镜像盘,就得到了原RAID-5逻辑盘中的数据。可以关注我们问答堂的官方微博,参与讨论更多问题,点击右侧的微博。

其它问题可以到中关村在线-精编问答堂搜索

更多的关于电脑和网络的问题请到中关村在线-硬件论坛交流分享

希望以上信息对你有所帮助


推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 深入解析JVM垃圾收集器
    本文基于《深入理解Java虚拟机:JVM高级特性与最佳实践》第二版,详细探讨了JVM中不同类型的垃圾收集器及其工作原理。通过介绍各种垃圾收集器的特性和应用场景,帮助读者更好地理解和优化JVM内存管理。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文将介绍如何使用 Go 语言编写和运行一个简单的“Hello, World!”程序。内容涵盖开发环境配置、代码结构解析及执行步骤。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 本文探讨了如何在发布 XenApp 应用时,通过命令行参数实现启动时的参数传递。特别介绍了静态和动态参数传递的方法,并详细解释了 ICA 文件中两种参数传递方式的区别及安全检查机制。 ... [详细]
  • 题库来源:安全生产模拟考试一点通公众号小程序G3锅炉水处理报名考试是安全生产模拟考试一点通生成的,G3锅炉水处理证模拟考试题库是根据G3锅炉水处理最新 ... [详细]
author-avatar
天天写程序
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有