【我的Linux,我做主!】独立磁盘冗余阵列RAID分级及实现方式

计算机和网络技术的高速发展对存储性能和数据可靠性的要求不断提高。在企业环境中,当公司服务器同时有3000+的用户同时访问时,并且用户同时进行不同的文件读写的操作时,单个硬盘的读写性能有限,容易出现性能瓶颈。常见的并行接口硬盘中如早期的IDE硬盘最高只到达133Mbps,SCSI小型计算机系统接口硬盘的最高传输速率是320Mbps,目前主流的串行接口硬盘SATA接口硬盘中SATA1传输速率是300Mbps,SATA2传输速率是600Mbps,目前SATA3接口最高可以到达6Gbps。为了解决性能问题,早期使用SLED技术即Single Large Expensive Disk,但是由于价格昂贵,在企业中无法大面积应用。1987年美国加州大学伯克利分校Patterson,Gibson和Katz发表了一篇论文《A Case for Redundant Arrays of Inexpensive Disks(RAID)》,自此廉价磁盘冗余阵列的概念产生,但是在企业的实际应用中发现这种技术还是需要花费大量金钱支持,所以更名为Redundant Arrays of Independent Disks即独立磁盘冗余阵列。

【1】RAID的优势:
RAID在容量和管理上的优势
易于灵活的进行容量扩展
“虚拟化”使可管理性极大地增强
RAID在性能上的优势
“磁盘分块”技术带来性能的提高
RAID在可靠性和可用性上的优势
通过冗余技术和热备、热换提升了可靠性
【2】镜像冗余的概念:
镜像冗余使用了磁盘镜像技术;
磁盘镜像是一个简单的设备虚拟化技术,每个I/O操作都会在两个磁盘上执行,两个磁盘看起来就像一个磁盘一样;
镜像冗余可以提高磁盘的读性能。
【3】校验冗余的概念:
根据冗余算法计算阵列中成员磁盘上数据的校验信息,将校验信息保存在其他磁盘资源上;
保证数据可靠性;
和镜像冗余相比较,校验冗余的开销更小。
【4】RAID级别:
不同的RAID级别代表不同的存储性能,不同的数据可靠性,不同的存储成本
RAID0的工作原理:
RAID0是以条带的形式将数据均匀的分布在阵列的各个磁盘上,数据存储单位是CHUNK(条带),默认大小是64K。
性能表现:读写性能均提升
冗余能力:无
空间利用率:100%
至少2块磁盘

RAID1的工作原理:
RAID1以镜像为冗余方式,对虚拟磁盘上的数据做多份的拷贝,放在成员磁盘上。
性能表现:写性能下降,读性能提升
冗余能力:有
空间利用率:50%
至少2块磁盘

RAID5的工作原理:
RAID5采用独立存取的阵列方式,校验信息被均匀的分散在磁盘的各个磁盘上。
性能表现:读写性能均提升
冗余能力:有
空间利用率:(n-1)/n
至少3块磁盘

RAID10的工作原理:
RAID10采用先镜像,后条带化的方式组织阵列。
性能表现:读写性能均提升
冗余能力:有
空间利用率:50%
至少4块盘

