(总结)硬RAID、软RAID的区别详解

标签: Linux Security UNIX 个人日记 区别 | 发表时间:2012-06-19 21:40 | 作者:谋万世全局者
出处:http://www.ha97.com

PS:今天有童鞋问RAID相关的问题,总结记录一下,本人建议在生产环境中就用硬RAID,别用软RAID,除非特殊需求。一般在生产环境中RAID0、1、5、6、10用得最广泛。web服务器或者应用服务器,可以用RAID0或RAID1,重要的数据库服务器建议用RAID5或RAID10。

什么是RAID?

RAID是英文Redundant Array of Independent Disks的缩写,翻译成中文即为独立磁盘冗余阵列,或简称磁盘阵列。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。组成磁盘阵列的不同方式成为RAID级别(RAID Levels)。

为什么我们采用RAID?

那些需要在硬盘上保存大量数据的人(例如 一个普通的管理人员) ,采用 RAID 技术将会很方便。采用 RAID 的主要原因是:

· 增强了速度
· 扩容了存储能力(以及更多的便利)
· 可高效恢复磁盘

硬RAID与软RAID的区别:

硬RAID:通过用硬件来实现RAID功能的就是硬RAID,比如:各种RAID卡,还有主板集成能够做的RAID都是硬RAID。

软RAID:通过用操作系统来完成RAID功能的就是软RAID,比如:在Linux操作系统下,用3块硬盘做的RAID5。

补充:RAID 也有全软、半软半硬与全硬之分,全软RAID 就是指RAID 的所有功能都是操作系统(OS)与CPU 来完成,没有第三方的控制/处理(业界称其为RAID 协处理器――RAID Co-Processor )与I/O 芯片。这样,有关RAID 的所有任务的处理都由CPU 来完成,可想而知这是效率最低的一种RAID 。半软半硬RAID 则主要缺乏自己的I/O 处理芯片,所以这方面的工作仍要由CPU 与驱动程序来完成。而且,半软半硬RAID 所采用的RAID 控制/处理芯片的能力一般都比较弱,不能支持高的RAID 等级。全硬的RAID 则全面具备了自己的RAID 控制/处理与I/O 处理芯片,甚至还有阵列缓冲(Array Buffer ),对CPU 的占用率以及整体性能是这三种类型中最优势的,但设备成本也是三种类型中最高的。

一、性能

这可能是最重要的一个方面,用RAID就是为了提高性能。从理论上说,使用RAID0可以获得使用单硬盘双倍的速度,用软/硬RAID0都可以接近这个速度。使用软RAID的CPU占用率要高一些,所以在性能上,硬RAID要领先。

二、稳定性

做RAID是为了追求性能,所以一般使用7.2k转或者10k、15k转的硬盘。而市面上主流7.2k硬盘的发热量普遍较大,同时在机箱里放上两块,散热就已经是个问题,更何况是三块。毕竟稳定压倒一切,要是硬盘被烧毁就得不偿失了。况且,有些机箱根本放不下三块硬盘。因此使用硬RAID的稳定性要高一些。

三、兼容性

目前主流的服务器新版操作系统基本都支持软RAID,但是如果操作系统出了问题,软RAID就挂了。硬RAID的兼容性要好很多,万一系统出了问题,做系统维护、数据恢复也方便多了。

四、安全性

软RAID安全性不好,当有一块硬盘损坏时,它不能实现重建的功能,而且它的局限性也很在,而硬RAID有硬盘丢失时,它可以实现重建,以及如果RAID卡损坏时,它可以通过更换RAID卡,实现不丢失数据的功能。

主板集成RAID与外插RAID卡RAID的区别:

一、 性能

主板集成的RAID,它的性能以及它的速度是通过主板的CPU与内存来实现的,它会占有主板一定的带宽,会影响整机的性能,而外插RAID卡,它本身由自己的CPU和内存,所以它的数据处理大部分都会由自己处理,不会影响主板上的CPU与内存速度,总体看来,外插的RAID卡的RAID要比主板集成的RAID快得多。

二、 安全性

主板集成的RAID它的安全性不能够得到保证,比如:我们用P8SCT主板做一个SATA RAID,不论你做RAID几,它是通过更改主板的BIOS选项做成的,所以一旦主板损坏、主板的CMOS电池掉电、无意更改了主板BIOS的设置都会带来RAID的丢失,通过主板做成的RAID,一旦丢失,将会不能恢复,后果是非常严重的,而外插的RAID卡做成的RAID就不会因为主板损坏、主板的CMOS电池掉电等现象对数据造成影响,所以外插的RAID卡,它的安全性远远大于主板集成的。

查看你的硬件支持哪些RAID设备的命令:
dmraid -l
查看多重磁盘信息:
cat /proc/mdstat

