RAID基础

磁盘类型


类型


IDE

Integrated Drive Electronics


SATA

Srial ATA


SCSI

Small Computer System Interface


FC

Fiber Channe


接口


IDE接口,并行


串行


Scsi接口 并行


FC接口


传输率


133Mbs


150Mbs


320Mbs


1.06G


优缺点


老了,太慢


常用


性能好,占用CPU少,稳定但费用高;

SAS:新一代scsi 串行,小


热插拔性,高速带宽,远程连接,连接设备数量大

RAID

由于单个普通硬盘的速度的限制和高端设备价格的限制,使得raid(Redundant Arrays of independent/inexpansive Disks)诞生由来,

RAID Level:


Level


RAID0条带


RAID1镜像


RAID5校验


RAID10


读写性能


读写性能提升


写性能低下读性能提升


读写都提升


读写都提升


有无冗余


无冗余


有冗余


有冗余


有冗余


利用率


100%


50%


(n-1)/n


50%


需要的盘数


至少2块盘


至少2块盘


至少3块盘


至少4块盘


原理图





  • RAID4与RAID5:两者都是基于校验算法来实现数据的性能的提升和冗余,不同的是RAID4将校验的数据存在一个磁盘上,这样磁盘读写的瓶颈将在数据校验盘上。而RAID5是将校验数据放在不同的盘上,这样会优于RAID4
  • RAID10和RAID01:两者在性能上差不多,但是如果在RAID01的情况下,最下面的RIAD0中如果有一块盘损坏,那么整个上面的RAID1将不能够正常使用。所以这方面应使用RAID10,先镜像在条带存储

  • RAID50: 读写都提升;有冗余;空间利用率(n-2)/n;至少6块盘。一般在使用在磁盘有很多的情况下,主要来存储非常庞大的数据集,如数据仓库和非常庞大的OLTP系统
  • jbod(hdoop hdfs):基本不用。无性能提升;无冗余;空间利用率100%;;至少2块盘

软RAID配置

由于软RAID的使用需要额外的CPU来计算数据的分片,而且如果操作系统的崩溃,RAID恢复其他也是件麻烦的事,所以一般生产环境中很少使用,而是使用硬件级别的RAID

内核支持:md(multidisks)用来模拟RAID,即逻辑RAID

mdadm使用:

创建:-C

管理:--add,--remove, --fail

装配:-A

详细:-D

其他选项:-l 级别, -n 设备个数, -a <yes/no> 自动创建设备文件 –c 指定chrunk大小 –x 指定spare disk空闲盘

实例:

创建1G的raid10,需要4块512M磁盘

mdadm -C /dev/md0 -a yes --level=10 -n 4 /dev/sd[b-e]

创建1G的raid5,要求有个备盘;需要4块512M磁盘

mdadm -C /dev/md0 -a yes --level=5 -n 3 -x 1 /dev/sdb /dev/sdc /dev/sdd

查看状态:cat /proc/mdstat

查看详细的信息:mdadm -D /dev/md0

导出当前的配置信息:mdadm –detail –scan /dev/md0 >/etc/mdadm.conf

mdadm –A /dev/md0 #之后会根据配置文件直接生产md

停止RAID:mdadm -S /dev/md0

删除: rm -fr /etc/md0

硬件RAID的配置:

由于本人大三狗一枚,我只接触过学校的dell 6580,下面以dell的机型配置的信息,这里只做了参考

http://wenku.baidu.com/link?url=Pcb5bZgf0ftL2fVQaSgoRZpts6UtpkNpctET1xvuvtw-Xgsz2yGEAAODm_axr2diVmJEcBDAyGp21XKRsY2iDJkUoy86dqO8T7XKQMQSbNa

软RAID和硬RAID比较

硬件RAID在内部有独立cpu,内存,和电池。有了CPU可以自己独立计算数据校验及数据分片等操作,特别是在RAID5,6这样级别。另外有独立的内存,读的时候,RAID控制器会先预读一些数据到自己内存,从而在一定程度上加速读取;写的时候,会先将部分数据缓存到cache中,然后在定时flush到磁盘上。控制器上的电池,可以保证RAID在掉电的时候,即使在内存中"还没来得及"flush到磁盘的数据得翼保存48小时的时间。一定程度上保证数据的安全,提示了数据读写效率

软RAID需要占用操作系统的CPU,如果在CPU繁忙的时候,可能会出现I/O等待问题等

但在RAID1,RAID10级别上,软硬件RAID差别不大。

另外补充下RAID5的大概原理

摘自知乎

简单通过Raid5来进行比较。Raid 5基本原理是异或运算来实现。
XOR (0, 1) = 1
XOR (1, 0) = 1
XOR (0, 0) = 0
XOR (1, 1) = 0

硬盘1 硬盘2 硬盘3
| 101 | 010 | 011 |

XOR (101, 010, 011) = 100
过程如下:
XOR (101,010) = 111 , XOR (111, 011) = 100
校验盘P
| 101 | 010 | 011 | 100 |

| 101 | 挂了 | 011 | 100 |
还原010
XOR (101, 011, 100) = 010
当然实际过程比这个要复杂的多的多。