除此之外常用的还有RAID50,JBod两种阵列,不常用的有RAID2、RAID3、RAID4等。
【5】RAID配置命令:
在企业中一般使用硬件RAID存储数据,不过Linux系统本身也提供RAID能力,这里我们以软件RAID的实现方式做相关演示
创建一个2G的RAID0设备示例:
#fdisk /dev/sda
解释:创建磁盘分区
n(新建分区)
+1G
n
+1G
t(调整分区类型)
5
fd(设置分区类型为RAID类型)
t
6
fd
w(保存退出)
#partprobe /dev/sda
解释:同步分区数据
#cat /proc/partitions
解释:查看分区是否同步成功
#mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda{5,6}
解释:-C表示进入创建模式,-a表示是否为其自动创建设备文件,-n表示设备个数,-l表示设置的RAID的级别
#cat /proc/mdstat
解释:查看当前系统所有启用的设备
#mke2fs -j /dev/md0
解释:高级格式化,将md0创建为ext3类型的文件系统
#mount /dev/md0 /mnt
解释:将RAID0挂载到/mnt的目录中,就可以开始使用这个设备了
#cd /mnt
解释:进入到/mnt的目录下,如果有看到lost+found文件,说明挂载成功
创建一个2G的RAID1设备示例:
#fdisk /dev/sda
解释:开始创建磁盘分区
n(新建)
+2G
n
+2G
n
+2G
t(调整类型)
7
fd(调整为RAID类型)
t
8
fd
t
9
fd
w(保存退出)
#partprobe /dev/sda
解释:同步磁盘分区信息
#cat /proc/partitions
#mdadm -C /dev/md1 -a yes -n 2 -l 1 /dev/sda7 /dev/sda8
解释:创建一个类型为RAID1,自动创建设备文件,并且设备的个数为2个的RAID1类型分区md1
#cat /proc/mastat
解释:显示当前系统所有启用的设备
#mke2fs -j /dev/md1
解释:高级格式化,将md1的文件系统类型设置为ext3
#mount /dev/md1 /media
解释:将md1的设备文件挂载到/media的目录下
模拟RAID1设备磁盘损坏示例:
#cp /etc/inittab /media/
解释:复制/etc下的一个文件到/media目录下
#mdadm -D /dev/md1
解释:查看RAID阵列的详细信息
#mdadm /dev/md1 -f /dev/sda8
解释:-f模拟磁盘损坏,将md1阵列中的sda8损坏
#mdadm /dev/md1 -r /dev/sda8
解释:将阵列md1中的磁盘-r删除
#mdadm /dev/md1 -a /dev/sda9
解释:添加新的硬盘sda9,可以看到sda9里信息会在一段时间后同步为sda7的数据
#mdadm /dev/md1 -f /dev/sda7
解释:将sda7磁盘模拟损坏
#umount /media
解释:卸载/media文件目录
#mdadm -S /dev/md1
解释:停止md1阵列
#rm /dev/mad1
解释:删除md1阵列后就彻底消失了
#mdadm -A /dev/md1 /dev/sda7 /dev/sda9
解释:重新装配sda7和sda9磁盘,组成md1阵列,但是由于sda7是坏的,所以md1中只有一个sda9磁盘
模拟RAID1设备热备、热换示例:
此时md1中只有一个磁盘sda9
#mdadm /dev/md1 -a /dev/sda8
#mdadm /dev/md1 -a /dev/sda7
解释:sda7进入阵列后显示的是空闲磁盘的状态
#mdadm /dev/md1 -f /dev/sda9
解释:模拟损坏磁盘sda9,之后sda7磁盘会自动顶上sda9的位置
#watch ‘cat /proc/mdstat‘
解释:周期性的执行指定命令,并以全屏方式显示结果
自动装配文件,无需指定磁盘:
#mdadm -D --scan > /etc/mdadm.conf
解释:将当前RAID信息保存至配置文件,以便以后进行装配
#mdadm -A /dev/md1
解释:无需再指定具体磁盘如sda7、sda9等

原文地址:http://blog.51cto.com/13613726/2082872

时间: 2024-10-11 03:29:16

【我的Linux,我做主!】独立磁盘冗余阵列RAID分级及实现方式的相关文章

【linux相识相知】独立硬盘冗余阵列-RAID

独立硬盘冗余阵列(RAID,Redundant Array of Independant Disks),旧称为廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks).1987年美国加州伯克利分校的一篇名为<A Case for Redundant Arrays of Inexpensive Disk(RAID)>论文诞生,这标志着RAID技术的开始. 那么什么是RAID呢?简单的来讲就是把多个硬盘组合起来,成为一个硬盘阵列组,操作系统会把它当做是一个硬盘,

raid独立磁盘冗余阵列

