当前位置: 首页 > news >正文

raid5实现原理

一、raid什么意思?
RAID是“Redundant Array of Independent Disk”的缩写,raid什么意思了?说白了,中文翻译过来通俗的讲就是磁盘阵列的意思,也就是说RAID就是把硬盘做成一个阵列,而阵列也就是把硬盘进行组合配置起来,做为一个整体进行管理,最关键的是这个阵列的磁盘之间具有冗余容错处理,这样可提高磁盘之间相互的安全性和稳定性,不存在“单点”硬盘现象,也就说不会让某些硬盘读写频繁,其他的硬盘可能数据交换较少的现象,从而提高硬盘的安全性,同时磁盘的整体管理会提高读写速度,使硬盘的利用发挥到最大。
二、raid5是什么意思?
我们在做磁盘阵列时会采用不同的方式,我们把每一种磁盘阵列方式称为RAID的级别(即RAID Levels)。而RAID5只是RAID Levels中的最为常见的一种容错方式。那raid5是什么意思?
raid5是什么意思?专业的讲:
所谓RAID5即分布式奇偶校验的独立磁盘结构。RAID5是实际商业应用环境中最为广泛的一种RAID level,毕竟计算机技术发展到今天,硬件的质量还是相对比较有保障和稳定的,RAID5最大特点是有一块硬盘冗余,做RAID5必须要3块以上的硬盘,其使用率是N-1的存储空间。其特点是将它的奇偶校验码存在于所有磁盘上,RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性,允许单个磁盘出错。RAID 5也是以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。这样,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据.
三、raid5 几块硬盘?
做RAID5 几块硬盘?简单的说:所谓Raid5就是采用3块以上(含3块硬盘)做一个阵列,其中两块盘是实际容量,其中另一块盘是作为备用的,3块盘中允许坏一块盘,支持在线更换,而数据不丢失!3块盘是起步,可以是4块,5块,无论是是几块,实际容量是(N-1)。
四、如何做raid5?
其实如何做RAID5?非常简单,如今不论是HP服务器,还是IBM服务器,都有引导光盘或引导分区,依照提示按部就班的“下一步”即可。但需要注意的是,不同的服务器,标准磁盘阵列的RAID控制器,所支持的RAID级别不一样,有的标机根本不带RAID控制器,有的带基本的RAID功能,如 RAID0,RAID1,RAID0+1,而不支持RAID5,比如刀片服务器,最多支持两块硬盘,根本无法做RAID5;对于普通的服务器一般高配的基本上都支持RAID5的功能!

评论:RAID5实际上是一种比较经济的容错级别,即充分利用的硬盘的容量,又有备份的冗余,当然这个和预算有关系,比如3块盘,那么硬盘利用率是 2/3,如果是8块盘的话,利用率高达7/8了!如今RAID5的基础上,把那块冗余的硬盘再找一块盘做个镜像(即RAID1)于是乎就产生了 RAID5+1的RAID6的说法,RAID6实际上是RAID5的升级版,可以允许同时坏两块盘,而不丢失数据!这种RAID6的级别,也在服务器硬盘较多的情况被使用,做RAID6一般都是硬盘超过5以上才有意义,如果是4块,RAID6实际上就是RAID1(N-2)。所以4块盘做RAID6意义不大,也没这么做的!

注意:

1、RAID1加热备是3块盘 但容量是一块盘的容量 而三块盘做RAID5是两块盘的容量
2、RAID5在三块盘的时候 坏两块的概率不大  但超过4块5块的时候概率就大了,所以加个热备还是有必要的。
热备的概念是 平时不参与阵列,就是一块空盘
在阵列中某一块盘坏掉了  热备才顶上

本文转自 转身撞墙角 51CTO博客,原文链接:http://blog.51cto.com/chentianwang/1696780


相关文章:

  • Go 可变参数和切片
  • Tomcat7 catalina.out 日志分割
  • storm drpc实例
  • 监控CPU(一)
  • RIP
  • Lintcode104 Merge k Sorted Lists solution 题解
  • jQuery基础一
  • heartbeat主配置文件
  • Mysql5.6到5.7升级需要以下操作
  • GDI+绘制极坐标图(Polar Diagram)
  • RHEL7/CentOS7 PXE+Kickstart自动化系统安装
  • Netty环境搭建(源码死磕2)
  • [20171113]修改表结构删除列相关问题4.txt
  • 2018.10.24-dtoj-3984 玩具(toy)
  • lvs健康检查
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • C++11: atomic 头文件
  • CentOS 7 修改主机名
  • Electron入门介绍
  • gops —— Go 程序诊断分析工具
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Promise面试题2实现异步串行执行
  • React系列之 Redux 架构模式
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 产品三维模型在线预览
  • 今年的LC3大会没了?
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 力扣(LeetCode)22
  • 什么软件可以剪辑音乐?
  • 用 Swift 编写面向协议的视图
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • !!java web学习笔记(一到五)
  • (20050108)又读《平凡的世界》
  • (Ruby)Ubuntu12.04安装Rails环境
  • (二)fiber的基本认识
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)四层和七层负载均衡的区别
  • ****Linux下Mysql的安装和配置
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .net 流——流的类型体系简单介绍
  • .NET开源快速、强大、免费的电子表格组件
  • .NET值类型变量“活”在哪?
  • @Transaction注解失效的几种场景(附有示例代码)
  • [ SNOI 2013 ] Quare
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林
  • [Android]常见的数据传递方式
  • [AutoSAR系列] 1.3 AutoSar 架构
  • [BZOJ3211]:花神游历各国(小清新线段树)