Raid5 写一份数据,需要下列操作,普通硬盘只要1次写操作。
控制器读取旧的数据块,
读取旧的校验块。
并和新计算出来的进行比对,如果有修改,则要改写旧块为新块(数据快和校验块)。
如果只是同等内容修改,没有用到新的块。就到此为止了。
简单的例子是,我新建一个文本文档,只有一个字符A,没有空格,空行,tab。我修改A为B,然后保存,文件大小是不变的。如果我把A改成两个字母"AB",再保存。相当于申请新的空间来保存另外一个字符B。(此例子只能用来理解,不能代表100%Raid控制器和文件系统是这样存储数据)
如果有追加的数据
则还要写入新的数据块和新的校验块。

时间: 2024-10-13 11:42:26

RAID基础的相关文章

raid基础及linux软raid之dmadm

RAID  0 : 条带         性能提升:读,写  n         冗余能力(容错能力):无         空间利用率: nS         至少2块磁盘    1 : 镜像         性能提升:写性能有所下降,读性能提升         冗余能力:有         空间利用率: 1/2         至少2块磁盘  2 :   3 :   4 :   5 :          性能表现:读写提升         冗余能力:有         空间利用率:(n-1)/

Raid基础知识

1.Raid的定义 Raid(Redundant Array of Inexpensiv Disk,廉价磁盘冗余阵列)由伯克利分校在1988年提出,其原理是把多块独立的硬盘按不同组合方式形成一个硬盘组,从而提供比单块硬盘更高的存储性能和备份技术. 研究初期,便宜的磁盘是主要重点,但后来便宜磁盘并不能适应现实的生产环境,所以inexpensive改为independent. 2.Raid的级别 raid技术可分为几种不同的等级,用于满足用户对存储系统可用性.性能和容量的要求,级别仅用于标识磁盘组合

3.raid基础应用

raid分为软备份和硬备份 软备份主要用来实验 应备份用于生产环境 raid0(带区卷)    具有很高的数据传输率,没有数据的冗余  1块磁盘 raid1(镜像卷)  提供数据冗余,利用率低  2块磁盘 raid10(带区卷+镜像卷)磁盘利用率低,数据传输快  3块磁盘 raid5   数据传输慢,利用率低   4块磁 raid50  容错能力强,传输数率较快,利用率低 raid6  数据可靠性强,容错能力强,利用率低 raid60  传输速率较快 这里我做的实验是raid10和raid热漂移

服务器RAID配置全程与RAID基础知识

服务器RAID配置全程 一.RAID介绍 RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”.后来RAID中的字母I被改作了Independent,RAID就成了“独立冗余磁盘阵列”,但这只是名称的变化,实质性的内容并没有改变.可以把RAID理解成一种使用磁盘驱动器的方法,它将一组磁盘驱动器用某种逻辑方式联系起来,作为逻辑上的一个磁盘驱动器来使用. RAID的优点 1. 传输速率高.在部分RAID模式中,可以

hdu1151 Air Raid 基础匈牙利

1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4 #include <algorithm> 5 using namespace std; 6 7 #define MAXN 150 8 int n; //十字路口的数量 9 int m; //路的个数 10 int map[MAXN][MAXN]; 11 int x[MAXN], y[MAXN]; 12 int mark[MAXN];

RAID基础及软RAID实现方式

存储基础知识&mdash;架构和RAID

1.服务器与存储系统 服务器:提供计算能力.为网络请求提供服务. 存储系统:存储设备+存储管理系统+RAID磁盘系统.接受I/O请求. 存储架构:                 DAS (Direct Attach STorage)存储设备直接和服务器连接,接口为IDE或者SCSI.                 NAS  (Network Attached Storage) 网络附加存储,采用网络技术,通过交换机连接存储系统(服务器),接口为TCP/IP.                

RAID 0+1硬盘阵列组建图解及RAID 0+1和1+0的区别

经常有人来文RAID,只其然而不知其所以染,今天我就以网吧为例讲解下. 随着网吧规模扩大,网吧电脑数量也会相应增加,上网的顾客也随之增多,服务器硬盘数据存取的速度将会成为新的瓶颈,很多顾客开始投诉服务器点播的电影比较卡.游戏升级速度慢等问题,倘若不采取相关措施,那么好不容易扩大的经营将毁于一旦. 那么如何解决硬盘存取速度的瓶颈呢?用多个硬盘组建RAID阵列将是一个较佳的解决方案.然而许多网管由于缺少实际经验,对于RAID技术只有含糊的概念,所以小编特别编写了本文,与大家一起分享RAID基础知识与

测试一下纯文本

Linux系统入门 Linux系统管理 磁盘管理.文件系统管理 RAID基础原理.LVM2 网络管理:TCP/IP协议.Linux网络属性配置 程序包管理:rpm, yum 进程管理:htop, glance, tsar等 sed和awk Linux系统开机流程 内核管理基础知识:编译内核.模块 Linux系统裁剪 kernel+busybox 课外作业:LFS 回顾:find.特殊权限.if语句 Linux磁盘管理 I/O Ports: I/O设备地址: 一切皆文件: open(), read