raid 0 并行i/o ,读写速度最快,不提供冗余.俗称条带模式. raid 1 将硬盘分为两组,互为镜像.一块硬盘出现故障,镜像硬盘立马工作.容错能力强,但是硬盘利用率只有50%. raid 3 让一块硬盘作为奇偶校验位,其余数据分别在其余硬盘里,速度没有raid快.当一块物理数据硬盘坏了,通过更换奇偶校验能找回数据.当校验硬盘出现故障,全部数据无法使用.硬盘利用率n-1 raid 5 每个硬盘里放入奇偶校验数据,允许单个硬盘出错. 下面是RAID设备创建和挂载例子 有四块硬盘/dev/sd

独立硬盘冗余阵列与HDFS

http://zh.wikipedia.org/wiki/RAID 独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称硬盘阵列.其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵.容量巨大的硬盘.根据选择的版本不同,RAID比单颗硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处

linux磁盘冗余阵列

RAID防止硬盘物理损坏以及增加存储设备的吞吐量,RAID常见的组合有0.1.5.和10 RAID0:至少需要两块硬盘,可以有效提高硬盘的性能和吞吐量,但没有数据的冗余和错误修复能力 将多块硬盘通过硬件或软件的方式串联在一起,成为一个大的卷集,将数据依次写到各个硬盘中,这样性能会极大提升, 但若任意一块硬盘故障则整个系统的数据都会受到破坏! RAID1:需要至少两块硬盘,可以有效的提高数据资料的安全性和可修复性,但成本却高了 在数据写入硬盘时也会在另一个闲置的硬盘上生成镜像文件,在不影响性能的情

硬盘与磁盘冗余阵列

这篇博客位于:http://xubenbenhit.github.io/HardDiskAndRAID.html 先来扯淡吧,圣诞节前几天一直在看一些论文,磁盘相关的,今天索性一次性写完,不然看了又忘记了. 1. 硬盘 硬盘的基础知识就不赘述了,什么磁头磁道扇区等等啦,看下图一目了然,不了然的话自己看书去.                         然后有一点需要明确一下,那就是磁盘保证对于扇区的更新操作都是原子的.每次写扇区要么全写进去了要么全没写进去.  下面写一些磁盘的调度算法吧.调

磁盘冗余列阵Raid技术知识与实践

Raid介绍 什么是Raid?  Raid级别介绍  Raid 技术分类 RAID分为两类: 软RAID, 系统层面实现的,性能差. 硬RAID, 硬件层面实现的,性能好. 主板板载RAID: 功能弱,一般支持 0    1 独立RAID卡,功能强,0,1,5,10     **********工作选择. LVM是软件层面实现的,性能太低.性能降低5%---10%  常用RAID级别细节说明  1)  RAID0 RAID0  2) RAID1 3) RAID5 RAID5描述    (中庸)

linux下磁盘管理机制--RAID

RAID(Redundant Array Of Independent Disks):独立磁盘冗余阵列.RAID的最初出现的目的是为了解决中小型企业因经费原因使用不起SCSCI硬盘,而不得不使用像IDE较廉价的磁盘情况下,将多块IDE磁盘通过某种机制组合起来,使得IDE磁盘在一定程度上提高读写性能的一种机制.当然,现在也可以将SCSCI类的磁盘也可以做成RAID来提高磁盘的读写性能. 一.RAID的级别 RAID机制通过级别来RAID级别来定义磁盘的组合方式.常见的级别有:RAID0,RAID1

Linux阵列 RAID详解 (转)

原文链接:http://molinux.blog.51cto.com/2536040/516008   一. RAID详解   二. mdadm工具介绍   三. 创建一个RAID的基本过程   四. 磁盘阵列的管理   五. RAID优化 RAID详解:   描述:RAID: (Redundant Array of indenpensive Disk) 独立磁盘冗余阵列: 磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘使用,它将数据以分段(striping)的方式储存在不同的磁盘中,存取数据时

Linux阵列 RAID详解

主要内容:(笔记总结--会不定时补充.修改,如有错误,欢迎指正探讨)    一. RAID详解   二. mdadm工具介绍   三. 创建一个RAID的基本过程   四. 磁盘阵列的管理   五. RAID优化 RAID详解:   描述:RAID: (Redundant Array of indenpensive Disk) 独立磁盘冗余阵列: 磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘使用,它将数据以分段(striping)的方式储存在不同的磁盘中,存取数据时,阵列中的相关磁盘一起 动作