结论:在选择用那种RAID形式时,首先根据客户的需求,整机的价位以及这台机器客户最终用于做什么,几种情况而定。硬Raid通过raid卡进行数据交换,占用系统I/O极小,数据的交换与运算都是通过RAID卡来完成的。而软RAID是通过软件模拟RAID子系统来完成数据交换与运算的,需要占用系统I/O,占用系统资源大。本人建议大部分情况使用硬RAID,别用软RAID,除非有特殊情况需要使用软RAID。

关于RAID各个级别的原理和图解请参考维基百科如下链接,解说得很好!

http://zh.wikipedia.org/wiki/RAID

http://en.wikipedia.org/wiki/RAID

相关 [raid raid] 推荐:

RAID介绍

- lang - BlogJava-首页技术区
之前对RAID没有概念,经常听说用的服务器做的Raid0\1\5什么的,今天有时间整理了一下,对Raid有了大概的了解. RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求. 这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能.

raid概念

- - CSDN博客系统运维推荐文章
有时候对raid有点含糊不清,特别从网上找了一些资料总结一下. RAID通过在多个磁盘上同时存储和读取数据来大幅提高 存储系统的数据 吞吐量(Throughput). 在RAID中,可以让很多磁盘 驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率.

(总结)硬RAID、软RAID的区别详解

- - 服务器运维与网站架构|Linux运维|互联网研究
PS:今天有童鞋问RAID相关的问题,总结记录一下,本人建议在生产环境中就用硬RAID,别用软RAID,除非特殊需求. 一般在生产环境中RAID0、1、5、6、10用得最广泛. web服务器或者应用服务器,可以用RAID0或RAID1,重要的数据库服务器建议用RAID5或RAID10. RAID是英文Redundant Array of Independent Disks的缩写,翻译成中文即为独立磁盘冗余阵列,或简称磁盘阵列.

RAID磁盘阵列学习笔记

- Michael - IT技术博客大学习
标签:  RAID  磁盘阵列.     RAID是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列. 简单地解释,就是将N台硬盘通过RAID Controller(分Hardware,Software)结合成虚拟单台大容量的硬盘使用. RAID的采用为存储系统(或者服务器的内置存储)带来巨大利益,其中提高传输速率和提供容错功能是最大的优点.

CISSP知识点解析系列:RAID

- - IT技术博客大学习
标签:   CISSP   RAID.     RAID (redundant array of independent disks; 或者redundant array of inexpensive disks),顾名思义,通过多个独立硬盘提供存储的高可靠性. RAID可以用软件实现,也可以用硬件实现,但是应该对应用软件透明.

在 Linux 上创建 Software RAID 10

- - vpsee.com
昨天重装一台老服务器的时候发现 Intel hardware RAID 控制卡有问题,不能识别所有硬盘,但是安装操作系统过程中可以识别所有硬盘,还有一个问题就是操作系统安装正常,但是安装完后无法启动,某种原因导致 BIOS 不能从硬盘启动系统. 所以打算把操作系统安装到一个 USB 盘上,然后从 USB 盘启动系统,并给上面的6块硬盘做成 Software RAID 10 后挂载到系统里用.

G-Technology 展示 8TB G-RAID 的 Thunderbolt 接口硬盘

- 猫 - Engadget 中国版
为了不让 Seagate 4TB 的 GoFlex Desk 专美于前,Hitachi G-Technology 也推出了一款大尺寸的外接式硬盘,并在阿姆斯特丹的 IBC 展览会场公开展示. 此款拥有 8TB 容量的 G-RAID 双硬盘商品,将两颗具备 7,200 转的 4TB 硬盘装在铝制的金属外壳中.

数据的存储介质-磁盘的RAID

- - 淘宝中间件团队博客
上次介绍了磁盘,这篇来介绍一下 RAID. 要介绍 RAID技术的原因,其实是因为目前大部分分布式存储在做的事情其实 RAID在很多年前就已经做到了,所以如果你希望做存储相关的事情,那么 RAID是必须要理解,但不一定要用到的概念:). 计算机要存储和读取数据,主要依托这么两个部件:. 1.通信管道和通信协议,心灵感应还需要靠电波通信呢不是.

Nagios通过check_megaraid_sas(基于MecaCli工具的插件)对RAID卡和硬盘进行监控的方法

- kissingwolf - 骨骨学习笔记
对于使用了LSI MegaRAID卡搭建RAID的, 通过LSI公司提供的MegaCli工具, 就可以实现对RAID卡和硬盘的监控. 注: DELL PERC5/6(PowerEdge RAID ControllerPERC)阵列卡实际上也就是LSI MegaRAID SAS controllers..