磁盘类型

类型

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控制器和文件系统是这样存储数据)
如果有追加的数据
则还要写入新的数据块和新的校验块。

RAID基础的更多相关文章

  1. 3.raid基础应用

    raid分为软备份和硬备份 软备份主要用来实验 应备份用于生产环境 raid0(带区卷)    具有很高的数据传输率,没有数据的冗余  1块磁盘 raid1(镜像卷)  提供数据冗余,利用率低  2块 ...

  2. [转]RAID基础,RAID10与RAID01比较,RAID10与RAID5比较

    原文:http://blog.itpub.net/787018/viewspace-666280/ 文档内容3部分:1.基本的RAID级别介绍2.RAID10和RAID01的比较3.RAID10和RA ...

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

    服务器RAID配置全程 一.RAID介绍 RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”.后来RAID中的字 ...

  4. RAID基础知识总结

    1.RAID RAID:Redundant Arrays of Inexpensive(Independent)Disks,即独立磁盘冗余阵列,简称磁盘阵列.简单地说就是把多个独立的硬盘组合起来,从而 ...

  5. [svc]raid基础知识-冷知识

    参阅:磁盘接口与RAID Dell 服务器做Raid 1,raid形象理解(饮水机模型) http://dingyichao.blog.51cto.com/442449/698762 2,raid利用 ...

  6. hdu1151 Air Raid 基础匈牙利

    #include <cstdio> #include <cstring> #include <cstdlib> #include <algorithm> ...

  7. 存储专栏:一句话说清RAID2.0

     今天,西瓜哥来谈谈高端存储的一股势力,RAID 2.0,最近被华为HVS搞得风生水起,神奇的让人摸不着头脑.我还是从一个高端存储的江湖说起吧. 据说很久很久以前(别扔臭鸡蛋,讲故事都是这样的…),L ...

  8. 根据生产场景对Linux系统进行分区

    转自:http://oldboy.blog.51cto.com/2561410/629558 老鸟谈生产场景如何对linux系统进行分区? █  前言:    我们买房子时,会考虑1室1厅,2室1厅, ...

  9. 马哥Linux SysAdmin学习笔记(一)

    Linux入门 Linux系统管理: 磁盘管理,文件系统管理 RAID基础原理,LVM2 网络管理:TCP/IP协议,Linux网络属性配置 程序包管理:rpm,yum 进程管理:htop,glanc ...

随机推荐

  1. sqlldr trailing nullcols

    由于要导入到tmp_content表的一些列(列:要导入的源文件txt or csv文件)为空,也,按理讲我当时另存为(在windows处理)csv,以,分隔.就是这个列没有内容,也该显示, ,之类的 ...

  2. 设置Android Studio工程布局文件的默认布局

    每次创建新的工程后,布局文件的的布局总是ConstraintLayout,如何更改? 进入Android Studio安装目录,用文本编辑器打开文件plugins\android\lib\templa ...

  3. SQL JOIN连接分类[转]

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符):包括相等联接和自然联接: 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行:    2.外联接.外联接可以 ...

  4. HDU4513 吉哥系列故事——完美队形II Manacher算法

    题目链接:https://vjudge.net/problem/HDU-4513 吉哥系列故事——完美队形II Time Limit: 3000/1000 MS (Java/Others)    Me ...

  5. 织梦DEDE后台定时分时段自动更新发布文章插件

    定时审核插件使用说明 一.立信CPA培训注册会计师考试网站 以超级管理员身份登录后台,依次选择[核心]à [定时审核管理],输入定时审核的时间段,如下图所示: 功能说明: 1. 可以设置若干时间段,在 ...

  6. SpringMVC配置环境

    一,lib目录下加入spring一般所需的jar包 二,配置web.xml <?xml version="1.0" encoding="UTF-8"?&g ...

  7. codeforces B. Shower Line 解题报告

    题目链接:http://codeforces.com/contest/431/problem/B 题目意思:给出5 * 5 的矩阵.从这个矩阵中选出合理的安排次序,使得happiness之和最大.当第 ...

  8. mac系统下查看端口占用情况

    localhost:~ mhx$  lsof -i tcp:8080 COMMAND  PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NA ...

  9. 【CQ18阶梯赛第二场】题解

    [A-H国的身份证号码I] 用N个for语句可以搞定,但是写起来不方便,所以搜索. dfs(w,num,p)表示搜索完前w位,前面x组成的数位num,最后以为为p. 如果搜索到第N位,则表示num满足 ...

  10. 【转】Darwin Streaming Server 核心代码分析

    无意中看到了dqzhangp的一篇博客,分析了DSS的核心架构,读完顿时感觉豁然开朗,茅塞顿开,写得非常的鞭辟入里,言简意赅,我想没有相当的功力是写不出这样的文章的,情不自禁转到自己空间来,生怕弄丢了 ...